ABC抽象类中的“init”方法在Python中用来初始化抽象类的实例,它包含在抽象类的定义中。我们通常会在ABC类中定义“init”方法来确保其子类在实例化时都会有相同的属性和方法。
下面是ABC抽象类中包含“init”方法的示例代码:
from abc import ABC, abstractmethod
class Animal(ABC):
@abstractmethod
def make_sound(self):
pass
def __init__(self, name, color):
self.name = name
self.color = color
class Dog(Animal):
def make_sound(self):
print("Bark")
my_dog = Dog("Rufus", "Brown")
print(my_dog.name) # 输出:Rufus
print(my_dog.color) # 输出:Brown
在这个示例中,我们定义了一个抽象类Animal,并在其中包含了“make_sound”和“init”方法。在“init”方法中,我们定义了两个实例变量“name”和“color”,这两个变量在示例化Dog类时被初始化。在Dog类中,我们实现了“make_sound”方法,因为它是抽象类中定义的抽象方法之一。
当我们实例化Dog类并打印其属性时,我们可以看到它已经被正确初始化了。