首页 > 代码库 > 普通类 抽象类 接口

普通类 抽象类 接口

首先得搞懂什么是抽象类:
一.概念:
    在面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是反过来却不是这样。
并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
    比如:如果我们进行一个图形编辑软件的开发,就会发现问题领域存在着圆、三角形这样一些具体概念。
它们是不同的,但是它们又都属于形状这样一个概念,形状这个概念在问题领域是不存在的,它就是一个抽象概念。
正是因为抽象的概念在问题领域没有对应的具体概念,所以用以表征抽象概念的抽象类是不能够实例化的。
二.语法:
    抽象类中可以有抽象方法,也可以有普通方法,抽象方法只可以被声明,不能被实例化(就是不能有方法体),
必须由继承该抽象类的普通类来实例化。

其次,接口就是一个特殊的抽象类。
差别在于接口中的方法必须都是抽象方法,不可以有普通方法而已。

再举个比较形象的例子:
普通类------我们这些普通人;
抽象类------芙蓉姐姐(人人都有打破思想保守旧传统的能力,但是只有人家芙蓉姐姐有胆量);
接口------蜘蛛侠、超人(实现了接口就相当于你有了某种特殊功能)。