- 可将大型实例类拆分为多个协同工作的小类。
例如
,不断给ElectricCar类添加细节时。我们可能会发现其中包含很多专门针对汽车电瓶的属性和方法。在这种情况下我们可将这些属性和方法提取出来,创建一个新的类并放入其中,将这个新的类用作ElectricCar类的一个属性:
class Car():
--snip--
class Battery():
"""创建Battery储存某些属性和方法供其他大类调用————把本来写在一起的大类的属性和方法拆分成小类效率更高"""
def __init__(self,battery_size=70):
"""初始化电瓶属性"""
self.battery_size=battery_size
def describe_battery(self):
print("This car has a"+str(self.battery_size)+"-kwh battery.")
class ElectrcCar(Car):
"""电动汽车的独到之处"""
def __init__(self,make,model,year):
"""初始化父类的属性。在初始化电动汽车特有的属性"""
super().__init__(make,model,year)
"""连接父子"""
self.battery=Battery()
"""我们在ElectricCar类中添加一个名为self.battery
的属性,使的Battery得到调用并储存在self.battery中"""
my_tesla=ElectricCar('tesla','models',2020)
my_tesla.get_descriptive_neam()
my_tesla.battry.describe_battery()
我们创建一辆电动汽车,并将其储存在变量my_tesla中。每次要描述电瓶时,我们都要使用电动汽车的属性battery:
my_tesla.battery.describe_battery()
- 这行代码让python在实例my_tesla中查找属性battery,并对储存在该属性中的Battery实例调用方法describe_battery().
版权声明:本文为qq_18837609原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。