#encoding=gbk
#创建类 __init__ 2个_ 类名采用驼峰命名法 实例名和模块名都采用小写格式,单词之间加上下划线
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('hary', 3)
print("My dog's name is " + my_dog.name.title() + ".")
print("My dog's age is " + str(my_dog.age) + "years old.")
#调用方法 句点表示法
my_dog.sit()
my_dog.roll_over()
#给属性指定默认值,修改属性的值(直接修改;方法修改)
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 = self.make + " " + self.model + " " + str(self.year)
return long_name
def read_odometer(self):
print("This car has "+ str(self.odometer_reading) + "miles on it.")
def update_odometer(self, age):
self.year = age
my_car = Car('china', 'jili', 2018)
my_car.year = 2019
my_car.update_odometer(2017)
print(my_car.get_descriptive_name())
#继承 创建子类时,父类必须包含在当前文件中,且位于子类前面
class ElectricCar(Car):
def __init__(self, make, model, year):
#初始化父类的属性
super().__init__(make, model, year)
#子类定义属性
self.battery_size = 70
def describe_battery(self):
#子类定义方法
print("The car has a " + str(self.battery_size) + "-Kwh battery")
my_elect_car = ElectricCar('china','hafu',2019)
print(my_elect_car.get_descriptive_name())
my_elect_car.describe_battery()