黑马程序员技术交流社区

标题: 面向对象编程的特性 [打印本页]

作者: wx_pNOonoEG    时间: 2015-8-16 23:34
标题: 面向对象编程的特性
1)封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式
2)继承:子类拥有了父类的属性和方法
3)多态:是某一类事物的多种形态(用父类的指针指向子类的对象)

封装
好处:1.将变化隔离  
         2.便于使用  
         3.提高重用性  
         4.提高安全性
原则:1.将不需要对外提供的内容都隐藏起来
         2.吧属性都隐藏,提供公共方法对其访问

继承
格式:@interface Cat : Animal
         @end
派生:父类向下产生子类的过程称为派生
注意:1.子类不能定义和父类同名的变量,但是可以继承父类的变量和属性
           使用@private修饰的成员变量,可以被子类继承,但不能访问
         2.OC类支持单一继承,不支持多继承(会用协议和分类替代)
         3.OC支持多层继承(Animal<—Dog<—BigYellowDog)
         4.子类可以直接使用从父类继承的属性和方法
            子类可以调用子类的方法,也可以调用父类的方法(super)
         5.子类可以定义和父类同名的方法(方法的重写)
         6.方法的执行顺序:先执行子类的->找父类->父类的父类->NSObject-.报错


多态
形式:Animal *ani = [Dog new]
条件:1.有继承关系
         2.有方法的重写
注意:1.如果存在多态,父类是可以访问子类特有的方法的
         2.如果不存在多态,父类是不可以访问子类特有的方法的
作者: 第一梦    时间: 2015-8-17 00:00
刚刚开始学面向对象的编程,有点不习惯




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2