多态:用父类类型的指针指向了子类对象,就是多态 l 没有继承就没有多态(前提) l 父类的指针指向了子类对象(多态的代码体现) l 多态的存在提高了程序的扩展性(优点) l 父类类型的指针不能调用子类对象的特有方法,如果想调用子类特有方法必须强制转换为子类类型(局限性)
注意:不要把父类类型强制转换为子类类型 成员变量作用域:
l 默认情况下所有属性都是protected的 l 当属性是public、private、protected的时候,可以在本类的对象方法中直接访问 l 当是public的时候,可以在其它文件中直接访问;当是private、protected的时候,在其它文件中不能直接访问 l 在子类中可以访问父类中public、protected修饰的成员变量 l 在子类中不可以访问父类中private修饰的成员变量 OC特有语法: 属性生成器:@property @synthesize @property : 用来自动生成成员变量的get/set方法声明(4.4以前) >告诉property要生成get/set方法声明的成员变量类型是什么
>告诉property要生成的get/set方法是哪个属性的,属性名称去掉下划线
@property增强 : Xcode4.4以后property做了增强: >帮助我们自动生成get/set方法的声明 >帮助我们自动生成get/set方法的实现 >如果没有手动声明成员变量,property会在 .m 文件中自动帮我们生成一个_ 开头的成员变量
>注意:如果想让子类继承父类的成员变量,还是必须手动写成员变量。
|