您的位置:首页 > 编程语言 > C语言/C++

OC语言-三大特性之封装继承多态

2015-07-28 08:27 309 查看
一、封装
1.封装:把具体的对象抽象化、把相同类型的对象抽象成一个类。
封装:抽象出具体对象的特征 隐藏内部实现内部变量的安全性,提高代码的复用性、可读性。
2.封装的好处:
1)可以提升代码的复用性(重复使用);
2)提高了代码的安全性;
3)提高的代码的可读性
二、继承
1.继承:子类 拥有父类的全部属性和方法。
1)子类:就是继承的类。
2)父类、超级类:被继承的类。
3)子类独有的 父类不能使用。
4)子类 可以拓展 父类的 方法和属性 同时也可以添加变量。
示例:
1)@interface classA : NSObject
创建一个classA类,它的超类是NSObject(最基础的类)。我们再创建一个classB类,它的超类是classA;
2)@interface classB:classA
classB类将从classA类那里继承所有实例变量和方法。它们继承的方式如示意图。
2.继承的好处:
1)创建大量相似类的时候,可以节省工作量。
2) 使用框架中的类,或已经写好的类,继承该类,生成一个派生类,比原类更好用。
注意:NSString NSArray NSDictionary 不能被继承

3.问题: OC里面有没有多继承?
答:OC里面没有多继承,但是可以多级继承。

三 、多态
1.多态:一个事物的多样性。一个事物 同一个方法表现出 不同的状态。
多态:同一事物的多样性 同一个方法 有不同的实现(相同的名称,不同的类)
1)如果父类 拥有的方法;
2)子类不希望使用那种实现方式 可以重写这个方法。
例:父类中实现的方法
- (void)life{
NSLog(@"%@活着", self.name);
}

子类中实现的方法
- (void)life{
// 调用父类本身的方法 添加自己独特的方法
[super life];
NSLog(@"%@是个人类 活着", self.name);
}
2.子类从父类继承方法,但是有时候,父类的方法,不适合子类,那么子类就可以写一个自己同名的方法,覆盖掉,父类的那个方法,叫做重写。
注意:不能通过继承删除或减少方法。
3.同一个接口,不同的实现。称为多态。重写是多态的一种。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: