一、UML类图
类包含类名、属性、操作。
其中“-”表示private,“+”表示public,“ # ” 表示 protected;表示抽象类则类名用斜体表示;
类的操作:类的任意一个实例对象都可以使用的行为,是类的成员方法。
表示方法: 可见性 名称(参数列表) [ : 返回类型]
画类图时参照以上
Eclipse中的UML:
继承关系:
接口关系:
关联关系:使一个类知道另一个类的属性和方法,关联可以是双向或单向的;一般使用成员变量实现,也可以使用方法形参(此时既可以表示关联,也可以依赖)
依赖关系:
//依赖关系的三种形式
class Car {
public static void run(){
System.out.println("汽车在奔跑");
}
}
class Driver {
//使用形参方式发生依赖关系
public void drive1(Car car){
car.run();
}
//使用局部变量发生依赖关系
public void drive2(){
Car car = new Car();
car.run();
}
//使用静态变量发生依赖关系
public void drive3(){
Car.run();
}
}
聚合关系:强的关联关系,是整体和个体之间的关系。关联关系所涉及的两个类是同一层次,而聚合是一个代表整体,一个代表个体。
//聚合关系中作为成员变量的类一般使用set方法赋值
//java中一般使用成员变量形式实现
//也就是关联关系的一种
//语义:车是司机财产的一部分
class Driver {
//使用成员变量形式实现聚合关系
Car mycar;
public void drive(){
mycar.run();
}
}
组合关系:比聚合关系强的关联关系。代表整体的对象负责保持部分对象和存活。“整体-部分”的关联关系
【实际上,笼统地说,四个关系都是关联关系,只能靠语境和语义分辨】
老师课上有讲个例子,书面区别组合关系和聚合关系
参考于:https://www.cnblogs.com/yangyongxin/p/10171346.html
二、UML时序图
它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。
涉及7种元素:角色(Actor)、对象(Object)、生命线(LifeLine)、控制焦点(Activation)、消息(Message)、自关联消息、组合片段。
三、软件设计基本原则
核心:高聚合,低耦合
四、多态
实现方式:基于继承、基于接口
详细见:https://blog.youkuaiyun.com/chenssy/article/details/84489574?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task