接口、抽象类、虚方法、抽象方法、普通方法理清

来源:互联网 发布:sony vegas mac 编辑:程序博客网 时间:2024/05/17 01:39


接口

  • 不能有字段,常量等,只能有方法
  • 方法必须是public并且不能带其他关键字修饰(不能是静态
  • 方法不能有函数体

普通类

  • 不能有抽象方法

抽象类

  • 不能实例化
  • 专有抽象方法(抽象方法不能在具体类里声明)
  • 可以有具体字段和方法还有虚方法
总结:抽象类除了不能实例化、专有抽象方法外,其他限定与普通类没区别。


接口、抽象类区别

相似点

都包含可以由派生类继承的成员

都不能直接实例化

 

区别

 

抽象类

接口

类只能继承一个基类,也就是只能继承一个抽象类

类可以实现多个接口

可以拥有抽象成员和非抽象成员或者虚函数

方法不能有具体实现,必须公有,不能有静态成员、字段、常量、构造和析构函数



虚方法、抽象方法、普通方法

20141128

22:56

 

抽象类专有

函数体

子类必须实现

子类重写后具有多态性

虚方法

 

必须有

NO

YES

抽象方法

YES

必须没有

YES

YES

普通方法

 

必须有

NO

NO


0 0