面向对象和面向过程的区别?以及各自的优势?
面向过程:主要关注点是:实现的具体过程,因果关系【集成显卡的开发思路】
优点:对于业务逻辑比较简单的程序,可以达到快速开发,前期投入成本较低。
缺点:采用面向过程的开发方式很难解决非常复杂的业务逻辑,面向过程导致软件元素之间的“耦合度”非常高,其中一个环出问题,整个系统受到影响,导致最终的软件“扩展力”差,另外,由于没有独立体的概念,所以无法达到组建复用。
面向对象:主要关注对象【独立体】能完成那些功能。【独立显卡的开发思路】
优点;耦合度低,扩展能力强。更容易解决现实世界当中更复杂的业务逻辑。组件复用性强。
缺点:前期投入成本较高,需要进行独立体的抽取,大量的系统分析与设计。
c语言是纯面向过程的,c++半面向对象,java纯面向对象。
面向对象的三大特征:
封装
继承
多态
采用面向对象的方式开发一个软件,生命周期当中:【整个生命周期中贯穿使用OO面向对象方式】
面向对象的分析:OOA
面向对象的设计:OOD
面向对象的编程:OOP
类和对象的概念
类:
类在现实世界当中是不存在的,是一个模板,是一个概念,是大脑思考抽象的结果。
类代表一类事物。
在现实世界当中,对象A与对象B之间具有共同特征,进行抽象总结出一个模板,这个模板被称为类。
对象:
对象是实际存在的个体,现实世界当中实际存在。
类–【实例化】–>对象
对象又被称为实例/instance
对象–【抽象】–>类
一个类主要描述什么信息?
一个类主要描述的状态 + 动作。
状态信息:名字,身高,性别
动作信息:吃,唱歌、跳舞
状态—一个类的属性
动作—一个类的方法
jvm内存分析