【封装·继承·多态】个人通俗理解

  • 记得从前面试,老是记不住这三个概念,容易混淆,这里特意记一下。

1.封装

所谓封装,就是将某些共同的东西提取出来成为一个抽象基类。例如:男人和女人都属于人类,他们共同的行为都有吃、喝、住、行,所以我们将这些共同行为封装在一个Human的基类,让它拥有吃、喝、住、行的方法。

public abstract class Human{

    public abstract void eat();

    public abstract void drink();

    public abstract void live();

    public abstract void walk();
}

2.继承

有了上面封装好的Human基类,我们就可以创建一个Male和Female类,来表示男人和女人,让Male和Female继承于Human类,这样Male类和Female类都拥有了Human的方法。Male和Female属于Human的子类,而在Java中,并不支持多继承,但可以重载多个接口(Interface)。

public class Male extends Human {

    @Override
    public void eat() {

    }

    @Override
    public void drink() {

    }

    @Override
    public void live() {

    }

    @Override
    public void walk() {

    }
}

public class Female extends Human {

    @Override
    public void eat() {

    }

    @Override
    public void drink() {

    }

    @Override
    public void live() {

    }

    @Override
    public void walk() {

    }
}

3.多态

从上面我们可以看到,继承了Human的Male和Female都分别要实现Human其中的四个方法。这是因为Human是抽象类(abstract关键字),并且其中的eat、drink、live、walk都是抽象方法,所以凡是继承它的子类都要实现这四个抽象方法。
而多态的意思就是:虽是同一个动作eat,但Male在实现的时候可以是站着吃饭,而Female在实现的时候可以是坐着吃饭,同一个方法可以有不同的实现,这就是面向对象中的多态。

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值