面向对象【java语言的核心机制,最重要的内容,java语言的特点】
面向对象和面向过程的区别
面向过程:主要关注点是:实现的具体过程,因果关系【集成显卡的开发思路】
优点:对于业务逻辑比较简单的程序,可以达到快速开发,前期投入成本较低
缺点:采用面向过程的方式开发很难解决非常复杂的业务逻辑,另外面向过程的方式导致软件元素之间
的“耦合性”非常高,只要其中一环出问题,整个系统受到影响,导致最终的软件“扩展力”差,
另外,由于没有独立体的概念,所以无法达到组件复用
面向对象:主要关注点是:主要关注对象【独立体】能完成哪些功能。【独立显卡的开发思路】
优点:耦合度低,扩展力强,更容易解决现实世界当中更复杂的业务逻辑,组件复用性强
缺点:前期投入成本较高,需要进行独立体的抽取,大量的系统分析与设计
面向对象思想特点
【1】是一种更符合我们思想习惯的思想
【2】可以将复杂的事情简单化
【3】将我们从执行者变成了指挥者角色发生了转换
面向对象的三大特征
- 封装
- 继承
- 多态
采用面向对象方式开发一个软件,生命周期当中:【整个生命周期中贯穿使用OO面向对象方式】
- 面向对象的分析:OOA
- 面向对象的设计:OOD
- 面向对象的编程:OOP
类和对象的概念
什么是类
【1】类在现实世界当中是不存在的,是一个模板,是一个概念,是人类大脑思考抽象的结果
【2】类代表了一类事物,是一组相关的属性和行为的集合
【3】在现实世界当中,对象A与对象B之间具有共同特征,进行抽象总结出一个模板,这个模板被称为类
什么是对象
对象是实际存在的个体,现实世界当中实际存在;是该类事物的具体表现
描述一个软件开发的过程
【1】 程序员先观察现实世界,从现实世界当中寻找对象
【2】寻找N多个对象之后,发现所有的对象都具有共同特征
【3】程序员在大脑中形成一个模板【类】
【4】java程序员可以通过java代码来表述一个类
【5】java程序中有了类的定义,然后通过类就可以创建对象
【6】有了对象之后,可以让对象直接协作起来形成一个系统
类—>对象 过程为【实例化】
对象又被称为实例/instance
对象—>类 过程为【抽象】
现实中的事物和类的对应关系
事物 类
属性 ----------------- 成员变量
行为 ----------------- 成员方法
定义类其实就是定义类的成员(成员变量和成员方法)
【1】成员变量 和以前定义变量是一样的,只不过位置发生了改变。在类中,方法外。
【2】成员方法 和以前定义方法是一样的,只不过把static去掉,后面在详细讲解static的作用。
面向对象(成员变量和局部变量的区别)
【1】在类中的位置不同
成员变量:在类中方法外
局部变量:在方法定义中或者方法声明上
【2】在内存中的位置不同
成员变量:在堆内存
局部变量:在栈内存
【3】生命周期不同
成员变量:随着对象的创建而存在,随着对象的消失而消失
局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
【4】初始化值不同
成员变量:有默认初始化值
局部变量:没有默认初始化值,必须定义,赋值,然后才能使用。
注意事项: 局部变量名称可以和成员变量名称一样,在方法中使用的时候,采用的是就近原则。
面向对象(方法的形式参数是类名的时候如何调用))
【1】Java中参数传递问题
形式参数
基本类型:形式参数的改变不影响实际参数
引用类型:形式参数的改变直接影响实际参数
【2】方法的参数是类名
如果你看到了一个方法的形式参数是一个类类型(引用类型),这里其实需要的是该类的对象。
来源:CSDN
作者:凌虚95
链接:https://blog.csdn.net/weixin_45849948/article/details/104705135