gpt4 book ai didi

php - 'interface' 在 python 中是否像在 PHP 中一样实现

转载 作者:行者123 更新时间:2023-12-01 00:31:27 25 4
gpt4 key购买 nike

有没有办法像 PHP 一样在 Python 3.x 中实现接口(interface)功能?我想在父类中声明一个没有主体的方法,但我想在继承类中强制覆盖此方法。

(在 PHP 中,如果您不重写接口(interface)中声明的方法,则会收到错误消息)

以 PHP 方式(下面您会收到错误消息,因为您没有实现 getModel() 方法):

interface Car { 
public function setModel($name);
public function getModel();
}

class miniCar implements Car {
private $model;

public function setModel($name)
{
$this -> model = $name;
}
}

最佳答案

查看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: Can't instantiate abstract class MiniCar with abstract methods getModel, setModel

关于php - 'interface' 在 python 中是否像在 PHP 中一样实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58148432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com