1. 程式人生 > >python初識別面向對象編程

python初識別面向對象編程

python

1.當類僅作為名稱空間使用,如下

>> m.a=1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name ‘m‘ is not defined
>> class m():
... pass
...
>> m.x=5
>> m.y=8
>> m.y+m.x
13
>>
2.創建一個類
#coding=utf-8

class Addrbookenter(object): #類定義

def init(self,nm,ph): #定義構造
self.name=nm
self.phone=ph
#print "createdance for ",self.name
def updatephone(self,newph): #定義方法
self.phone=newphone
#print "update phone for ",self.name

john=Addrbookenter("john","4001111") #創建實例
jane=Addrbookenter("jane","4001234")

print john.name
print jane.phone

john.updatephone("4008888") #方法調用
print john.phone

#打印結果
john
4001234
4008888

3.經典類和新式類最大區別:所有新式類必須繼承至少一種父類,如果沒有子類化一個對象,就是定義了一個經典類
接上,創建子類;
class Addrbookenter(object): #類定義
def init(self,nm,ph): #定義構造
self.name=nm
self.phone=ph

def updatephone(self,newph):         #定義方法
    self.phone=newph

john=Addrbookenter("john","4001111") #創建實例
jane=Addrbookenter("jane","4001234")

print john.name
print jane.phone

john.updatephone("4008888") #更新電話
print john.phone

class Empladdrbookenter(Addrbookenter):
def init(self,nm,ph,id,em):
Addrbookenter.init(self,nm,ph) #父類(nm和ph調用父類的值)
self.empid=id
self.email=em

def updateemail(self,newem):
    self.email=newem

john=Empladdrbookenter("jonh","4002222","01","[email protected]")

print john.empidjohn.updateemail("[email protected]")
br/>john.updateemail("[email protected]")

#打印結果:
john
4001234
4008888
01
[email protected]

python初識別面向對象編程