Python父类设置禁止子类使用的方法
时间: 2024-02-21 08:59:09 浏览: 276
python 子类调用父类的构造函数实例
在Python中,可以通过在父类中使用双下划线“__”开头的方法名来实现禁止子类使用的方法。这种方法被称为“私有方法”,它只能在父类中被使用,子类无法继承或者覆盖它。
例如,下面的代码定义了一个父类Animal,其中包含一个私有方法__sleep():
```python
class Animal:
def __init__(self, name):
self.name = name
def eat(self):
print("{} is eating".format(self.name))
def __sleep(self):
print("{} is sleeping".format(self.name))
```
可以看到,__sleep()方法在方法名前面有两个下划线,这意味着它是一个私有方法。
现在,如果我们创建一个子类Dog并尝试使用__sleep()方法,会发现它无法使用:
```python
class Dog(Animal):
def __init__(self, name):
super().__init__(name)
dog = Dog("Buddy")
dog.eat()
dog.__sleep() # 报错:AttributeError: 'Dog' object has no attribute '__sleep'
```
因为__sleep()方法是私有方法,所以在子类中无法使用。
阅读全文