大家看了上一篇文章:
子衿:什么?你还没对象?your对象来了第一弹 之 面向对象zhuanlan.zhihu.com
之后 找到对象了吗?
还没找到没关系,文末给大家安排一波福利。
上一篇文章给大家介绍了什么是面向对象,那么,面向对象模式也就不难理解了。简单点说就是,比如你饿了,想吃饭。你可以去超市买菜买肉回来自己做,也可以定外卖。前者是面向过程,后者是面向对象。过程式模式易于理解和掌握,它的逐步细化问题的设计方法和大多数人的思维方式比较接近,它的表达能力很强,能用来实现各种复杂的数据结构的运算。但是呢,生活总会出现一些突发情况,比如你突然不想吃米了,想吃面。突发事件,在编程中就叫做需求变更或者新的需求,这种事情发生是必然会发生的。需求变更了,就要重新拼凑做饭的步骤了。而写程序就需要通读代码,了解解决问题的详细步骤,有些可以重用(不需要复制),不能重用的要重新写,所以有时候就比较麻烦。而面向对象就像定外卖,有什么需求下单备注或者打电话给商家,我们不关注商家做饭的过程,关注的是对象。可以把外卖软件当做是「对象」,我们是面向外卖软件(对象)“做饭”。面向对象把过程抽象为类,然后封装,方便我们使用。在面向对象编程中,抛弃了函数,想要实现一个功能不再是通过函数的叠加调用实现的了。而是通过对象。所以虽然不用我们自己做饭,需求变更也比较简单,但是饭的质量可能没有你自己做的好。所以他和面向过程相比,优点很多比如易维护等,缺点就是性能较差。C语言就是主流的过程式程序设计语言,C++则是面向对象。
上次我们介绍了面向对象的三大特征:封装、继承、多态。不知道的赶快回去看看。这次我们来介绍一下面向对象的五大基本原则。
1、单一职责原则
每一个类应该专注于做一件事情,不能太花心,这也做那也做,会出现混乱。2、开放封闭原则
面向扩展开放,面向修改关闭。可以扩展,但是不能修改。 3、里式替换原则
超类(父类)存在的地方,子类是可以替换的。比如大家都干过的 家长签字,你可以替你爸爸签。4、依赖倒置原则
高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。具体实现应该依赖于抽象,而不是抽象依赖于实现。就是你出国要说你是中国人,而不能说你是哪个村子的。比如说中国人是抽象的,下面有具体的省市县。你要依赖的是抽象的中国人,而不是你是哪个村的。 5、接口分离原则
设计时采用多个与特定客户类有关的接口比采用一个通用的接口要好。就比如一个电脑拥有USB接口、电源接口,音响接口,把这几个功能拆分成不同的接口,比在一个接口里要好的多,可以减少维护的精力。
觉得文章还不错的记得点赞加关注哦~
福利在此:链接: https://pan.baidu.com/s/1gC-qhOrUCu0_E7tkIh9sEg
C/C++学习资料pan.baidu.com
提取码: bnu2