python 继承类之细节抽象类之实例化做子类属性

'''
设计者:ISDF工软未来
版本:v4.0
日期:2024/3/7
'''
'''
当子类细节过多时,可以再抽象一个类,并将类的实例作为子例的属性,这样子类可以通过.某类.方法去执行
'''
class Car:
    '''
    用户类
    '''
    def __init__(self,make,model,year):
        #类的属性
        self.make= make
        self.model = model
        self.year=year
        self.odometer_reading=0

    def get_descriptive_name(self):
        print(f'{self.year} {self.make} {self.model}')
    def read_odometer(self):
        print(f'This car has{self.odometer_reading} miles on it')
    def update_odometer(self,mileage):
        if mileage>=self.odometer_reading:
            self.odometer_reading=mileage
        else:
            print(f'你不能退后')
    def increment_odometer(self,miles):
        self.odometer_reading+=miles
    def fillgasoil(self):
        print('{self.make}加20L油')

class battery:
    def __init__(self,batterysize=100):
        self.battery_size=batterysize

    def describe_battery(self):
        print(f'这车有1个{self.battery_size}-kwh 电池')

    def getjuli(self):
        if self.battery_size==100:
            range=200
        elif self.battery_size==300:
            range=500
        print(f'这个车可以跑{range}公里')


class ElectricCar(Car):
    def __init__(self,make,model,year):
        '''初始哈父类属性'''
        super().__init__(make,model,year)
        self.battery=battery()

    def fillgasoil(self):
        '''电车需要充电,不加油,重写方法'''
        print('电车需要充电,不加油')
def main():
    my_tesla=ElectricCar('changan','cs55',2019)
    my_tesla.battery.describe_battery()
    my_tesla.battery.battery_size=300
    my_tesla.battery.getjuli()




if __name__ == '__main__':
    main()
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ISDF-工软未来

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值