程序包含兩部分組成: 數據 和操作數據的函數;
面向過程的設計方法是自頂向下的功能分解,
把一個需求分解成多個子功能, 開發子功能並進行單元測試, 在組裝成一個完整的應用程序;
問題:
1. 程序主要關注功能, 其次數據, 數據從一個函數流動至另一個函數;
2. 數據結構需要貫穿多個函數;
3. 修改數據結構, 會在程序中造成連鎖反應;
4. 數據完整性錯誤, 可能發生在多個函數, 出現bug, 不容易查找;
面向對象的設計方法是 設計對象, 主要改進:
1. 主要關注數據結構, 其次才是功能;
2. 數據結構封裝在對象內, 只需要被對象使用;
3. 改變數據結構, 只需要修改對象的內部結構, 不會產生連鎖反應;
4. 每個對象負責保證自己數據的完整性, 隔離bug;
面向對象解決了面向過程出現的問題.