[Python]《从入门到实践》第九章-类

#创建和使用类
class Dog():
    def __init__(self,name,age):
        self.name = name
        self.age = age
        
    def sit(self):
        print(self.name.title()+" is now sitting.")
    
    def roll_over(self):
        print(self.name.title() + " rolled over!")
#创建实例:
my_dog = Dog('willie',6)
#访问属性:
my_dog.name
my_dog.roll_over()

#使用类和实例
class Car():
    def __init__(self,make,model,year):
        self.make=make
        self.model=model
        self.year=year
        
    def get_descriptive_name(self):
        long_name=str(self.year)+' '+self.make + ' '+self.model
        return long_name.title()

my_newcar = Car('audi','a4','2016')
print(my_newcar.get_descriptive_name())
#给属性指定默认值
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):
        long_name=str(self.year)+' '+self.make + ' '+self.model
        return long_name.title()
    
    def read_odometer(self):
        print("This car has "+str(self.odometer_reading)+" miles on it.")
        
    def update_odometer(self,mileage):
        if mileage >= self.odometer_reading:
            self.odometer_reading = mileage
        else:
            print("You can't roll back an odometer!")
    
    def increment_odometer(self,miles):
        self.odometer_reading += miles
        
#修改类属性值
my_new_car=Car('audi','a4','2016')
my_new_car.odometer_reading = 23        
my_new_car.read_odometer()

#继承
class ElectricCar(Car):
    def __init__(self,make,model,year):
        #初始化父类属性
        super().__init__(make,model,year)

my_tesla=ElectricCar('tesla','model s','2016')
print(my_tesla.get_descriptive_name())

#重写父类方法
class ElectricCar(Car):
    def __init__(self,make,model,year):
        #初始化父类属性
        super().__init__(make,model,year)
        self.battery_size = 70

猜你喜欢

转载自blog.csdn.net/TOMOCAT/article/details/81209084
今日推荐