一、类中的主要关系

继承、实现、组合、聚合、依赖、关联

二、UML类图

《设计模式》读懂UML类图-LMLPHP

三、代码实现

public class H2O {
} public class O2 {
} public interface Animal {
public boolean life=false;//是否有生命
public void eat(H2O h2o,O2 o2);//水和氧气 --依赖
} public class Dog implements Animal { //--实现 @Override
public void eat(H2O h2o, O2 o2) {
System.out.println("Bird:eat");
} } public class Bird implements Animal { //--实现
public Wing wing; //翅膀--组合 public Bird(Wing wing){
this.wing=wing;
} @Override
public void eat(H2O h2o, O2 o2) {
System.out.println("Bird:eat");
} public void layEggs(){
System.out.println("Bird:layeggs");
} } public class Wing {
private String size;
private String color;//0 black 1 red 2 white
public Wing(String size,String color){
this.size=size;
this.color=color;
}
} public class Goose extends Bird{ //--继承
public Goose(Wing wing) {
super(wing);
}
public void layEggs(){
System.out.println("Bird:layeggs");
} } public class Penguin extends Bird{//--继承
//企鹅的生存和天气关系很大 --关联
private Climate climate;
public Penguin(Wing wing) {
super(wing);
}
public void layEggs(){
System.out.println("Bird:layeggs");
}
} public class Climate { } public class GooseGroup {
private List<Goose> gooseList; //--聚合 public void vFly(){
System.out.println("GooseGroup:vFly");
} public void straightFly(){
System.out.println("GooseGroup:straightFly");
}
}

=================================================================================

原创文章,转载请务必将下面这段话置于文章开头处(保留超链接)。
本文转发自程序媛说事儿,原文链接https://www.cnblogs.com/abc8023/p/10910741.html

=================================================================================

05-11 07:52