一、类

类一般由一下几个部分组成:
- 类名:斜体表示为抽象类,如果是接口的话要加
<<interface>>
修饰 - 属性:
可见性 名称:类型 [ = 缺省值 ]
- 方法:
可见性 名称(参数列表) [ : 返回类型]
- 内部类
二、类之间的关系
1. 关联关系
类和类之间最常用的关系,表示一类对象和另一类对象之间有关系。
编程实现时:通常将一个类的对象作为另一个类的成员变量
1)单向关联

public class Customer{
private Address address;
}
public class Address{
}
2)双向关联

public class Customer{
private Product[] products;
}
public class Product{
private Customer customer;
}
3)自关联

public class Node{
Node subNode;
}
4)聚合关系(Aggregation)
聚合关系:表示的是整体与部分的关系,在聚合关系中成员对象是整体对象的一部分,但成员对象可以脱离整体对象独立存在。

在聚合关系实现时:成员对象一般作为构造方法、Setter方法或业务方法的参数注入到整体对象中。
public class Car{
private Engine engine;
// 作为构造函数的参数注入
public Car(Engine engine){
this.engine=engine;
}
// 作为Setter方法的参数注入
public void setEngine(Engine engine){
this.engine=engine;
}
}
public class Engine{
}
4)组合关系(Composition)
组合关系:表示整体和部分的关系。在组合关系中整体和部分同生共死(一旦整体对象不存在,成员对象也将不存在)。

代码实现时:通常在整体类的构造方法中直接实例化成员类。
public class Head{
private Mouth mouth;
public Head(){
// 有你才有我。。啧啧
this.mouth=new Mouth();
}
}
public class Mouth{
}
2. 依赖关系(Dependency)
特定事物的改变可能会影响到使用该事务的其他事物。
代码中:在某个类的方法中使用另一个对象作为参数
箭头指向:被依赖的一方

public class Driver{
public void drive(Car car){
car.move();
}
}
public class Car(){
public void move(){
}
}
3. 泛化继承(Generalization)
代码中用extends 实现
箭头指向被继承类

public class Person{
protected String name;
proteced int age;
public void move(){
}
public void say(){
}
}
// 子类
public class Student extends Person {
private String studentNo;
public void study(){
}
}
// 子类
public class Teacher{
private String teacherNo;
public void teach(){
}
}
4. 接口与实现关系
箭头指向被实现类

网友评论