常规类、抽象类和接口的对比分析

1.抽象类和接口

  1)有无子类共享的实例变量

  2)有无子类共享的方法体

  3)子类可否通过super();调用到基类的构造函数

  4)继承个数

2.抽象类和常规类

  有无维护的意义,即基类实例对象有无存在的现实意义

3.究竟应该是有interface、abstract class还是一般的class?

  1)Interface更优于abstract,因为程序员可以以此撰写出“可被向上转型为多个基类型别”的class,从而类似实现c++中的多继承

  2)若撰写的基类可以不带任何函数定义或任何成员变量,应优先考虑用interface

  3)必须带有函数定义或成员变量时,使用abstract class

  4)基类对象在需求分析/需求世界中有存在的现实意义,用class

posted @ 2020-05-09 20:14  小菜在路上  阅读(159)  评论(0编辑  收藏  举报