class Field(object):
def __init__(self,name):
self._range_name=name
@property #使我们的属性的获取和修改变得更加简洁
def name(self):
return self._range_name
@name.setter
def name(self,name):
self._range_name=name
example=Field('Artifical Intelligence')
print(example.name)
example._range_name='Science and Technology'
print(example.name)
example._range_name='Electronics and Communications'
print(example.name)
#运行结果#
Artifical Intelligence
Science and Technology
Electronics and Communications
4.继承
class Season(object):
pass
class Weather(Season): #括号内要写需要继承的父类的名称
pass
5.方法的重写
class Book(object):
def book_attribute(self):
print('textbook')
class Quatity(Book):
def book_attribute(self) :# 这就是方法的重写,是建立在继承的基础上面的,并且是重写同名的方法
print('The total number is 2 millions.')
start=Quatity()
start.book_attribute()
#运行结果#
The total number is 2 millions.
6.多重继承
class Season(object):
def season_content(self):
print('This includes four parts:Spring,Summer,Autumn,Winter.')
class Weather(object):
def weather_type(self):
print('wind,cold,cool,warm,hot,extreme hot or cold.')
class Feeling(Season,Weather):
pass
feel=Feeling()
feel.weather_type()
feel.season_content()
print(Feeling.__bases__) #查看当前类继承的所有父类
#运行结果#
wind,cold,cool,warm,hot,extreme hot or cold.
This includes four parts:Spring,Summer,Autumn,Winter.
(<class '__main__.Season'>, <class '__main__.Weather'>)
7.super()方法
super()方法的使用建立在方法的重写之上,有需要重新调用父类的方法
class Flower(Language):
def __init__(self,name):
super().__init__(name)
self.name=name
def speak(self):
super().speak()
print('rose')
class Mammals(Flower):
def __init__(self,name):
super().__init__(name)
self.name=name
def speak(self):
super().speak() #这是调用父类的同名方法
print(self.name)
sample=Mammals('lion')
sample.speak()
print(sample.name)
#运行结果#
English
rose
lion
lion