class FirstClass: #Define a class object
def setdata(self, value): #Define class methods
self.data = value #self is the instance
def display(self):
print(self.data) #self.data: per instance
测试结果:
继承
class FirstClass: #Define a class object
def setdata(self, value): #Define class methods
self.data = value #self is the instance
def display(self):
print(self.data) #self.data: per instance
class SecondClass(FirstClass): #Inherits setdata
def display(self): #Changes display
print('Current value = "%s"' % self.data)
测试结果:
运算符重载
class FirstClass: #Define a class object
def setdata(self, value): #Define class methods
self.data = value #self is the instance
def display(self):
print(self.data) #self.data: per instance
class SecondClass(FirstClass): #Inherits setdata
def display(self): #Changes display
print('Current value = "%s"' % self.data)
class ThirdClass(SecondClass):
def __init__(self, value): #__init__方法,也称为构造函数方法,用于初始化对象的状态
self.data = value
def __add__(self, other): #运算符重载,"+"表达式会触发"__add__"方法
return ThirdClass(self.data + other)
#对于print,Python把要打印的对象传递给__str__中的self,该方法返回的字符串看做是对象的打印字符串
def __str__(self):
return '[ThirdClass: %s]' % self.data
def mul(self, other): #in-place change: named
self.data *= other
测试结果: