黑马程序员-OC-继承

------- android培训java培训、期待与您交流! ----------

继承:

1,基类的私有属性能被继承,但不能被使用

2,OC继承是单继承,也就是一个类只能继承一个父类,不能继承多个父类。

方法重写

方法的重写,从父类继承的方法,可能这个方法并不适合子类,可以在子类中重写父类的方法。


注意事项:

1,子类不能定义和父类同名的变量,但是可以继承父类的变量

2,OC类支持单一继承,不支持多继承。

3,OC支持多层继承

继承的目的

1,从面向对象的角度来看,是为了建立一种类的层次关系,更接近于现实世界,因为面向对象不是源于某一种语言,而是源于现实世界。

2,从程序的角度,继承的目的是建立类的层次关系后实现多态。目的是多态。代码的重用性,灵活性只是继承机制带来的好处,或者优点。


方法的重写

方法的重写,从父类继承的方法,可能这个方法并不适合子类,可以在子类中重写父类的方法。 

@interface Animal : NSObject {
int _tuiNum; //退的个数
int _eyeNum; //眼睛个数 }
-(void)setTuiNum:(int)tuiNum; -(void)setEyeNum:(int)eyeNum; -(int)tuiNum;
-(int)eyeNum;
-(void)eat; -(void)run;


#import "Animal.h" 
@interface Dog : Animal {
}
-(void)eat; //覆盖父类的eat的方法 @end

方法重写后,在方法中可以通过super来调用父类方法。
@implementation Dog
-(void)eat{
[super eat];
}
@end

继承体系中方法调用顺序

1、在自己类中找
2、如果没有,去父类中找
3、如果父类中没有,就去父类的父类中

4、如果父类的父类也没有,就还往上找,直到找到基类(NSObject)

5、如果NSObject也没有就报错了 


变量修饰符在子类中的访问

1)@private私有成员是能被继承,不能被外部函数访问。 

2)@public公有成员能被继承,也能被外部方法访问。 

3)@protected保护成员能够被继承、在子类中使用,但不能够被外部函数访问。

实例变量作用域使用注意事项

(1)在@interface @end之间声明的成员变量如果不做特别的说明,那么其默认是protected

(2)一个类继承了另一个类,那么就拥有了父类的所有成员变量和方法,注意所有的成员变量它都拥有,只是有的它不能直接访问。 


description方法重写
 

-------  android培训 java培训 、期待与您交流! ----------



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值