Python學習--面向物件的例項
阿新 • • 發佈:2019-01-03
- 下面的例子實現了學校成員類,這個類登記成員的姓名,並且統計學校的總人數。
- 老師類繼承學校成員類,建立物件的時候總人數加一,老師類登記老師的工資。
- 學生類繼承學校成員類,總人數也會加一,學生類登記學生的成績。
- 物件消亡的時候,總人數會減一。
執行結果: 學校新加入一個成員:老黃 現在有成員1人 大家好,我叫:老黃 我是老師,我的工資是:3000 學校新加入一個成員:小河 現在有成員2人 大家好,我叫:小河 我是學生,我的成績是:77 小河離開了,學校還有1人 老黃離開了,學校還有0人#!/usr/bin/python # -*- coding: utf-8 -*- # Filename: SchoolMember.py # 面向物件的例項,學校成員類 class SchoolMember: # 總人數,這個是類的變數 sum_member = 0 # __init__方法在類的物件被建立時執行 def __init__(self, name): self.name = name SchoolMember.sum_member += 1 print "學校新加入一個成員:%s" % self.name print "現在有成員%d人" % SchoolMember.sum_member # 自我介紹 def say_hello(self): print "大家好,我叫:%s" % self.name # __del__方法在物件不使用的時候執行 def __del__(self): SchoolMember.sum_member -= 1 print "%s離開了,學校還有%d人" % (self.name, SchoolMember.sum_member) # 老師類繼承學校成員類 class Teacher(SchoolMember): def __init__(self, name, salary): SchoolMember.__init__(self, name) self.salary = salary def say_hello(self): SchoolMember.say_hello(self) print "我是老師,我的工資是:%d" % self.salary def __del__(self): SchoolMember.__del__(self) # 學生類 class Student(SchoolMember): def __init__(self, name, mark): SchoolMember.__init__(self, name) self.mark = mark def say_hello(self): SchoolMember.say_hello(self) print "我是學生,我的成績是:%d" % self.mark def __del__(self): SchoolMember.__del__(self) t = Teacher("老黃", 3000) t.say_hello() s = Student("小河", 77) s.say_hello()