python 類的學習

#!/usr/bin/env python

# -*- coding: utf-8 -*-
import string
# class gxd:       #經典類
class gxd(object):     #新式類    多繼承方式改變
    def __init__(self,name,age,address,score):
        self.name = name
        self.age = age
        self.address = address
        self.__score = score
    def mingzi(self):
        print("你的名字是",self.name,"年齡:",self.age)
    def simple(self):
        print("分數爲:",self.__score)  #私有屬性    私有方法類似
    # def __del__(self):
    #     print("程序結束(析構函數)",self.name)
    # del __del__
r1 =gxd('gxd','22','henan','100')
r1.mingzi()
r1.simple()
class xxx(object):
    def playwith(self,obj):
        print("%s is play with %s"%(self.name,obj.name))
class ggg(gxd,xxx):             #繼承
    ####### 多繼承默認從左到右   python3 都是是廣度優先來繼承    python2經典類是深度優先來繼承      新式類也是廣度優先來繼承(加object)
    def __init__(self,name,age,address,score,intresting):     #重構子類屬性
        # gxd.__init__(self,name,age,address,score)
        super(ggg,self).__init__(name,age,address,score)      #同上    新式類寫法
        self.intresting = intresting
    def play(self):
        print("%s   is playing DOTA2"% self.name)
    def simple(self):                     #調用(重構)父類方法
        gxd.simple(self)
# m = ggg("ggg","22","henan","99")
m = ggg("gxd","22","henan","99","DOTA2")
m.play()
m.simple()
m.playwith(r1)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章