阿摩線上測驗 登入

申論題資訊

試卷:109年 - 109 中央印製廠_新進人員甄試_資訊管理員:程式設計概論#88054
科目:程式設計
年份:109年
排序:0

申論題內容

貳、請舉例詳述類別(class)與物件(object)的意義,以及物件導向程式設計之優點為何(含 abstraction、 encapsulation、inheritance、polymorphism)?

詳解 (共 2 筆)

詳解 提供者:aabb177

類別(class):類似物件的設計圖、範本,用來定義物件形成時的樣子,本身沒有實體

物件(object):由屬性(attributes)和方法(method)構成,有實體概念的東西,例如在現實生活中人、鳥、車子都可以稱為物件


以銀行帳戶為例

每個銀行帳號都有存款,並且可以存錢、領錢和查詢

帳號是物件

存款是屬性

存錢、領錢和查詢是方法


符合class規劃的物件、屬性作出來的就是物件

儘管屬性和方法都一樣但不同帳號就是不同物件


abstraction(抽象)

抽象類別可以實作屬性,亦可先宣告屬性再讓子類來實作或覆寫。


encapsulation(封裝)

可以將程式碼包裝,讓其他使用者可以利用他,但不能對其做更動,確保安全。


inheritance(繼承)

讓子類別可以使用父類別允許的方法,讓程式撰寫更有效率、使程式更容易做修改


polymorphism(多型)

不同資料類型的實體提供統一的介面。




詳解 提供者:hchungw

在物件導向程式設計(Object-Oriented Programming, OOP)中:
類別(Class):
是一種藍圖或模板,它定義了一組具有共同屬性和方法的對象應該具備的特徵。類別指定了物件的結構(數據成員)和行為(成員函數或方法)。
舉例:可以將類別比作汽車的設計圖紙,設計圖紙上標明了汽車將具有的特徵,如輪子、引擎、座椅,以及功能,如加速、轉向、剎車等。
物件(Object):
是根據類別藍圖創建的實例。每個物件都包含類別定義的數據和行為,並具有狀態(屬性的當前值)和行為(方法的操作)。
舉例:一個特定的汽車,如你的私家車,它是根據設計圖紙實際製造出來的,具有藍圖定義的所有特徵和功能,但它還擁有自己的特定屬性,如顏色、引擎號碼等。
物件導向程式設計的優點及其核心概念:
抽象化(Abstraction):
抽象化是將複雜現實世界中的實體簡化為類別。
優點:使開發者能夠專注於實體的關鍵特性,忽略不相關的細節。
封裝(Encapsulation):
封裝是將數據(屬性)和操作數據的方法(函數)包裹在一起,形成一個對象,從而隱藏內部的細節。
優點:保護對象內部狀態,防止外界直接訪問,減少因外部隨意存取對象內部而產生的錯誤。
繼承(Inheritance):
繼承允許一個類別(子類別)獲得另一個類別(父類別)的屬性和方法。
優點:促進了代碼的重用,減少重複編寫代碼,並且能夠建立一個層次化的類別結構。
多態性(Polymorphism):
多態性是指允許不同類別的對象對同一消息做出響應的能力,即同一操作作用於不同的類別對象上可以產生不同的行為。
優點:增加了程式碼的靈活性和擴展性,通過接口的形式可以在不同情境中使用不同的實現,這使得修改和擴展程式更加容易。