继承

优秀文章

菜鸟教程 > 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%

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、继承 当两个事物之间存在一定的所属关系,即就像孩子从父母那里得到遗传基因一样,当然,java要遗传的更完美,这...
    玉圣阅读 1,087评论 0 2
  • 5继承 5.1 类、超类和子类 重用部分代码,并保留所有域。“is-a”关系,用extends表示。 已存在的类被...
    我快要上天啦阅读 870评论 1 3
  • 一、继承和多态在面向对象编程中,继承(也称为派生)让您能够创建新类,而这些类继承了父类(也称为基类)的特征和行为。...
    CarlDonitz阅读 864评论 0 2
  • 一.成员变量与局部变量的区别 成员变量:在类中定义,用来描述对象将要有什么(属性)。可被本类方法和其他跟当前类有关...
    jeffierw阅读 568评论 0 0
  • 来不及再睡一会, 急促的铃声已响了好久。 来不及再吃一碗, 虚弱的身躯已疲惫了许久。 来不及停歇, 杂乱的工作已堆...
    花落有情阅读 155评论 0 0