抽象类是类的胚胎,具备类的雏形,虽然已经开始发育但是发育不完整,不完整的地方用关键字 abstract 标记
接口是抽象类中的战斗类,简直就是类的受精卵,完全没有发育,所以没脸自称类(class)只能叫做interface。
作用上,抽象类是分析问题时建立上级模型(父模型)(粗模型)的。假如,我们的问题中涉及到了学生和工人,他们都是人的子类,他们都具备一个叫做“行动”的方法,但是此方法的内容不同:学生的行动方法中定义了学习;工人的定义了工作。
于是我们定义一个叫做人抽象类,让它的子类成为我们实际直接应用的类。“人”抽象类定义了我们用到的类中的大部分内容,但是,不确定的方法“行动”空着,不写具体内容。这就是抽象类的功能(我认为)
相对于抽象类,接口的作用更接近于扩展功能。无论是谁想扩展出这种功能,只要实现这个接口以及其中包含的方法就好。个人感觉类似一个迷你框架 |