Day07
前言:
内容:面向对象
一、面向对象与面向过程
1、区别:
- 面向过程主要关注点是实现具体的过程,因果关系;
- 面向对象主要关注对象,在java中,虚拟世界模拟现实世界,必须保证模拟一致。
2.优缺点:
面向过程:
- 优点:对于业务逻辑比较简单的程序,可以达到快速开发,前期投入成本较少;
- 缺点:难以解决逻辑复杂的程序,其耦合度非常高,扩展力差,无法复用
面向对象:
- 优点:耦合度低,扩展力强,更容易解决复杂的业务逻辑,组件复用性强
- 缺点:前期投入成本较高,需要进行独立抽取,大量的系统分析和设计
二、类和对象
1、类和对象的概念:
- 对象:是实际存在的个体
- 类:在现实世界中不存在的,是一个模板、概念,类代表一类事物,类描述的是对象的共同特征
对象------【抽象】------类
类---------【实例】------对象
2、对象的特征:属性和方法
- 属性:描述对象的特征
- 方法:实现某个功能,称为方法
类{
属性;
方法;
}
3、语法格式
[修饰符列表] class 类名{
}
注意:1.属性通常采用一个变量的方式来定义,格式:[修饰符] 数据类型 属性名 [=值];
2.属性是在类中定义;
3.属性属于成员变量,也可以叫字段,定义属性时如果没有给其赋值,则属性有对应的默认值:
字符串String的默认值为:null;
整数型int的默认值为:0;
浮点类型的默认值为:0.0(double),0.0L(float);
字符类型的默认值为:false;
4、方法语法格式:
[修饰符列表] 返回值类型 方法名(){
方法体;
}
5、成员变量与局部变量
1.声明位置不同
- 局部变量:在方法中声明的变量
- 成员变量:也就是属性或者叫做字段,在类中声明的变量或者在方法外面声明的变量
2.作用范围不同
- 局部变量:在当前声明距离最近的大括号内使用,也就是得到:局部变量作用范围相对更小
- 成员变量:在当前类(本类)中可以直接使用,也就是得到:成员变量作用范围相对更大
3.初始值不同
- 成员变量:也就是属性或叫做字段,当创建对象后,如果没有对属性赋值,则系统会提供默认值,数据类型不同,则默认值不同
- 局部变量:局部变量没有默认值,也就是说:局部变量必须要先声明,然后再赋值,最后才可以使用
4.在同一个类中,局部变量与成员变量可以同名,编译成功,但是局部变量优先,也就是:就近的优先,如果非要访问成员变量,则必须使用this.