简单记录一下类与类之间的关系

接口定义

  • 简单理解:一个接口可对应一个或多个实现方法,在接口中可定义方法不必实现方法,自我感觉假如一个接口只有一个实现方法,那么实际上没什么意义,将其定义成一个普通类就行。
  • java例子:定义一个输出面积的接口,其中有一个输出面积的方法;有圆和矩形两个类来实现这个接口。
//图形输出的接口
public interface show_graphic {
    public default void show_area(){
    }
}

实现关系

  • 圆形和矩形的实现方法
//圆实现输出图形面积接口的方法
public class round implements show_graphic {

    public double r;
    public void round(double r){
        this.r = r;
    }
    @Override
    public void show_area() {
        double area = 3.14 * r * r;
        System.out.println("圆的面积为:"+area);
    }
}

//矩形实现输出图形面积接口的方法
public class rect implements show_graphic{
    public double r1;
    public double r2;
    public void rect(double r1,double r2){
        this.r1 = r1;
        this.r2 = r2;
    }

    @Override
    public void show_area() {
        double area = r1*r2;
        System.out.println("矩形的面积为:"+area);
    }
}

依赖关系

  • 定义一个计算图形周长的类,需要依赖于圆形和矩形的类
//计算图形的周长_依赖关系
public class girth {
    public void show_girth(round r,rect f){
        double round_r = r.r;
        double rect_r1 = f.r1;
        double rect_r2 = f.r2;
        System.out.println( "圆的周长为:"+ 2*3.14*round_r);
        System.out.println("矩形的周长为:" + 2*(rect_r1+rect_r2));
    }
}

组合关系

  • 简单理解:组合关系可以理解成整体和部分相互依存,一个人有胳膊、有腿等等器官组成。
  • 简单例子:定义一个person类,定义一个arm类、定义一个eye类
  • java例子
public class arm {
}

public class eye {
}

public class leg {
}

public class person {
    arm a = new arm();
    eye e = new eye();
    leg l = new leg();
}

聚合关系

  • 简单理解:聚合关系可以理解成整体不依赖于部分,整体的存在和部分的存在没有直接关系。
  • 简单例子:定义一个team类,定义一个student类、定义一个teacher类。
  • java例子
public class student {
}

public class teacher {
}

public class team {
    public student s;
    public teacher t;
}

继承关系

  • 简单理解:继承关系就是子类继承父类的属性和方法,同时可以重写继承来的方法,也可以直接调用分类的方法。
  • 简单例子:定义一个moudle父类,定义一个子类rect_module和一个子类round_module。
  • java例子
public class module {
    public String name;
    public String color;
    public void set_name(String name){
        this.name =name;
        System.out.println(this.name);
    }
    public void set_color(String color){
        this.color =color;
        System.out.println(this.color);
    }
}

public class rect_module extends module{
    public String type;
    public void set_type(String type){
        this.type = type;
        System.out.println(this.type);
    }
}

public class round_module extends module {
    public String type;
    public void  set_type(String type) {
        this.type = type;
        System.out.println(this.type);
    }
}

总结一下:

1、平常很少写java所以代码这一块可能比较丑陋。
2、我理解组合和聚合在代码理解这一块感觉不如就用实际逻辑去理解,也可以用UML类图这一块去理解。
3、代码实现这一块只是一个简单的demo,只能简单理解一下。真正写代码还得依靠实际业务逻辑和分析

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值