- 電子商務系統分析與設計(微課版·第2版)
- 胡雷 黃紅麗主編
- 1194字
- 2025-04-24 16:59:48
2.2.2 面向對象的基本概念
系統開發是一個問題求解的過程,開發軟件系統的目的就是解決某個(或某一組)特定的問題領域中的問題。所謂問題領域,就是指軟件系統所模擬的真實世界中的系統,如銀行的自動存取款系統、學校的學籍管理系統、制造企業的生產管理系統等。
1.對象
對象是指要研究的任何事物。從一輛車到一個車庫,從一條信息到一個數據庫,甚至航天飛機或空間站都可看作對象。對象不僅能表示有形的實體,也能表示無形的(抽象的)規則、計劃或事件。對象是由數據(描述事物的屬性)和作用于數據的操作(體現事物的行為)構成的一個獨立封裝體。從程序設計者的角度看,對象是一個程序模塊;從用戶的角度看,對象為他們提供相應的功能。對對象的操作通常稱為方法。一個對象請求另一個對象為其服務的方式是發送消息。
2.類
類是對象的模板,即類是對一組有相同數據和相同操作的對象的定義,一個類所包含的方法和數據描述一組對象的共同屬性和行為。類是在對象之上的抽象;對象則是類的具體化,是類的實例,類的層次圖如圖2-2所示。

類

圖2-2 類的層次圖
3.消息
消息是對象之間進行通信的一種規格說明,其一般由3個部分組成,即接收消息的對象、消息名及傳遞的數據。
4.封裝
封裝是一種信息隱蔽技術,它體現為類的說明,是對象的重要特性。封裝是將數據和加工該數據的方法(函數)封裝為一個整體,以實現獨立性很強的模塊功能,使用戶只能見到對象的外部特性(對象能接收哪些消息,具有哪些處理能力),而無法知道對象的內部特性(保存內部狀態的私有數據和實現加工能力的算法)。封裝的目的在于把對象的設計者和對象的使用者分開,使用者不必知曉行為實現的細節,只需用設計者提供的消息來訪問該對象。

封裝、繼承性和多態性
5.繼承性
繼承性是子類自動共享父類數據和方法的機制,它由類的派生功能體現。一個類可直接繼承其他類的全部描述,還可修改和擴充。繼承具有傳遞性。繼承分為單繼承(一個子類只有一個父類)和多重繼承(一個子類有多個父類)。類的對象是各自封閉的,如果沒有繼承性機制,則類的對象中的數據、方法就會出現大量重復。繼承不僅支持系統的可重用性,還促進系統的可擴充性。
6.多態性
多態性對象可根據所接收的消息做出動作。同一消息被不同的對象接收時可產生完全不同的行動,這種現象稱為多態性。利用多態性,用戶可發送一個通用消息,而將所有的實現細節都留給接收消息的對象自行決定,如此,同一消息即可調用不同的方法。例如,Print消息被發送給一張圖或表時調用的打印方法與將同樣的Print消息發送給一份正文文件而調用的打印方法完全不同。多態性的實現會受到繼承性的支持,利用類繼承的層次關系,把具有通用功能的協議存放在類層次中盡可能高的地方,而將實現這一功能的不同方法置于較低層次,這樣,在這些低層次上生成的對象就能給通用消息以不同的響應。在面向對象編程語言(Object-Oriented Programming Language,OOPL)中可通過在派生類中重定義基類函數(定義為重載函數或虛函數)來實現多態性。