美文网首页
面向对象有哪些特征

面向对象有哪些特征

作者: 落魄的iOS程序员 | 来源:发表于2021-03-19 23:23 被阅读0次

    1、继承

            继承是新建一个类A继承类B,B就是A的父类,那么A将拥有B的全部属性和方法,列入Objective-C中基类是NSObject,大部分的类都继承与他。当然继承的好处就是我们可以直接调用父类的方法和属性,我们再是用继承的时候需要注意,如果我们在子类重写父类方法时,我们需要使用super,这样我们拥有父类的功能和自己子类新添加的功能,如果不实用super,那么父类方法将被覆盖(当然不建议这么做,这样已经失去了继承的意义)。

            需要注意的是OC中是但继承,也就是一个类只能直接继承一个父类,子类不能定义与父类同名的变量,父类的类方法也是可以被继承和重写的。

    2、封装

            封装是将数据和操作数据的方法绑定起来,外界对数据的访问只能通过接口,可以说封装就是隐藏一切可隐藏的东西,对外只提供一个简单的编程接口。

            在OC中封装其实就是将接口定义在.h文件的Interface里面,在.m文件的implementation里实现其功能,完成之后我们将interface里的接口对外开发并告诉外界这个接口实现什么功能,需要传入什么参数。

    3、多态

            多态分为编译时的多态和运行时的多态,方法的重载实现的是编译是的多态,方法的重写实现的是运行时的多态,要实现多态需要两个条件:1)子类继承父类并重写父类已有的方法;2)用父类型对象应用子类对象方法,这样调用一个方法即实现了不同的功能.

            例如:定义类A,B和C继承A,在A中定义了一个方法,在B和C分别实现了这个方法,现在我们创建A的对象a分别指向B和C,在用a来调用B和C实现的方法,那么将得到了不同的结果

    相关文章

      网友评论

          本文标题:面向对象有哪些特征

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