封装、继承、多态



/* 别名
父类:基类、超类
子类:派生类、继承类
*/
——————————————————————

一、封装
    (方便创造数据结构)
  封装就是将数据或函数等集合在一个个的单元中(我们称之为类)。
  封装的意义在于保护或者防止代码(数据)被我们无意中破坏。相比将数据(用域来实现)在程序中定义为 public,将它们定义为 private在很多方面会更好。
私有的数据可以用两种方式来间接的控制:
    第一种方法,我们使用传统的存、取方法。
    第二种方法我们用属性(property)。使用属性不仅可以控制存取数据的合法性,同时也提供了“读写”、“只读”、“只写”灵活的操作方法。

@interface Person : NSObject {
    @private NSString *name;    //作用范围只能在自身类
    @protected int age;            //作用范围在自身类和继承自己的子类,不写默认就是此属性。
    @private NSString *passwd;    //作用范围在任何地方
}
——————————————————————

二、继承
    (可以减少代码的冗余)
1、C#中的继承符合下列规则:
    1.    继承是可传递的。如果C从B中派生,B又从A中派生,那么C不仅继承了B中声明的成员,同样也继承了A中的成员。Object类作为所有类的基类。
    2.    用@private修饰的不能被继承
 
2、super关键字
   super 关键字用于在派生类中访问基类的成员
——————————————————————

三、多态
    (重写、重载是多态的一种)
1、多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。
        
        编译时的多态性为我们提供了运行速度快的特点,而运行时的多态性则带来了高度灵活和抽象的特点。
2、实现多态:
    1.    接口多态性。
    2.    继承多态性。
    3.    通过抽象类实现的多态性。

(在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。)


posted @ 2014-03-22 21:46  进击的黑白熊  阅读(91)  评论(0编辑  收藏  举报