python下的抽象类的用途和意义?

发布网友

我来回答

1个回答

热心网友

  抽象方法是基类中定义的方法,但却没有任何实现。在java中,可以把方法申明成一个接口。而在python中实现一个抽象方法的简单的方法是:
  class Sheep(object):
  def get_size(self):
  raise NotImplementedError
  任何从Sheep继承下来的子类必须实现get_size方法。否则就会产生一个错误。但这种实现方法有个缺点。定义的子类只有调用那个方法时才会抛错。这里有个简单方法可以在类被实例化后触发它。使用python提供的abc模块。
  import abc
  class Sheep(object):
  __metaclass__ = abc.ABCMeta
  @abc.absractmethod
  def get_size(self):
  return
  这里实例化Sheep类或任意从其继承的子类(未实现get_size)时候都会抛出异常。
  因此,通过定义抽象类,可以定义子类的共同method(强制其实现)。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com