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;

                }

            

            }

        }

    }

  • 相关阅读:
    前端之CSS:属性操作2
    前端之CSS:属性操作1
    前端之CSS:CSS选择器
    前端之HTML:表单操作
    前端之HTML:HTML
    SQLAlchemy的使用(SQLAlchemy 是一种对象关系映射模型(Object Relational Mapper), 简称ORM。)
    IO多路复用
    协程
    线程的那些事儿
    并发编程的那些事儿(四)
  • 原文地址:https://www.cnblogs.com/xzz5211314/p/5138363.html
Copyright © 2011-2022 走看看