面向对象概述

​面向对象概述

活动地址:CSDN21天学习挑战赛

面向对象和面向过程的区别?

从语言方面出发

​ 对于C语言来说,是完全面向过程的

​ 对于C++语言来说,是一半面向对象,一半面向过程的

​ 对于Java语言来说,是完全面向对象的

什么是面向过程的开发方式?

​ 面向过程的开发方式的主要特点是:

​ 注重步骤,注重的是实现这个功能的步骤

​ 第一步干什么

​ 第二部干什么

​ 、、、

​ 另外面向过程也注重实现功能的因果关系

​ 因为A所以B

​ 因为B所以C

​ 因为C所以D

​ 、、、

面向过程有什么缺点
面向过程最主要的是每一步与每一步的因果关系,其中A步骤因果关系到B步骤,A和B联合起来形成一个子模块,子模块与子模块之间又因为因果关系结合在一起,假设其中任何一个因果关系出现问题(错误),此时整个系统的运转都将出现问题。(代码和代码之间的耦合度太高,扩展力太差)

面向过程的优点

​ 对于小型项目,采用面向过程的方式进行开发,效率较高。不需要前期进行对象的提取,模型的建立。

什么是面向对象的开发方式?

采用面向对象的开发方式进行开发,更符合人类的思维方式。人类就是以”对象“的方式去认识世界的,所以面向对象更容易让我们接受。面向对象的编程思想:按照真实世界客观事物的自然规律进行分析,客观世界中存在什么样的实体,构建的软件系统就存在什么样的实体。

例如:在真实世界的学校里,会有学生和老师等实体,学生有学号、姓名、所在班级等属性(数据),学生还有学习、提问、吃饭和走路等操作。学生只是抽象的描述,这个抽象的描述称为“类”。在学校里活动是学生个体,即:张同学、李同学 等,这些具体的个体称为“对象”,“对象”也称为“实例”。

在现实世界有类和对象,面向对象软件世界也会有,只不过它们会以某种计算机语言编写的程序代码形式存在,这就是面向对象编程(ObjectOriented Programming,OOP)。作为面向对象的计算机语言——Java,具有定义类和创建对象等面向对象能力。

OOA:面向对象分析(Object-Oriented Analysis)
OOD:面向对象设计(Object-Oriented Design)
OOP:面向对象编程(Object-Oriented Programming)

面向对象三个基本特性

注意:Java只是面向对象编程语言中的一种。

面向对象思想有三个基本特性:封装性继承性多态性。 (这个很重要,一定要记住)

封装性

在现实世界中封装的例子到处都是。例如:一台计算机内部极其复杂,有主板、CPU、硬盘和内存,而一般用户不需要了解它的内部细节,不需要知道主板的型号、CPU主频、硬盘和内存的大小,于是计算机制造商将用机箱把计算机封装起来,对外提供了一些接口,如鼠标、键盘和显示器等,这样当用户使用计算机就变非常方便。那么,面向对象的封装与真实世界的目的是一样的。封装能够使外部访问者不能随意存取对象的内部数据,隐藏了对象的内部细节,只保留有限的对外接口。外部访问者不用关心对象的内部细节,使得操作对象变得简单。

继承性

在现实世界中继承也是无处不在。例如:轮船与客轮之间的关系,客轮是一种特殊轮船,拥有轮船的全部特征和行为,即数据和操作。在面向对象中轮船是一般类,客轮是特殊类,特殊类拥有一般类的全部数据和操作,称为特殊类继承一般类。在Java语言中一般类称为“父类”,特殊类称为“子类”。提示 在有些语言如C++支持多继承,多继承就是一个子类可有多个父类,例如,客轮是轮船也是交通工具,客轮的父类是轮船和交通工具。多继承会引起很多冲突问题,因此现在很多面向对象的语言都不支持多继承。Java语言是单继承的,即只能有一个父类,但Java可以实现多个接口,可以防止多继承所引起的冲突问题。

多态性

多态性是指在父类中成员变量和成员方法被子类继承之后,可以具有不同的状态或表现行为。有关多

态性详细解释,请关注博主后续文章。

总结

面向过程和面向对象更多的是一种思想,认识世界和实现功能的解决方案。

在这里插入图片描述

感觉不错的话,动手点个赞吧!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

守夜人st

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值