标签:
什么是抽象类,为什么要有抽象类?
当多个类中出现相同功能,但是功能主体不同,可以进行向上抽取,这是只抽取功能定义,而不抽取功能主体。
抽象类的特点:
1. 抽象方法一定在抽象类中
2. 抽象方法和抽象类都必须被abstract关键字修饰
3. 抽象类不可以用new创建对象,因为调用抽象方法没意义。
4. 抽象类中的抽象方法要被使用,必须由子类复写其所有的抽象方法后,建立子类对象调用;如果子类只覆盖了部分抽象方法,那么该子类还是一个抽象类。
抽象类比一般类多了抽象函数,就是在类中可以定义抽象方法。抽象类不可以实例化。
特殊点:抽象类中可以不定义抽象方法,这样做仅仅是不让该类建立对象。
抽象类的运用:模板方法。
在定义功能时,功能的一部分是确定的,但是有一部分是不确定的,而确定的部分在使用不确定的部分,那么这是就将不确定的部分暴露出去,由该类的子类去完成。提高扩展性,复用性。
接口
初期理解,可以认为是一个特殊的抽象类,但抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示。
接口是不可以创建对象的,因为有抽象方法。需要被子类实现,子类对接口中的抽象方法全部覆盖后,子类才可以实例化,否则子类是一个抽象类。
格式:interface{}
接口中常见定义:常量,抽象方法
接口中的成员修饰符是固定的:
成员变量:public static final
成员函数:public abstract
记住:接口中的成员都是public的。
接口的出现将“多继承”通过另一种形式体现出来,即“多实现”。
接口的特点:
一、接口是对外暴露的规则
二、接口是程序的功能扩展
三、接口可以用来多实现
四、类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口
五、接口与接口之间可以有继承关系
标签:
原文地址:http://www.cnblogs.com/huihui10/p/4671574.html