您好我写了以下代码:
class Car:
def __init__(self):
self._create_aliases()
def take_to_repair_shop(self):
pass
def drive_to_the_beach(self):
pass
def _create_aliases(self):
Car.repair = Car.take_to_repair_shop
Car.beach = Car.drive_to_the_beach
我希望用户可以选择使用更长,更清晰的名称或更短的名称。
我将_create_aliases
转换为实例方法,以便可以覆盖它。
这有什么问题吗?这是一个很好的设计模式吗?
答案 0 :(得分:5)
您无需在__init__
中执行此操作:
class Car:
def take_to_repair_shop(self):
pass
def drive_to_the_beach(self):
pass
repair = take_to_repair_shop # <---
beach = drive_to_the_beach # <---
示例:
>>> car = Car()
>>> car.repair()
>>> car.take_to_repair_shop()
>>>