# -*- coding: utf-8 -*- //顯示中文,中文編碼
class employee:
emcount = 0
'''類的方法與普通的函式只有乙個特別的區別——它們必須有乙個額外的第乙個引數名稱,
按照慣例它的名稱是 self。self 代表類的例項,self 在定義類的方法時是必須有的,
雖然在呼叫時不必傳入相應的引數。
'''def __init__(self,name,age):
self.name = name
self.age = age
employee.emcount += 1
def displaycount(self):
print "total employee %d" %employee.emcount
def displayemployee(self):
print "name:",self.name,"age:",self.age
#建立新物件的方法
e=employee("ss",23)
e.displaycount()
e.displayemployee()
'''在python中繼承中的一些特點:
1:在繼承中基類的構造(__init__()方法)不會被自動呼叫,它需要在其派生類的構造中親自專門呼叫。
2:在呼叫基類的方法時,需要加上基類的類名字首,且需要帶上self引數變數。區別於在類中呼叫普通函式時並不需要帶上self引數
3:python總是首先查詢對應型別的方法,如果它不能在派生類中找到對應的方法,它才開始到基類中逐個查詢。(先在本類中查詢呼叫的方法,找不到才去基類中找)。
class c(a, b): # c繼承類 a 和 b(多重繼承)
'''class parent: # 定義父類
parentattr = 100
def __init__(self):
print "呼叫父類建構函式"
def parentmethod(self):
print '呼叫父類方法'
def setattr(self, attr):
parent.parentattr = attr
def getattr(self):
print "父類屬性 :", parent.parentattr
class child(parent): # 定義子類
def __init__(self):
print "呼叫子類構造方法"
def childmethod(self):
print '呼叫子類方法 child method'
c = child() # 例項化子類
c.childmethod() # 呼叫子類的方法
c.parentmethod() # 呼叫父類方法
c.setattr(200) # 再次呼叫父類的方法
c.getattr() # 再次呼叫父類的方法
#運算子過載
class vector:
def __init__(self, a, b):
self.a = a
self.b = b
def __str__(self):
return 'vector (%d, %d)' % (self.a, self.b)
def __add__(self,other):
return vector(self.a + other.a, self.b + other.b)
v1 = vector(2,10)
v2 = vector(5,-2)
print v1 + v2
class justcounter:
__secretcount = 0 # 私有變數
publiccount = 0 # 公開變數
def count(self):
self.__secretcount += 1
self.publiccount += 1
print self.__secretcount
counter = justcounter()
counter.count()
counter.count()
print counter.publiccount
#print counter.__secretcount # 報錯,例項不能訪問私有變數
print counter._justcounter__secretcount
'''單下劃線、雙下劃線、頭尾雙下劃線說明:
__foo__: 定義的是特列方法,類似 __init__() 之類的。
_foo: 以單下劃線開頭的表示的是 protected 型別的變數,即保護型別只能允許其本身與子類進行訪問,不能用於 from module import *
__foo: 雙下劃線的表示的是私有型別(private)的變數, 只能是允許這個類本身進行訪問了。
'''
python物件導向學習 python物件導向學習
物件導向最重要的概念就是類 class 和例項 instance 必須牢記類是抽象的模板,比如student類,而例項是根據類建立出來的乙個個具體的 物件 每個物件都擁有相同的方法,但各自的資料可能不同。物件導向三個概念 1.封裝 即把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法讓可信的類進...
python物件導向總結 Python物件導向總結
python 物件導向 oop 1 物件導向 是乙個更大封裝,把乙個物件封裝多個方法 2 類 是對一些具有相同特徵或行為的事物的乙個統稱,是抽象的,不能直接使用 特徵被稱為屬性 行為被稱為方法 3 物件 是由類建立出來的乙個具體的存在,可以直接使用 先有類再有物件,類只有乙個,而物件可以有多個 類中...
python登入物件導向 python 物件導向
一 屬性和方法 1.a a 例項屬性 通過例項物件來新增的屬性就是例項屬性 a.count 10 例項方法都是在類中直接定義的 以self為第乙個引數的方法都是例項方法 當通過例項物件呼叫時,會自動傳遞當前物件作為self傳入 當通過類物件呼叫時,不會自動傳遞self a.test 等價於 a.te...