2009年10月29日 星期四

筆記:Python 的 Class (二) Class、object、instantiation

  

一、結構

  Class A ----> object 1 ----> instantiation
      |
      |--> object 2 ----> instantiation
      |
      |--> object 3 ----> instantiation
      |
      |--> ............................

  簡單講,一個 Class 同時可以有多個 object,
  而 object 必須 instantiation 才可運用。

二、instantiation(實例化)

  實例化有兩個方向,一係設定 attribute (屬性),如 attr.class ,
  另一個係 method(方法),即係寫成 function (函數)。

  如下例

>>> class book2:
    " 這是一個測試, class book"
    author="storylai"
    name="Hello, Python !"
    price=500
      def show(self):
         print self.author
         print self.name
         print self.price

>>> book2().show()
storylai
Hello, Python !
500

三、 method(方法)

  在上例中,凡使用method(方法)時,必須採用如 def() 函數作定義,
  唯一不同是必須包含參數 self 。

  因此,使用 method 中的屬性時,必須寫成 self.attris 。

  參數 self 的出現,是區分「公用」或「私有」的 namespace 命名空間,
  這樣既可對特定的屬性作出保護,又可以區分不同 class 但同名的屬性或
  方法。
 
  上例中,同一 class 中的 author 雖然被視為「公用」,但仍只限於同一
  class 內使用。而在 def 內應用時,亦要加上 self.xxxx ,以避免誤用。



  
  
  

沒有留言: