python学習第4課--オブジェクト向け


pythonはクラス(class)とオブジェクト(object)を用いて、オブジェクト(object oriented program)向けのプログラミングを行い、オブジェクト向けのプログラミングを行い、プログラムの重複使用性を高める.
近いオブジェクト、クラスに分類
鳥の定義
>>> class Brid(object):
...     have_feather=True
...     way_of_reproduction='egg'

summerというヒヨコが対象で鳥類に属していると仮定します.
>>> chektion=Brid()
>>> chektion.have_feather
True
>>> chektion.way_of_reproduction
'egg'

アクション
私たちが属性でカテゴリを識別するとき、これによって何ができるかによってカテゴリを区別することがあります.
このような動作は、pythonでクラス内部で関数を定義することによって、
>>> class Brid(object):
...     have_feather=True
...     way_of_reproduction='egg'
...     def move_postion(self,dx,dy):
...             postion=[0,0]
...             postion[0]=postion[0]+dx
...             postion[1]=postion[1]+dy
...             return postion
...
>>> summer=Brid()
>>> print 'move postion',summer.move_postion(3,9)
move postion [3, 9]

クラスにメソッド属性が追加されました.move_postion、summerオブジェクトを定義し、メソッドの最初のパラメータはselfでなければなりません.
,使用するかどうかにかかわらず,呼び出し時にdxとdyパラメータを渡す限りselfは不要(内部でのみ使用)
サブクラス
カテゴリ自体をさらにサブクラスに細分化することもできます
>>> class Chicken(Brid):
...     way_of_move='walk'
...     possible_in='home'
...
>>> summer=Chicken()
>>> print summer.way_of_move
walk
>>> print summer.move_postion(2,2)
[2, 2]

新しい定義クラスChickenクラス、2つの属性wayを追加しましたof_move,possible_in
クラス定義の場合、カッコ内はBridで、ChickenがBridのサブクラスであることを示します.すなわち、ChickenはBridから継承されます.
chickenはBridのすべての属性と方法を有する.
クラスのobjectは、このクラスが終了し、親がいないことを示します.
対象に向かうのは人々の思考習慣に合っていて、過程に向かうのはもっと便利で人々の考えを表現しました.
sum:
すべてが対象で、
メソッドは、アクション確立オブジェクトを表すプロパティです.オブジェクト名=クラス名()
参照オブジェクトのプロパティ:object.attribute