父类 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