面向对象【Java语言的核心机制】
* 面向对象和面向过程的区别
- 面向过程是因果关系的过程 如:打火机的如何发明的,它的实现组合过程就是面向过程
-
- 面向过程:主要关注的点是,实现的具体过程,因果关系 如【集成显卡开发思路】独立显卡
- 优点:
* 对于开发简单的程序,可以快速开发,前期投入成本低
- 缺点:
* 采用面向过程的开发方式很难解决非常复杂的 “业务逻辑程序”,导致软件元素之间的“耦合度”
非常高,只要其中一环出问题,整个系统受到影响,也导致最终的 “软件扩展力差”。另外,
由于没有独立体的概念,所以无法达到 “组件复用性”。
耦合度低,那么扩展力强;
耦合度高,那么扩展力差。
- 面向对象:主要关注点是:主要关注对象【独立体】,能完成那些功能。 如【独立显卡的开发】
- 优点:
* 耦合度低,那么扩展力强;
耦合度高,那么扩展力差。
组件复用性强
- 缺点:
*前期投入高
* 面向对象的三大特征
- 封装
- 继承
- 多态
- 采用面向对象的方式开发一个软件,生命周期当中:
整个生命周期中贯穿使用oo面向对象方式
* 面向对象的 分析:OOA
* 面向对象的 设计:OOD
* 面向对象的 编译: OOP
* 类和对象的概念
- 什么是类?
* 类在现实世界中是不存在的,它是一个模板,是一个概念
* 类代表了一类事物,对象A与对象B之间的共同特征, 进行抽象总结为一个模板,即称为 类
* 如:学生类
- 什么是对象?
对象是实际存在的个体,现实世界实际存在
类到对象的过程称为 实例化
对象到类的过程称为 抽象化
类描述的是: 对象的共同特征
共同特征例如:身高
这个身高特征在访问的时候,必须先创建对象,然后再通过对象去访问这个特征
因为这个特征具体在某个对象身上,值是不同的
一个类主要描述的是:
一个类主要描述的是 状态(属性 如 学生类的身高,姓名)+动作(方法 如行为)
即:
属性+方法
* 类的定义
- 语法结构
【修饰符列表】class 类名 {
属性;
方法
}
注意:
属性通常采用一个变量的形式来完成定义的(对象变量)
##引用数据类型
system.class
student.class
user.class
…
Java语言中所有的class都属于引用数据类型