1.類和對象,這兩者之間的關系有點像“先有雞” 還是“先有蛋”的關系一樣,有一點糾纏。
從他們的定義就可以看出來:
用對象來定義類、用類來產生對象!
有的時候 在表達概念的時候,對象 與 類可以通用!
在設計軟件系統的時候,對象是不存在的,
在軟系統運行時, 在內存中創建對象。類不存在於物理世界
2.類和對象的定義:
類的定義:
A class is a description of a set of objects that share the same attributes, operations, relationships, and semantics “共享相同屬性、操作、 方法、關系或者行為的一組對象的描述符” - Rumbaugh
對象的定義:
An object is an Instance created from a class. 一 個對象是根據一個類創建的一個實例 An instance’s behaviour and information structure is defined in the class. 類,定義了實例的行為和信息結構
Its current state (values of instance variables) is determined by operations performed on it. 對象的當 前狀態(實例變量的取值)取決於作用於該對象的操 作
類舉例如下圖:
對象舉例如下圖:
3.類的構成、對象的構成:
類和對象結構圖:
注意:概念之間的互用:
屬性Attribute == 數據Data == 狀態state == 信息 information
操作operation == 方法Method ==行為behaviour = = 職 責responsibility
4.軟件功能是如何完成的:
類:定義了對象群體的邏輯結構,包括屬性和操作
系統運行時,類作為產生對象的模板,在物理層面是不存在的
對象:系統運行時必須為每一個需要的對象分配內存、保存數據
對象存在於物理層面,每個對象都有自己的數據空間(內存)
所有的對象共享同一塊代碼空間
消息:對象之間的一種交流手段
就像我們日常工作中的各種交流手段
所有相關對象之間相互協作完成軟件功能