zoukankan      html  css  js  c++  java
  • init 的父类 和 子类的初始化

     设置可变传参的初始化方法

             -(instancetype) initwithHour :(int)h  and Minute :(int)m and second :(int) s;

            然后在实现部分

             -(instancetype) initwithHour :(int)h  and Minute :(int)m and second :(int) s;

            {

                self=[super init];

                if (self !=nil ) {

                     Hour=h;

                    Minute=m;

                    Second=s;

                }

            }

        然后下方主函数 main 里面进行直接赋值

            Time*tm2=[[Time alloc ]initwithHour :13  and Minute :30  and second :0 ];

            后台直接显示13:30:00

            

            

            

             重写 init  只需要在实现部分直接写 不需要在声明的.h文件重新声明

            init是 NSObject 的一个方法

            对于继承 于 NSObject 的类

            在为内存开辟空间的时候 只是初始化父类的元素 子类的元素需要重新初始化 初始化如下

            先初始化父类的部分

            self=[ super init ];

            //然后初始化自己的部分 先判断self 是否为nil nil 说明 父类初始化失败

            

            -(id) init  //id 是指向任意“对象”的类型  也可以填写instancetype 他只用在初始化里面进行

            {

                if (self=[super init]) {//super 是初始化父类的部分 如果父类初始化失败 那么self 是nil   self只是代表当前对象的一个指针 

                    {

                        m_M=10;

                        m_s=10;

                        m_H=20;

                    }

                    return  self;

                }

            

            }

        }

    }

  • 相关阅读:
    js函数柯理化
    Promise异步编程解决方案
    set和map结构,class类
    原创:用node.js搭建本地服务模拟接口访问实现数据模拟
    原创:微信小程序如何使用自定义组件
    原创:微信小程序开发要点总结
    Nodejs CMS——基于 NestJS/NuxtJS 的完整开源项目
    浅谈js对象之数据属性、访问器属性、Object.defineProperty方法
    Promise初步详解(resolve,reject,catch)
    原生js面向对象实现简单轮播
  • 原文地址:https://www.cnblogs.com/xzz5211314/p/5138363.html
Copyright © 2011-2022 走看看