【继承】指定初始化方法【便利构造器】

本文介绍Objective-C中的继承特性、方法类型及初始化过程。包括父类、子类的关系,类方法与实例方法的区别,初始化方法的作用及指定初始化方法的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


父类 SuperClass
子类 SubClass
根类 NSobject
除了私有的实例变量外 子类拥有父类的全部内容
继承具有传递性B继承A,C继承B,则C也有A的全部内容
+  类方法,类来调用, 不能写实例变量  意思是:不需要创建对象 , 就可以调用的方法( java中 称用类调用的方法为 静态方法)
-   实例方法,对象来调用 


//所有都代表是 对象
    //%@用来打印所有对象类型
    //-号方法只能对象来调用
    //+号方法只能使用类名来调用

初始化方法是 - 号方法
id可以代表所有对象类型, 可以用 id 定义 所有的对象类型 - (id)

self 只有一个作用: 调用自身的方法
self 谁调用,self就是那个对象本身  是  指向自己的本身
self 始终代表调用  本self所在的方法中的  对象
super 在OC中就一个作用: 调用父类中的方法(非自身) 不是指针

一个类 可以有 多个  初始化方法 
其中一定会被调用的初始化方法 称为 指定初始化方法


方法的调用 在OC中称为消息表达式[receiver message]开发主要依靠消息机制支撑

父类子类指定初始化方法中每个实例变量都要写

(在子类的指定初始化方法中勿忘了写self = [super initWithName:aName level:aLevel memory:aMemory version:aVersion type:aType];此为父类调用自己的初始化方法,此意义为子类父类各自赋自己的值(或者说自己只给自己的实例变量初始化),互不干扰)

其他初始化方法在{ }中都可以直接写 return [self initWithColor:aColor weight:aWeight size:aSize thick:0 function:nil name:nil user:nil];因为都要调用指定初始化方法,省略了好多与初始化方法中一样的代码

另外: 输出函数的格式,决定了子类和父类的输出内容,子类可重写父类的方法,调用将执行自己(子类)的方法, 而且也不需要声明

便利构造器可以定义相应类的对象,然后返回此对象,或者直接用 类调用(指定)初始化方法, 也可以使用自动释放

要想利用release ; retain ; retainCount; autoRelease;
必须把XCode的ARC模式改为NO
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值