驻马店市做网站,免费刷粉网站推广,做淘宝京东还是独立网站,企业宣传片制作公司光年映画1. 依赖#xff08;Dependency#xff09;
定义#xff1a;一个类使用到另一个类的实例#xff0c;通常是通过方法参数、局部变量等。依赖关系是最弱的关系#xff0c;因为它仅仅表示类之间的临时关联。
特征#xff1a;在 UML 图中#xff0c;依赖关系用带箭头的虚线…1. 依赖Dependency
定义一个类使用到另一个类的实例通常是通过方法参数、局部变量等。依赖关系是最弱的关系因为它仅仅表示类之间的临时关联。
特征在 UML 图中依赖关系用带箭头的虚线表示箭头指向被依赖的类。
示例
public class Driver {public void drive(Car car) {car.start();}
}
public class Car {public void start() {System.out.println(Car started);}
}
在这个例子中Driver 类依赖于 Car 类因为 drive 方法使用了 Car 类的对象。
2. 关联Association
定义关联是一种结构关系描述了一个对象知道另一个对象的存在并且可以和它进行交互。一个类中存在另一个类的对象作为成员变量这种关系可以是双向的。关联通常是长期的是类之间的一种静态关系。
特征在 UML 图中关联关系用带箭头或没有箭头的实线表示箭头指向目标类。关联可以是双向的双箭头或单向的单箭头。
示例
public class Person {private Address address;
public Person(Address address) {this.address address;}
public Address getAddress() {return address;}
}
public class Address {private String street;
public Address(String street) {this.street street;}
public String getStreet() {return street;}
}
在这个例子中Person 类和 Address 类之间是关联关系Person 类持有 Address 类的引用。
3. 聚合Aggregation
定义聚合是一种特殊的关联关系它表示整体和部分之间的关系。聚合是“拥有”关系但部分可以独立于整体存在。
特征在 UML 图中聚合用带有空心菱形的实线表示菱形指向整体的一方。
示例
public class Department {private ListEmployee employees;
public Department() {this.employees new ArrayList();}
public void addEmployee(Employee employee) {employees.add(employee);}
}
public class Employee {private String name;
public Employee(String name) {this.name name;}
}
在这里Department 和 Employee 是聚合关系。Department 作为整体包含了 Employee 作为部分。Employee 可以脱离 Department 单独存在。
4. 组合Composition
定义组合是一种更强的聚合关系它也描述整体和部分的关系但部分不能独立于整体存在。当整体销毁时部分也会被销毁。
特征在 UML 图中组合用带有实心菱形的实线表示菱形指向整体的一方。
示例
public class House {private ListRoom rooms;
public House() {rooms new ArrayList();rooms.add(new Room(Living Room));rooms.add(new Room(Bedroom));}
}
public class Room {private String name;
public Room(String name) {this.name name;}
}
在这个例子中House 和 Room 是组合关系。Room 作为 House 的一部分不能脱离 House 独立存在。
5. 实现Implementation
定义实现是指一个类实现了一个接口它必须提供接口中定义的所有方法的具体实现。
特征在 UML 图中实现关系用带空心箭头的虚线表示箭头指向接口。
示例
public interface Animal {void makeSound();
}
public class Dog implements Animal {public void makeSound() {System.out.println(Bark);}
}
在这个例子中Dog 实现了 Animal 接口这是实现关系。
6. 继承Inheritance
定义继承是类与类之间的一种关系表示一个类是另一个类的子类它继承了父类的属性和方法。
特征在 UML 图中继承用带空心箭头的实线表示箭头指向父类。
示例
public class Animal {public void eat() {System.out.println(Animal is eating);}
}
public class Cat extends Animal {public void meow() {System.out.println(Meow);}
}
在这个例子中Cat 类继承了 Animal 类这是一种继承关系。
总结
以上代码示例展示了设计模式中的六大关系的基本形式和应用场景。这些关系帮助我们理解和设计类与类之间的连接方式以实现良好的代码结构和模块化。理解这些关系对于掌握面向对象设计和设计模式有着重要意义。
推荐阅读
设计模式中的类关系-CSDN博客
面向对象设计原则-CSDN博客
Java之23种设计模式介绍-CSDN博客
Java之23种设计模式代码示例_java好用的设计模板编程-CSDN博客