面向对象-面向对象介绍
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.语言的分类
面向机器
抽象成机器指令,机器容易理解
代表:汇编语言
面向过程
做一件事情,排出个步骤,第一步干什么,第二步干什么,如果出现情况A,做什么处理,如果出现了情况B,做什么处理。
问题规模小,可以步骤化,按部就班处理。
代表:C语言
面向对象OOP
随着计算机需要解决的问题的规模扩大,情况越来越复杂。需要很多人、很多部门协作,面向过程编程不太适合了。
代表:C++、Java、Python,Golang,JavaScript等
二.面向对象的概述
1>.理解面向对象
面向对象是相对于面向过程而言,面向对象和面向过程都是一种思想。
面向过程强调的是功能行为,面向对象将功能封装进对象,强调具备了功能的对象。
面向对象是基于面向过程发展而来的。
我个人理解面向对象和面向过程的本质区别在于:
面向对象编程时,这个"对象"本身是可以存储数据的,而面向过程中的"函数"当该函数被调用完成后发生弹栈时它的生命周期就意味着结束了,无法像对象那样可以保存各种数据。
面向对象编程时,可以封装各种功能,便于调用,且基本上面向过程中的"函数"能实现的所有功能在面向对象中的全能实现。
2>.面向对象的特点
是一种复合人们思考习惯的思想;
可以将复杂的事情简单化;
将程序员从执行者转换成了指挥者。
完成需求时:
先去找具有所需的功能的对象来用;
如果该对象不存在,那么创建一个具有所需功能的对象;
这样简化了开发并提高了复用性。
三.面向对象的特征(三要素)
封装 组装:
将数据和操作组装到一起。 隐藏数据:
对外只暴露一些接口,通过接口访问对象。比如驾驶员使用汽车,不需要了解汽车的构造细节,只需要知道使用什么部件怎么驾驶就行,踩了油门就能跑,可以不了解其中的机动原理。 继承 多复用,继承来的就不用自己写了 多继承少修改,OCP(Open-closed Principle),使用继承来改变,来体现个性 多态 面向对象编程最灵活的地方,动态绑定 举例: 人类就是封装; 人类继承自动物类,孩子继承父母特征。分为单一继承、多继承; 多态,继承自动物类的人类、猫类的操作"吃"不同。
温馨提示:
本篇博客只是简单了解什么是面向对象及其特点,后续博客会分享实战案例。