是否可以像在PHP中那样在Python 3.x中实现接口功能? 我想在父类中声明一个没有主体的方法,但我想强制覆盖在继承的类中的此方法。
(在PHP中,如果您不重写接口中声明的方法,则会收到错误消息)
以PHP方式(由于未实现 getModel()方法,因此出现错误消息):
interface Car {
public function setModel($name);
public function getModel();
}
class miniCar implements Car {
private $model;
public function setModel($name)
{
$this -> model = $name;
}
}
答案 0 :(得分:2)
查看abc
模块:
from abc import ABC, abstractmethod
class Car(ABC):
@abstractmethod
def setModel(self, name):
...
@abstractmethod
def getModel(self):
...
然后,如果您尝试实例化没有方法的类:
class MiniCar(Car):
pass
x = MiniCar()
您得到
TypeError:无法使用抽象方法getModel,setModel实例化抽象类MiniCar