对于面向对象的理解总结

关于面向对象的理解总结

耦合度:
关联程度强:彼此都离不开
关联程度弱:没有你可以完全灵活切换 eg:鼠标坏了可以再买一个、屏幕坏了也可以换一个
追求:低耦合(解耦合),高扩展力(采用面向对象)
一、面向对象:关注点是对象,有独立体(即对象)能完成那些功能,可以不关心底层,直接用对象
现在出现的一些新的编程语言多数都是面向对象的,人在认识现实世界的时候以面向对象的方式,面向对象更符合人的思维方式
eg:想象一个人抽烟的场景:需要一个人(具有会抽烟的行为),一支烟(具有烟的属性),一个打火机(具有点燃东西的行为)
分析:想象中的这个场景中至少需要这三个独立个体才能完成,之所以独立,是因为,人可以换,火机可以换,烟可以换,但又紧密联系在一起,需要这三种对象才能完成这个场景
面向对象就是将现实世界分割成不同的单元,每个单元都是一个独立的对象,给一个环境驱动让各个对象协作起来就可以成为一个系统。
优点:耦合度低,扩展力强更容易解决现实世界中更复杂的业务逻辑,组件复用性强
缺点:前期投入成本较高,需要进行独立体的抽取,大量的系统分析与设计

二、面向过程:步骤中因果关系的实现,没有独立体的概念;关注的点实现的具体过程 ,过程即因果关系
小的因果关系构成步骤,步骤之间因为因果关系构成模块,模块之间因为因果关系构成一个系统,只要有一个因果关系出现问题,开发出来的整个软件都会受到影响
优点:对于业务逻辑比较简单的程序可以达到快速开发,前期投入成本较低
缺点:采用面向过程的方式开发很难解决非常复杂的业务逻辑,另外面向过程的方式导致软件元素之间的耦合度非常高,只要其中一个环节出问题,整个系统都会受到影响,导致最终的软件扩展力差。由于没有独立体的概念,所以没有组件复用性的功能,所以无法达到软件复用

eg:蛋炒饭和盖饭
蛋炒饭:没有独立体的概念,完全揉和在一起,如果想临时不吃鸡蛋只吃米,就没 有办法,只能重新做一份------>耦合度太强,很难剥离出来,很难扩展**
盖饭:讲究对象:一份饭,一份菜,临时想换一个口味,只用换一份菜,不用完全重新做
C语言是纯面向过程,C++半面向对象、java纯面向对象
三、面向对象的三大特征:
采用面向对象的方式开发一个软件,生命周期中(整个生命周期中贯穿使用oo面向对象方式):
面向对象的分析(OOA)
面向对象的设计 (OOB)
面向对象的编程 (OOP)
1.封装
2.继承
3.多态

四、类和对象
java程序员在软件开发中起什么作用?
起到一个转换的作用,或者说是一个桥梁:现实世界与虚拟世界的桥梁。所有软件都是为现实世界服务,现实世界与虚拟世界是一一对应的,将现实世界中观察到的事物在程序中实现,在java程序中模拟现实世界,现实生活中个体与个体之间是怎么联系的,在程序中就应该体现为对象与对象之间的协作。
1.类:高度抽象总结的一个具有共同行为特征的模板,是一个抽象的总结
理解:类在现实生活中是不存在的,是一个抽象的概念,是人类大脑思考抽象的结果。类代表了一类事物。在现实世界中,对象A与对象B之间具有共同特征,进行抽象总结出的一个模板,这个模板就是类
2.对象:现实世界真实存在的个体
理解:是某一个类的具体实例,例如学生类里面有一个学生张三,张三就是一个学生对象,是真实存在的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值