双向关联
public class Book{
private Title title;
}
public class Title{
private Book book;
}
单向关联
public class Book{
private Title title;
}
public class Title{
}
自关联
public class Book{
private Book book;
}
多重性关联
#一个form页面可以与>=0个button按钮对象有关联 但是一个Button按钮对象只与一个From页面对象有关联
public class Form{
private Button[] buttons;
}
public class Button{
}
聚合关系(空心菱形)
# 描述的是整体和部分的关系 但是部分对象(成员对象)可以脱离整体对象而存在
# 就是整体对象即使被销毁 部分(成员)对象还是能存活的 例如汽车和发动机,即使汽车对象被销毁,发动机对象还是可以存在
public class Car{
private Engine engine;
public Car(Engine engine){
this.engine=engine;
}
public void setEngine(Engine engine){
this.engine=engine;
}
}
public class Engine{
}
组合关系(实心菱形)
# 描述的是整体和部分的关系 但是部分对象(成员对象)不可以脱离整体对象而存在
# 就是整体对象即使被销毁 部分(成员)对象也被销毁的 例如头部和嘴,如果头都没了,嘴也自然没有
# 也就是部分(成员)对象的周期跟整体对象的周期是一致的 同时存在同时销毁
public class Head{
private Mouth mouth;
public Head(){
mouth=new Mouth();
}
}
public class Mouth{
}
依赖关系(虚线 关联实线 注意箭头)
# 箭头的含义:
# 箭头 A类 ----> B类 在A类中有B类的对象 箭头指向谁 就说非箭头那方引用箭头那方的类对象
# 实线带箭头 ----> 关联
# 虚线带箭头 - - - -> 依赖
# 大多数情况下 B类的对象作为A类的办法的参数存在
public class Head{
private Mouth mouth;
public Head(){
mouth=new Mouth();
}
}
public class Mouth{
}
关联和依赖区别
A类--->B类
关联:B类的对象作为A类的成员对象存在
依赖:B类的对象作为A类的办法的参数存在 就A类某个办法参数就是B类的对象
泛化关系(继承关系 实线) 和实线关系就区别于实线虚线
public class Person {
protected String name;
protected int age;
protected void move(){
}
protected void say(){
}
}
class Student extends Person {
private String studengNo;
public void study(){
}
}
class Teacher extends Person {
private String teacherNo;
public void teach(){
}
}
实现关系(继承关系 实线) 和实线关系就区别于实线虚线
public interface Vehicle {
public void move();
}
class Ship implements Vehicle {
@Override
public void move() {
System.out.println("实现该办法1");
}
}
class Car implements Vehicle {
@Override
public void move() {
System.out.println("实现该办法2");
}
}
版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。版权声明:未标注转载均为本站原创,转载时请以链接形式注明文章出处。如有侵权、不妥之处,请联系站长删除。敬请谅解!
常见资源合集和破解beqptwpmc...