类图
- 面向过程和面向对象
- 面向过程思想 步骤 -> 流程图
- 面向对象思想 四个找(对象+属性+方法+关系) -> 类图
- 面向对象三大特征/四大特征
- 继承
- 封装
- 多态
- 抽象
- 类和对象的概念
- 万物皆对象 - Java
- 对象都由特征和行为组成。
- 具有相同特征和行为的对象抽象成类
- 对象是真实存在的;类是概念,不真实存在。
- 类由属性(特征)和方法(行为)组成
- 方法和属性
- 方法描述类的行为,命名一般是动词,由方法三要素组成。
- 属性是类的特征或者组成,特征一般是基本类型或者String,组成一般是另一个类。
- 属性类里表现的全局变量。
- 类之间的关系
- 关联:对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系。
- 依赖:对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系
- 聚合:表示一种弱的‘拥有’关系,即has-a的关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。 两个对象具有各自的生命周期。
- 组合:组合是一种强的‘拥有’关系,是一种contains-a的关系,体现了严格的部分和整体关系,部分和整体的生命周期一样。
- 实现:实现接口。
- 泛化:继承关系。
- 封装
- 作用:提高程序的数据安全性。
- 操作:属性私有化,提供公共的getter/setter方法访问私有属性。
- 数据安全:数据校验、数据访问。
- 构造方法
- 作用:完成属性数据初始化操作。
- 时间:对象实例化的时候被调用。
- 存在:若用户不定义,系统会自动生成一个无参的空的构造方法。
- 特点:1、方法名和类名相同。2、没有返回值类型。
- this&super关键字
- this 类本身。
- super 父类。
- 初始化块
- 作用:将构造方法中具有相同功能的代码抽象成的代码块。
- 本质:编译后,初始化块中的代码会被copy到构造方法中。初始化块消失。
- 优点:便于代码维护和扩展。
- 时间:先于构造方法执行。
- 属性值:默认值 -> 初始化块值 -> 构造方法值 -> setter方法
- 方法重载
- 同一个类中,方法名相同,参数不同(个数不同|类型不同|顺序不同),返回类型和权限无关的方法。
- 类的组成
- 属性(成员变量)
- 初始化块
- 构造方法
- 成员方法
- getter&setter方法
类图:
public class Dog{
//属性(成员变量)
private String name;
private int age;
private String kind;
//成员方法
public void eat(String food){
System.out.println(name + "在吃" + food);
}
public void sleep(){
System.out.println(name + "在睡觉");
}
public String bark(){
return "汪汪";
}
}