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


接口

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

普通类

  • 不能有抽象方法

抽象类

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


接口、抽象类区别

相似点

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

都不能直接实例化

 

区别

 

抽象类

接口

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

类可以实现多个接口

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

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



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

20141128

22:56

 

抽象类专有

函数体

子类必须实现

子类重写后具有多态性

虚方法

 

必须有

NO

YES

抽象方法

YES

必须没有

YES

YES

普通方法

 

必须有

NO

NO


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值