OC语法中static关键字不能修饰属性,也不能修饰方法,只能修饰方法中的局部变量。static修饰局部变量之后把局部变量变成静态变量。当方法执行完之后这个变量不会被回收。下次再执行这个方法的时候这个变量还在。
self是个指针,在对象方法当中,self指向当前对象。所以可以使用self来显式地访问当前对象的成员。可以使用self来访问当前对象的属性,也可以使用self来调用当前对象的其他的对象的方法。
父类的成员对于子类来讲,也是属于子类的。所以父类的成员在子类的方法中也可以使用self来调用。Student类从Person类继承,Person类里面的东西就相当于属于子类Student。
在类方法当中self指向当前的类。在类方法当中使用self来显式地去调用当前类的其他的类方法。
重头戏:继承。为什么要有继承?因为多个类具有相同的成员。继承的目的是儿子类想要拥有父亲的所有成员。所以儿子类就去继承一下。
继承的效果:Student从Person继承有什么效果?子类从父类继承,意味着子类当中就拥有了父类当中所有的成员。
实际上从语法上来讲是个类都能继承,随便怎么继承都可以,但是从情理上来讲、从逻辑上来讲必须要满足is a关系的类它们才可以拥有继承的关系。当学生是一个人,所以学生可以从人去继承。
继承的特点有两个:一个类只能有一个父类,传递性就是儿子拥有爸爸的东西同时也拥有爷爷的东西。
NSObject类:OC当中的类都是从NSObject类继承。NSObject类是我们OC当中所有类的祖宗类。