1,定义发动机类Motor、底盘类Chassis、座椅类Seat,车辆外壳类Shell,并使用组合关系定义汽车类。其他要求如下:
定义汽车的run()方法,里面需要调用Motor类的work()方法,也需要调用座椅类Seat的work()方法,也需要调用底盘类Chassis的work()方法
"""
定义发动机类Motor、底盘类Chassis、座椅类Seat,车辆外壳类Shell,并使用组合关系
定义汽车类。其他要求如下:
定义汽车的run()方法,里面需要调用Motor类的work()方法,也需要调用座椅类Seat的
work()方法,也需要调用底盘类Chassis的work()方法
"""
class Motor:
"""汽车发动机"""
def motor_work(self):
print("正在制造发动机")
class Chassis:
"""底盘"""
def chassis_work(self):
print("正在制造底盘")
class Seat:
"""座椅"""
def seat_work(self):
print("正在制造座椅")
class Shell:
"""车辆外壳"""
pass
class Car(): # 使用组合关系定义汽车类
def __init__(self,motor, chassis, seat):
self.motor = motor
self.chassis = chassis
self.seat = seat
def run(self):
car.motor.motor_work()
car.chassis.chassis_work()
car.seat.seat_work()
m = Motor()
c = Chassis()
s = Seat()
car = Car(m, c, s)
car.run()
要点:
组合
结婚就是组合。两人组合后,可以复用对方的属性和方法!
除了继承,“组合”也能实现代码的复用!“组合”核心是“将父类对象作为子