继承

一、继承的注意事项:

1)子类中不能定义与父类同名的成员变量,但是可以继承父类的变量

(除了定义在父类中的私有成员变量)

2)OC类中,支持单一继承,但是不支持多继承

@interface Dog :Animal,Cat {}(❌)

3)OC支持多层继承

 

二、继承体系中方法调用

1、在自己类中寻找

2、如果没有,在父类中寻找

3、如果父类中没有,在父类的父类中找

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

5、如果基类中也没有的话,就直接报错

 

三、总结:

1、继承的目的:

降低代码冗余

 

2、继承的效果:

子类从父类中继承,就代表子类无条件拥有父类的全部成员

 

3、什么时候需要使用继承:

当多个类具有相同的成员时,可以使用继承减少代码冗余

把共同的成员定义在父类,让子类去继承

 

4、继承的准则:

不要为了仅仅只是得到某一类的成员而去继承

不要为了继承而继承

语法上其实人意的类之间都是可以继承的

情理、逻辑上并不是任意的类之间都可以继承的

只有满足isa关系对象的才可以拥有继承关系

当A类时1个B类的时候,这时候A类才可以从B类中去继承

只有子类是1个父类的时候,才可以继承

 

5、继承的特点:

1)单根性:

OC中的类只能有1个父类,不能有多个父类

2)传递性:

如果A类继承自B类,B类又继承自C类

那么A类同时继承B类和C类

 

当然父类无法继承子类

 

转载于:https://www.cnblogs.com/CityPe/p/6378244.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值