class testdemo:
__money=1000 #私有變數
def __init__(self,name,note): #類建構函式初始化資料
self.name=name
self.note=note
def calltest(self): #正常定義的函式
print("我是**:",self.name,"代號:",self.note)
def __calltest2(self): #私有函式
print("我是私有的。。",self.__money)
def calltest3(self):
t=input("請輸入資訊。。。")
if t=="馬雲飛":
self.__calltest2()
else:
print("我是特務")
#父類訪問
t=testdemo("錢之江","毒蛇")
t.calltest() #呼叫正常函式
t.calltest3() #呼叫私有函式
##定義子類繼承父類testdemo
class testbody(testdemo):
def __init__(self,name,note,***): #子類建構函式,擴充套件了***新的字段
super().__init__(name,note)#呼叫父類建構函式
self.***=***
print(name,note,***)
def callbody1(self): #子類的乙個函式
super().calltest() #呼叫父類的函式
print("我是**一號",self.name,self.***)
def callbody2(self):#子類另乙個屬性
print("殺人去**一號",self.name)
p=testbody("大白兔","一號","女")
p.callbody1()
p.callbody2()
## 多繼承
class tegong1(testdemo):
def te1(self):
print("tegong1我是**,公牛",self.name,self.note)
def te2(self):
print("tegong1我是**,警犬")
class tegong2(testdemo):
def te1(self):
print("tegong2我是**,猴子")
def te2(self):
print("tegong2我是**,耗子")
class xueyuan(tegong1,tegong2):##繼承父類tegong1,tegong2
pass
class xueyuan1(tegong2,tegong1):##繼承父類tegong1,tegong2
pass
print("*****==下屬結果為多繼承*****==")
s=xueyuan("公牛","電報")
s.te1()
s.te2()
q=xueyuan1("毒蛇","監控")
q.te1()
q.te2()
xueyuan1 繼承了**1和**2的兩個類,並且這兩個類繼承了祖類testdemo,如上述繼承方式訪問情況如下,在多繼承中
(tegong1,tegong2)已這種情況執行時,以tegong1為主
我是**: 錢之江 代號: 毒蛇
請輸入資訊。。。馬雲飛
我是私有的。。 1000
大白兔 一號 女
我是**: 大白兔 代號: 一號
我是**一號 大白兔 女
殺人去**一號 大白兔
*****==子類繼承訪問*****==
*****==多繼承*****==
tegong1我是**,公牛 公牛 電報
tegong1我是**,警犬
tegong2我是**,猴子
tegong2我是**,耗子
Python 物件導向程式設計2
start object 類是所有類的父類,它定義了好多方法,重寫這些方法我們可以定製自己的類。我們可以比較兩個數字的大小,那我們自定義的類可不可以呢?其實很簡單,我們只需要重寫 object 類中定義的比較方法即可。class mynumber 初始化屬性 def init self,num se...
Python物件導向程式設計(2)
建立類時,如果其中的部分屬性和方法與其他已有類相同,則可使用繼承。乙個類繼承另乙個類時,將自動繼承另乙個類的所有屬性和方法 除私有屬性和方法 原有的類稱為父類,新類稱為子類,子類繼承父類的所有屬性和方法,也可以有自己的屬性和方法,也可修改原來類中的方法。1.1 使用super方法 新建乙個名為stu...
2 物件導向程式設計
物件導向的設計實際上是由物件導向分析 object oriented analysis 物件導向設計 object oriented design 物件導向程式設計 object oriented programming 三部分有機的組成在一起。物件導向程式分析和物件導向設計需要用一種方式來描述和記...