#coding:utf-8 ''' 子类直接调用父类的方法叫继承 子类对象.父类方法() 例如:childrenA.publicA() 子类新定义的自己的方法叫派生,子类对象.子类方法() 例如:childrenA.childrenmethods() 子类方法重写:子类定义一个和父类一模一样的方法(因为父类的方法满足不了子类的要求) 例如:childrenA.update(5) 子类和父类有一个一模一样的方法,当子类需要调用父类的方法时,python 2.7 采用 super(子类,self).父类方法(),python3中采用 super().父类方法() 例如:super(children,self).__init__(20,"qwerty") python2.7中 class父类最好写成 classA(object): 的形式,父类继承一个基类,不然后面super函数会报错,python3中则不会 类和对象中函数的基本思想: 1)__init__(self,arguA,arguB) #参数a,b作用是用于给对象初始化时,给对象属性赋予初始化值 2)functionA(self,arguA,arguB) #和一般的函数不一样,类定义中的方法必须自带self参数,其他参数argua,argub,和普通参数一样,普通传参, ''' class father(object) : def __init__(self,age,name): self.age = age self.name = name def publicA(self): print "the sex is same" def updatename(self,arguA): self.name = self.name + arguA def updateage(self,number): self.age = self.age + number return self.age def update(self,newname,newage): self.updatename(newage) self.updateage(newage) class children(father) : def __init__(self,sex): self.sex = sex super(children,self).__init__(20,"qwerty") #super().__init__(20,"qwerty") def childrenmethods(self): print "childrenmethods" def update(self,age): print "children age :",age return self.updateage(age) if __name__ == "__main__": childrenA = children("male") print childrenA.name childrenA.publicA() print childrenA.update(5) childrenA.childrenmethods()
|
|