一、問答題
1. 比較面向對象的程序設計思想和面向過程的程序設計思想。
2. 面向對象程序設計的主要特點包括封裝、繼承和派生以及多態性。請詳細說明其各自概念並指出其優勢。
二、編程題(需給出源代碼和程序運行截圖)
1. 設計程序實現n*n魔方矩陣(n為奇數)的輸出。
n*n魔方矩陣就是指每一行、每一列以及兩個對角線上的n個自然數的和都相等的方陣。如3*3魔方矩陣為:
8 1 6
3 5 7
4 9 2
矩陣內填寫的數值為1~n*n的自然數。使用已學過的數組相關知識編寫程序實現任意n*n魔方矩陣(n為奇數)的構造並顯示出最終矩陣的結果。
輸入輸出要求:
(1) n的值由用戶指定
(2) 輸出時按照矩陣的形式輸出結果。
輸入輸出示例
Please input an odd positive integer:3
Find 3*3 magic matrix
――――――――
8 1 6
3 5 7
4 9 2
――――――――
1面向對象程序設計可以理解為是有多個對象來進行編程的(也就是說是有多個函數組成的)而面向過程的程序設計思想其實就是單一的函數話編程(比如main函數)
2封裝就是把業務邏輯與界面邏輯分開,讓他們耦合度下降,已達到可維護,可擴展 繼承就是把每個類有相同的方法提出來。優點可復用了 多態是配合繼承使用的,就是說可以把子類的每個對象引用傳給基類的對象,這樣的話調用子類的哪個方法就由基類決定了,可稱為更靈活了(封裝,繼承,多態的優勢就是使代碼可維護,可擴展,可復用,靈活性高)