python学习1-使用类

#使用类 class CPerson: #类变量好比C++中的静态成员变量 population = 0 def SayHi(self): print('Hello World') def HowMany(self): if CPerson.population == 1: print('I am the only person here.') else: print(('We have %d persons here.') % CPerson.population) #类中有很方法的名字有特殊的意义 #__init__好比C++中的构造函数 def __init__(self, name): self.name = name print(('Initializing %s') % self.name) CPerson.population += 1 #__del__好比C++中的析构函数 def __del__(self): CPerson.population -= 1 if CPerson.population == 0: print('I am the last one.') else: print(('There are still %d people left.') % CPerson.population) p = CPerson('123456') p.SayHi() p.HowMany() p0 = CPerson('987654321') p0.SayHi() p0.HowMany() p.SayHi() p.HowMany() print('------------------------------------------') #使用继承,多态现象 class SchoolMember: def __init__(self, name ,age): self.name = name self.age = age print(('Initialized SchoolMember:%s') % self.name) def Tell(self): print(('Name:%s, Age:%d') % (self.name, self.age)) class Teacher(SchoolMember): def __init__(self, name, age, salary): SchoolMember.__init__(self, name, age) self.salary = salary print(('Initialized Teacher:%s') % self.name) def Tell(self): SchoolMember.Tell(self) print(('Salary:%d') % self.salary) class Student(SchoolMember): def __init__(self, name, age, marks): SchoolMember.__init__(self, name, age) self.marks = marks print(('Initalized Student:%s') % self.name) def Tell(self): SchoolMember.Tell(self) print(('Marks:%d') % self.marks) t = Teacher('liyong', 30, 30000) s = Student('swap', 22, 75) members = [t, s] for member in members: print('##############') member.Tell()

你可能感兴趣的:(python学习1-使用类)