面向对象程序设计-类的继承

目录

类的继承

继承的优点和缺点

继承的实现


类的继承

        继承是一种新建类的方式,新建的类称为子类,被继承的类称为父类。继承是类与类之间的关系,使用继承可以减少代码的冗余,可以通过下图简单的了解类的继承:继承是一种新建类的方式,新建的类称为子类,被继承的类称为父类。继承是类与类之间的关系,使用继承可以减少代码的冗余,可以通过下图简单的了解类的继承:

继承的优点和缺点

        继承的优点有:①代码冗余度低,开发时间短;②代码扩展性高,系统开发灵活性强;③代码重用性高,系统出错概率低。除了优点,也有相应的缺点:①继承是侵入性的,只要继承,就必须拥有父类的所有属性和方法;②子类拥有父类的属性和方法,增加了子类代码的约束,降低了代码的灵活性;③当父类的常量、变量和方法被修改时,需要考虑子类的修改,而且在缺乏规范的环境下,这种修改可能带来大段代码需要重构的后果,增强了代码的耦合性。

继承的实现

        通常使用extends关键字来实现子类对父类的继承,而且所有的类都是继承于java.lang.Object,当一个类的定义没有使用extends关键字时,则默认继承object(这个类在java.lang包中,所以不需要import)祖先类。在Java中,类的继承是单一继承,即一个子类只能拥有一个父类,所以extends只能继承一个类。在子类中,可以通过this关键字来实现对自己成员的访问,通过super关键字来实现对父类成员的访问,继承除了扩展父类的功能,还可以重写父类的成员方法。例如:

//基类:
public class Dog { 
    private int sex;
    private int length; 
    public Dog(int dogSex, int dogLength) { 
        //初始化属性值
    } 
    public void walk() { 
        System.out.println("Dog is walking.");
    } 
    public void run() { 
        System.out.println("Dog is running.");
    } 
} 
//继承类:
public class WatchDog extends Dog{ 
    public WatchDog() {
        super(); //调用父类构造方法
        super.walk(); //调用父类成员方法
    }
    public void run() {
        System.out.println("WatchDog is running."); //重写父类方法
    }
    public void watchDoor() { 
        this.run(); //调用子类成员方法
        System.out.println("WatchDog is watching door."); 
    }
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值