抽象基类和纯虚函数

  • 纯虚函数:虚函数只有声明,函数体=0,就是一个纯虚函数,纯虚函数没有函数体,不需要实现。在子类里实现纯虚函数的具体功能。
  • 抽象基类:拥有纯虚函数的类叫做抽象类,抽象类只能作为基类,不能构建对象。因为抽象内的纯虚函数没有函数体。
  • 抽象类提供了不同种的子类对象的一个通用接口
  • 子类必须实现抽象基类中所有的纯虚函数,因为如果子类不实现所有纯虚函数,那么该子类依然是一个抽象类,没有办法实例化。(换一种说法:纯虚函数被定义在派生类中,如果派生类不重写基类的纯虚函数,则派生类也是一个抽象类。)

Python实现

对于Python而言,要想使用抽象基类可以使用abc模块。

from abc import ABCMeta, abstractmethod

class IStream(metaclass=ABCMeta):
	@abstractmethod
	def read(self, maxbytes=-1):
		pass
发布了189 篇原创文章 · 获赞 233 · 访问量 36万+

猜你喜欢

转载自blog.csdn.net/Einstellung/article/details/100939113
今日推荐