继承

优秀文章

菜鸟教程 > Java 继承
clever_fan > 重新认识java(四) — 组合、聚合与继承的爱恨情仇


说明
  • 继承是对抽象的抽象的体现;<个人理解>
  • 继承是提升代码复用的重要手段;
  • 继承是多态实现的基础;

实例

首先设计一个手机类:

public class Phone {
    
    private String displayer; // 显示器
    private String battery; // 电池
    
    // 充电
    public void charge(){
        battery = "100%";
        System.out.println("当前电量:"+battery);
    }
    
}

现在需要一款带键盘的手机:

public class KeyPhone {
    
    private String displayer; // 显示器
    private String battery; // 电池
    private String keyboard; // 键盘
    
    // 充电
    public void charge(){
        battery = "100%";
        System.out.println("当前电量:"+battery);
    }
    
}

以上两个类存在90%以上的代码重复;
从设计上来看,带键盘的手机只是手机中的一种,两者存在is-a的关系,满足继承关系,使用继承重新设计KeyPhone:

public class KeyPhone extends Phone {
    
    private String keyboard; // 键盘
    
}

给新的键盘手机执行充电功能:

public static void main(String[] args) {
    KeyPhone phone = new KeyPhone();
    phone.charge();
}

输出结果:

当前电量:100%

你可能感兴趣的:(继承)