回覆列表
  • 1 # 肥貓技術生活

    1.面相物件三大特性(繼承封裝多型),還有類和物件,常見的的設計模式都屬於面相物件範疇。

    2.這裡重點介紹類和物件,"物件是動態的,類圖是靜態的”,這個是對面向物件深層次的哲學方向的理解

    3.舉例說明:

    a.把它類比喻成法律,它包括憲法(父類)>刑法(子類)或具體的某個法律(子類) 這個是個靜態的類圖,但是如果某個具體的案件時就是一個物件,法律的規定是相當於靜態類圖,而具體的案件相當於物件,每個案件都不會相同,支援了物件是動態的觀點。

    b.把它類比成數學公式題和應用題,數學公式類有 加法(父類)>乘法(子類)>階乘(子類)等等海量的數學公式,無論有多少他都是靜態的,但是應用題不一樣,每個應用題都會考慮到具體引數,都不相同,它是動態的

    類似情況再生活中舉不勝數

  • 2 # IT人劉俊明

    作為一名IT從業者,同時也是一名計算機專業的教育工作者,我來回答一下這個問題。

    首先,面向物件程式設計本身的抽象程度還是比較高的,正因為有較高的抽象程度,所以理解面向物件程式設計要更復雜一些,面向物件程式設計涉及到很多概念,其中動態和靜態就是兩個比較大的內容。

    要想理解動態和靜態這兩個概念,首先要從面向物件程式設計的過程出發,以Java語言為例,程式設計的過程可以總結為三個步驟,分別是類的定義、物件的創新和方法的呼叫。類的定義是程式設計的第一步,重點在於功能和屬性的定義,由於類本身就是一個抽象的概念定義,所以類在程式執行的過程中並不會產生變化,這也是為什麼把類稱為“靜態概念”的重要原因。

    定義類的目的往往是基於類來完成物件的建立,相對於類來說,物件是執行功能的主體,而且同一個類可以構建出大量不同狀態的物件,而且這些物件之間也可能會存在一定的關係(繼承、多型等),所以物件往往是動態的。實際上,對於物件的理解是掌握面向物件程式設計的重點,物件的整個生命週期管理也能夠體現出程式設計師的程式設計能力,比如透過各種容器(Container)來管理物件等等。

    站在設計的角度來說,類(包括介面)是設計的起點,而物件則是執行具體功能的實體,所以類可以比喻成“圖紙”,而物件則是由圖紙構建出來的實物,這就是類和物件之間的基本關係。從這個角度來看,物件雖然是動態的,但是物件的功能則是由類來賦予的,因此學習面向物件程式設計的一個重點就是如何設計類。

  • 中秋節和大豐收的關聯?
  • 路邊那些用竹竿挑個烏龜的是什麼意思?