目录
JAVA入门级教学之(面向过程和面向对象的区别)
面向过程和面向对象的区别:
-面向过程:
-面向对象:
-发展历程:
-生命周期中包括:
-什么是类:
-什么是对象:
-软件开发的过程:
-重点:
JAVA入门级教学之(面向过程和面向对象的区别)
面向过程和面向对象的区别:
-面向过程:
主要的关注点:具体的是实现过程,强调因果关系【集成显卡的开发思路】
*优点:对于业务逻辑比较简单的程序,可以达到快速开发,前期投入成本较低*缺点:难以解决复杂的业务逻辑
软件元素之间的“耦合度”非常高,其中一环出现问题,整个系统受到影响
没有独立体的概念,所以无法达到组件重复利用的功能
-面向对象:
主要的关注点:关注对象【独立体】能完成哪些功能。【独立显卡的开发思路】
*优点:耦合度低,扩展力强,更容易解决现实世界中复杂的业务逻辑。组件复用性强
*缺点:前期投入成本较高,需要进行独立体的抽取,大量的系统分析和设计
可以这样理解:面向对象其实就是你手头有一份任务,需要很多部门去执行,
如果用面向过程的方式去开发,那么就是将大家集合起来,然后告诉A部门要这样做,做到什么程度后交给B部门去做,B做到一定程度后又交给C部门去做,其中任何一环节出现问题,就会导致整个任务无法进行。
如果用面向对象的方式去开发,那么不用将大家集合起来,这时候就需要首先对任务进行深度分析,将任务拆分成各个部门都能做的事情,然后将任务一份一份分发给A、B、C部门,每个部门只需要知道自己部门应该去做什么就行,和上一个部门的联系不大,其中任意一个环节出现问题,其它的部门也能完成各自的任务。
-发展历程:
C语言是纯面向过程的-->c++半面向对象-->java纯面向对象
-人在认识现实世界的时候以面向对象的方式进行,符合人类的思维方式【各个元素组合完成大脑的构图】
面向对象的三大特征【先背熟】
*封装
*继承
*多态
所有面向对象的编程语言都有这三大特征
-生命周期中包括:
*面向对象的分析:OOA object-oriented analysis ,初步得出该oo的属性与方法
*面向对象的设计:OOD object-oriented design 整理和定义oo的属性和方法 以便能够被OOP直接接受
*面向对象的编程:OOP object-oriented programming 把组件的实现和接口分开,并且让组件具有多态性
类和对象的概念
-什么是类:
-类在现实世界中是不存在的,是一个模板,是一个概念。是人类大脑思考抽象的结果
-类代表了一类事物
-在现实世界中,如果对象A和对象B具有共同的特征,对其进行抽象总结出共同特点的一个模板,这个模板称为类
-什么是对象:
-对象是实际存在的个体。现实世界中实际存在。
-软件开发的过程:
*程序员先观察现实世界,从现实世界中寻找对象
*寻找了N多个对象后,观察总结这些对象都有的共同特征
*程序员在大脑中形成一个模板【类】
*JAVA程序员可以通过java代码来描述一个【类】
*JAVA程序中有了类的定义
*然后通过类就可以创建对象
*有了对象后,可以让对象之间协作起来形成一个整体的系统
类-->实例化-->对象
对象-->抽象化-->类对象又被称为实例化对象/instance
-重点:
类描述的是对象的共同特征
共同特征例如:身高体重
这个身高体重在访问的时候,必须先创建对象【不然你对着空气说话吗】
通过对象去访问这个特征。
因为这个特征具体到某个对象上之后,值不同。有的对象1.80,有的1.88.
一个类主要描述的是 状态+动作
-状态:一个类的属性
-动作: 一个类的方法
类{属性;描述对象的状态信息方法;描述对象的动作信息}注意:当状态和动作具体到某个对象上之后,发现最终的结果可能不一样