这里就补充面向对象编程中遗漏的知识点
目录
修改类中数型的方法
一、给定一个类,修改其属性的值
1、 直接修改属性的值
2、通过方法来修改
3、 通过方法,对属性的值进行递增
修改类中数型的方法
一、给定一个类,修改其属性的值
修改属性的值有三种方法:直接通过实例进行修改;通过方法进行设置;通过方法进行递增(增加的值)
首先我们定义一个车的类型的类,然后再加上车行驶的距离的一个属性赋初值 0
代码语言:javascript复制class Car:
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
self.orometer_reading = 0 #这个是我们定义的车行驶的距离
def get_description(self):
long_name = str(self.year) ' ' self.make ' ' self.model
return long_name
def read_odometer(self):
print("This car has " str(self.orometer_reading) " miles on it")
my_new_car = Car("aodi", "a6", 2017)
print(my_new_car.get_description())
my_new_car.read_odometer()
1、 直接修改属性的值
代码语言:javascript复制class Car:
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
self.orometer_reading = 0
def get_description(self):
long_name = str(self.year) ' ' self.make ' ' self.model
return long_name
def read_odometer(self):
print("This car has " str(self.orometer_reading) " miles on it")
my_new_car = Car("aodi", "a6", 2017)
print(my_new_car.get_description())
#直接更改,修改初始化中的属性--
my_new_car.orometer_reading = 14
my_new_car.read_odometer()
2、通过方法来修改
我们在原有的程序基础上再 加一个方法,加入判定条件:汽车走过的路程是不能减少的
代码语言:javascript复制 接着上面的程序
def update_orometer(self,miles):
if miles >= self.orometer_reading:
self.orometer_reading = miles
else:
print("You can'troll back an odometer")
#通过方法来修改
my_new_car.update_orometer(25)
my_new_car.read_odometer()
3、 通过方法,对属性的值进行递增
也就是说,我们需要再定义一个方法,在原有的路程进行增加走过的路程
代码语言:javascript复制 接上
def increase(self,miles):
self.orometer_reading =miles
#通过方法对属性的值进行递增
my_used_car = Car("bentian","outback",2006)
print(my_used_car.get_description())
my_used_car.update_orometer(3500)#先赋值,更新现在所走的路程
my_used_car.read_odometer()
my_used_car.increase(100)
my_used_car.read_odometer()