面向对象
面向对象是一种程序设计的范型,同时也是一种程序开发的方法。面向对象是将现实世界中的事物抽象成对象,现实世界中的关系抽象成类、继承,帮助人们实现对现实世界的抽象与数字建模。
面向对象更利于人的理解方式,对复杂的系统进行分析、设计与编程。此外,面向对象能有效的提高编程的效率,通过封装技术、消息机制可以快速的搭建出一个系统。
面向对象的主要内容:对象、类、方法。
面向对象的语言是高级的语言,如Java、c++、c#、OC等
面向对象的三大特征:继承、封装、多态。
继承:子类自动共享父类非私有数据结构和方法的机制,是类之间的一种关系。
继承是面向对象语言特有的,面向过程的语言不具有继承特性,OC是单继承。
继承提供了类的规范等级结构,使公共的特性能够共享,提高的软件的重用性。
类的继承性使所建的软件具有开发性、可扩充性,简化了对象、类的创建工作量,提高了代码的重用性。
封装:在面向对象的语言中,对象、类、方法都是一种封装,对象是封装的最基本单位。
类的封装体现在每个类都有.h和.m两个文件,将定义与实现分开,.h声明(用户可见的外部接口),.m实现(用户不可见的内部实现)。
方法的封装,是最常见的,每个方法中封装了一个小的功能,这是单一职责的很好体现,第三方框架和代码也是一种封装。
封装使程序的结构更加清晰,将实现的信息封装隐藏,用的时候直接调用封装好的方法或类,提高效率。此外,可以减少程序间的相互依赖。
多态:用父类指针指向子类的对象。通过不同的对象调用相同的名称的方法,却产生不同的结果。
通过父类指针得到的几个对象,都调用了父类中某个方法,但实际上在运行的时候,是执行的自己真实类中的方法。
多态增强了软件的灵活性和重用性。
作者:那些温暖的小情话
链接:https://www.jianshu.com/p/af8b4391500b
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
网友评论