美文网首页
IOS学习笔记之继承和类别的区别

IOS学习笔记之继承和类别的区别

作者: 语安月月鸟 | 来源:发表于2016-08-24 11:29 被阅读62次

类别

类别:类别是对一个功能完备的类的一种补充,就像是一个东西的主要基本功能都完成了,可以用类别为这个类添加不同的组件,使得这个类能够适应不同情况的需求。比如animal这个类,具有eat和run等方法,想给这个类添加一个bark的方法,可以用类别。

继承

继承:多个类具有相同的实例变量和方法时,考虑用继承。即子类可以继承父类的相同特性。如animal具有年龄和体重两个属性,dog也具有年龄和体重两 个属性,dog可以继承animal的这两个属性,即为继承。

共同点:都是给一个类进行扩展,可以给一个类拓展新的方法,或修改已有的方法

区别:

1.类别是对方法的扩展,不能添加成员变量。继承可以在原来父类的成员变量的基础上,添加新的成员变量

2.类别只能添加新的方法和修改(覆盖)原来的方法,而不能删除原来的方法。继承可以增加、修改和删除方法。       以viewController举例,继承一个viewController相当于建立一个新的页面;而给一个viewController添加类别用于增加或修改原viewcontroller上的方法。

3.类别不提倡对原有的方法进行重载。继承可以通过使用super对原来方法进行重载。

4.类别可以被继承,如果一个父类中定义了类别,那么其子类中也会继承此类别。

5、理论上类别不能增加新属性。

相关文章

  • IOS学习笔记之继承和类别的区别

    类别 类别:类别是对一个功能完备的类的一种补充,就像是一个东西的主要基本功能都完成了,可以用类别为这个类添加不同的...

  • ios学习笔记一类的继承关系

    ios学习笔记一类的继承关系

  • (十)分类与继承

    前言 无言 一、继承 继承这个只要写ios应该都会遇到,毕竟自己创建的类都是继承自系统自带的类的。继承与分类的区别...

  • OC中继承和类别的区别:

    OC中继承和类别的区别: 联系: 可以给一个类扩展新的方法,或修改已用的方法; 区别: (1)继承修改的方法不会对...

  • 10.26学习总结

    今天学习了多态和抽象类。 多态学了虚方法、方法的重写,多态和继承的区别,重写和隐藏的区别。 抽象类学了抽象类的方法...

  • 继承和类别的区别

    在Objective-C中,给一个类扩展一个其它方法,有两种实现方式:类别和继承。1.继承Inherit这个是面向...

  • 继承和类别的区别

    在Objective-C中,给一个类扩展一个其它方法,有两种实现方式:类别和继承。 1.继承Inherit 这个是...

  • 继承和类别的区别

    OC中protocol、category和继承的区别以前还是有点迷糊,面试的时候说的有点混乱,现在结合一些资料总结...

  • Java面向对象

    Java和iOS的面向对象大体上没有什么区别,有几点需要注意: 抽象类 接口类 多继承 重载 对象 接口 包

  • ios-UI-基本控件之继承关系(部分)

    ios-UI-基本控件之继承关系(部分) 所有的类都继承与NSObject 继承与UIResponder的子类 U...

网友评论

      本文标题:IOS学习笔记之继承和类别的区别

      本文链接:https://www.haomeiwen.com/subject/pvznsttx.html