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

来源:互联网 发布:java 手游辅助工具 编辑:程序博客网 时间:2024/05/19 22:04
  • 记得从前面试,老是记不住这三个概念,容易混淆,这里特意记一下。

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在实现的时候可以是坐着吃饭,同一个方法可以有不同的实现,这就是面向对象中的多态。

0 0