阿摩線上測驗 登入

申論題資訊

試卷:104年 - 104年三等一般警察人員_警察資訊管理人員 物件導向程式設計#22557
科目:物件導向程式設計
年份:104年
排序:0

申論題內容

二、物件導向的繼承方式主要分為單一繼承與多重繼承兩種,C++與 JAVA 各屬何種繼承 方法?又此二種繼承方法優缺點各為何?(10 分)針對單一繼承的缺點,可用介面 (Interface)來解決,請問介面如何解決?請舉例說明。(10 分)

詳解 (共 1 筆)

詳解 提供者:張佑霖

C++屬於多重繼承 java屬於單一繼承 多重繼承:一個類別可繼承多個類別的方式,如右圖所示 優點:1.可增加程式的重複使用率 2.類別可包含的方法較多樣化 3.彈性較大 缺點:1.程式容易過度繼承,造成程式複雜度上升 2.繼承過多程式的耦合力大,分析困難 3.容易造成連鎖效應,修改一個地方好幾個地方跟著一起修改 單一繼承:一個類別限制只能繼承一個父類別,如右圖所示 優點:1.程式耦合力低,結構簡單 2.程式分析較輕鬆,結構化程度較低 3.程式設計人員交接程式時較容易了解程式架構 缺點:1.內容較單一,無彈性 2.需要額外方法時需要透過介面的方式較麻煩

介面(Interface):單一繼承如需要額外方法可透過介面完成,介面可產生抽象方法供類別繼承使用增加程式的彈性 interface student{ public int count(); public int number(); }

class Studnet implements student { ....................... public int count(){ ......} public int number(){ ......} }