子類可以繼承父類的公有成員,但是不可繼承私人成員。
若在衍生類別中調用基類的方法,則super(teacher,self).__init__(name,age,sex),或者Person.__init__(self,name,age,sex).
class Person(object):def __init__(self,name = '',age = 10,sex = 'man'):self.setName(name)self.setAge(age)self.setSex(sex)def setName(self,name):if not isinstance(name,str):print 'name must be string'returnself.__name = namedef setAge(self,age):if not isinstance(age,int):print' age must be integer'returnself.__age = agedef setSex(self,sex):if sex != 'man' and sex != 'woman':print 'sex must be man or women' return self.__sex = sexdef show(self):print 'name:',self.__nameprint 'age:',self.__ageprint 'sex:',self.__sex>>> class Teacher(Person):def __init__(self,name = '',age = 30,sex = 'man',job= 'tutor'):Person.__init__(self,name,age,sex)self.setJob(job)def setJob(self,job):if not isinstance(job,str):print 'job must be string' return self.__job = jobdef show(self):Person.show(self)print'job:',self.__job>>> xiaoming = Person('xiaoming',30,'man')>>> xiaoming.show()name: xiaomingage: 30sex: man>>> xiaohong = Teacher('xiaohong',40,'woman','math teacher')>>> xiaohong.show()name: xiaohongage: 40sex: womanjob: math teacher