黑马程序员技术交流社区
标题: 多态 [打印本页]
作者: qinyawan 时间: 2015-11-24 14:14
标题: 多态
多态:用父类类型的指针指向了子类对象,就是多态
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 文件中自动帮我们生成一个_ 开头的成员变量
>注意:如果想让子类继承父类的成员变量,还是必须手动写成员变量。
| 欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |