寫在CLASS 前面:python
面向對象術語:類(class)——建立新類app
對象(object)——python中class的新格式,此object也是類,建立的新類即繼承了這個類函數
實例(instance)——實例和類就像泥鰍和魚的關係,泥鰍有魚的特性,即實例繼承類的特性;泥鰍又有本身和其餘魚類不一樣的特色,即實例自身的獨特性spa
def——class中定義函數code
self——指代被訪問的對象或者實例的一個變量?對象
繼承(inheritance)——一個類繼承另外一個類的特性blog
組合(composition)——一個類將別的類做爲部件(車和輪)繼承
是什麼(is-a)ci
有什麼(has-a)get
class的一些表達方式:
class X(Y)——make class named X that is-a Y
class X(object):
def __init__(self, j):
——class X has-a __init__ that takes self and j parameters
class X (object):
def M(self, j):
——class X has-a function named M that takes self and j parameters
foo = X() ——set foo to an instance of class X
foo.M(J) ——from foo get the function M and call it with self and j parameters
foo.K = Q ——from foo get K contribution and set it to Q
————————————————————————————————————————————————————————————————————————————————————
1. class 的 格式:
class X(object):
def __init__(self, y):
def function_a(self, z):
class Animal(object): def __init__(self, name): self.name = name self.specialties = [ ] def voice(self, voice): self.voice = voice print voice def specialty(self, sp): self.specialties.append(sp) d = Animal('dog') d.voice('woooo~') d.specialty('run') print d.specialties c = Animal('cat') c.specialty('climb') print c.specialties
2. 多重繼承