阿摩線上測驗 登入

申論題資訊

試卷:107年 - 107 專技高考_資訊技師:系統分析與資訊安全#72845
科目:系統分析與資訊安全
年份:107年
排序:0

申論題內容

一、請說明何謂類別(Class),類別如同物件般由那三項特性(那三部分) 構成?又何謂組合類別?並舉例畫圖說明之。(30 分)

詳解 (共 1 筆)

詳解 提供者:hchungw
類別(Class)
定義:
類別是面向對象程式設計中的基本構建單位,描述了一個對象的屬性(狀態)和行為(方法)。它是一個模版或藍圖,用來創建具有相同屬性和行為的對象。
類別的三項特性(部分)
屬性(Attributes):
定義:也稱為成員變量或字段,描述類別的狀態或數據。例如,一個 "車" 類別可能有屬性如 "顏色"、"型號"、"速度" 等。
示例:

class Car:
    def __init__(self, color, model):
        self.color = color
        self.model = model
方法(Methods):
定義:描述類別的行為或功能,通常在類別中作為函數來定義。例如,"車" 類別可能有方法如 "啟動"、"停止"、"加速" 等。
示例:

class Car:
    def __init__(self, color, model):
        self.color = color
        self.model = model
    def start(self):
        print(f"The {self.color} {self.model} car is starting.")
建構子(Constructor):
定義:特殊的方法,用於在創建對象時初始化其狀態。在Python中,建構子是 __init__ 方法。
示例:

class Car:
    def __init__(self, color, model):
        self.color = color
        self.model = model
組合類別(Composition Class)
定義:
組合類別是通過將一個或多個類別的實例作為屬性來組合形成的新類別。這種關係表明新類別包含其他類別的實例,從而實現複雜的對象行為。
示例:

class Engine:
    def __init__(self, horsepower):
        self.horsepower = horsepower
class Car:
    def __init__(self, color, model, engine):
        self.color = color
        self.model = model
        self.engine = engine
    def start(self):
        print(f"The {self.color} {self.model} car with {self.engine.horsepower} horsepower engine is starting.")

使用組合來創建 Car 對象
engine = Engine(200)
car = Car("red", "Toyota", engine)
car.start()


總結
類別是面向對象程式設計的核心構建單位,由屬性、方法和建構子構成。組合類別通過包含其他類別的實例來實現複雜對象的行為,增強了系統的靈活性和可重用性。