物件導向無痛入門(1) 物件導向無痛入門(3)-基本建立類別
五月 18

物件導向無痛入門(2)-物件導向概念

程式.瀏覽:[ 16,990user+5,011機器人 ]給個回應

先類別談起,首先要搞懂物件導向,必須先搞清楚,啥是類別?啥是物件?這兩個名詞懂了之後,基本的物件導向精神就懂了一大半了,類別是一個藍圖,他可以產生出物件這個東西,示意圖如下:

由上圖我們可以瞭解到,我們定義了一個正妹類別,然後可以在主程式裡以 NEW 語法宣告產生一個物件,然後設定類別中所定義的屬性(身高、體重…),就可以產生正妹一或正妹二的物件,沒錯!就是這樣而已。

因為有了類別,所以我們不需要宣告很多參數,來放每個個體的參數,可以大大減少程式碼的撰寫,也可以有效的提高程式的可讀性。

入門之後,接下來來看看其他物件導向的名詞,與做法解釋:

一、繼承(Inheritance)
        子類別可以繼承父類別所用有的方法和屬性,優點:節省軟體重複開發,以達到軟體再利用。

二、多載(Overloading)與重寫(Overriding)
        Overloading,「重複定義」,在同一個命名空間裡,可以同時存在多個相同名稱,但不同參數個數或是參數型態的函示。

        Overriding,「重新定義」,指子類別,可將父類別中定義的 Method(方法) 重新定義,使得父類別的方法失效的一種技術。

三、封裝(Encapsulation)
        將寫好的類別包成一個 .dll 檔,只提供 Method(方法),Property(屬性),供程式設計師使用,別人卻無法得知封裝好的 DLL 檔案內部的的程序如何撰寫,以達到資訊隱藏的特性,避免重要資訊 (演算法、資料結構…) 外流。

四、資料抽象化/抽象資料型別(Data abstraction / Abstract Data Type)
        這是一個將物件與運算分開的資料型態,所定義出來的類別,只可以繼承,無法直接宣告。

標籤:



文章發表日期:2008-05-18
本篇文章引用網址:

其他隨機文章:
  • SQL Server 中易混淆的數據類型
  • 線上
  • 日本311地震與台灣921地震之間的大盤指數比較
  • 原物料的興衰
  • 使用兩個簡易工具來偵測網路情況


  • 3 個回應在 “物件導向無痛入門(2)-物件導向概念”

    1. Tweets that mention 物件導向無痛入門(2)-物件導向概念 -- Topsy.com 說道:

      [...] This post was mentioned on Twitter by smailc, Zeroplex. Zeroplex said: 說 這篇 http://m955.com/wp/archives/163 (物件導向概念介紹) 實在很容易讓我分心 =3= http://plurk.com/p/5vcnnx [...]

    2. F 說道:

      有侵權還要人家把電話留給你
      有夠搞笑

      [回應]

    3. Tivon's blog » PHP物件導向-類別與物件(2)(轉載) 說道:

      [...] 本篇文章引用自:http://m955.com/wp/archives/163 2011/07/02未分類 [...]


    寫下回應