python 类-2

class Car():
    def __init__(self, make, model, year):   #定义特殊方法
        self.make = make                     #初始化汽车的属性
        self.model = model                                             (1)
        self.year = year
        self.odometer = 0                     #类中的每个属性都必须有初始值

    def get_descriptive(self):                #定义普通方法
        long_name = str(self.year) + ' ' + self.model + ' '+ self.make
        return long_name.title()

    def get_odometer(self):
        print('this car has ' + str(self.odometer) + ' miles on it ')


car1 = Car('audi', 'a4l', '2017')            #创建实例
print(car1.get_descriptive())
car1.get_odometer()

#例子--继承  (一个类继承另一个类时, 他将自动获得另一个类的所有属性和方法)
class ElectricCar(Car):
    def __init__(self, make, model, year):         #创建__init__方法接受创建Car实例所需的信息
        super().__init__(make, model, year)        #super()是一个能将父类和子类联系起来的函数
        self.battery_size = 300                    2#初始化电动车特有的属性

    def describe_battrry(self):
        print('this car has a '+str(self.battery_size) + '-kwh battery.')

my_tesla = ElectricCar('audi', 'a4l', '2021')
print(my_tesla.get_descriptive())
my_tesla.describe_battrry()

#将实例用作属性                              (3)
class Battery():
    def __init__(self, battery_size = 400):
        self.battery_size = battery_size

    def describe_battery(self):
        print('this car has a '+ str(self.battery_size) + '-kwh battery.')

class ElectricCar(Car):
    def __init__(self, make, model, year):         #创建__init__方法接受创建Car实例所需的信息
        super().__init__(make, model, year)        #super()是一个能将父类和子类联系起来的函数
        self.battery = Battery()                   #添加了一个self.battery 的属性,将Barrery()的内容赋给他
my_tesla = ElectricCar('audi', 'a4l', '2021')
my_tesla.battery.describe_battery()

** 继承: 一个类继承另一个类时,他将自动获的另一个类的所有属性和方法; 原有的类成为父类,而新的成为子类,子类继承父类的所有属性和方法,同时还可以有自己的属性和方法。

  1. 类中的每个属性都必须有初始值,可以一形参方式设定,也可以直接设定。
  2. 子类可设定自己独有的属性
  3. 实例可以当作属性的值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值