胡扯 基本概念

2021-04-28 09:57:28 字數 1497 閱讀 5281

胡扯1

*** 介面:介面可以用來標誌物件的類別,乙個物件可同時屬於多個類別。

介面方法必須被具體子類實現。之後,可以通過介面的名義來呼叫具體方法。如list list=new arraylist(); list.add("abc"); …… 介面有利於我們在尚未具體實現的時候先設計出工程的結構。當以介面的名義來組織**的時候,很多實現類都可以被平穩地替換掉,從而有利於演算法的公升級、重構。

*** 抽象類,繼承:在類的繼承結構中,將某些實際類中所共用的**上移到抽象類中。這提高了**的復用性。並且從類的層次上及時地反映出某些具體類所具有的「共同點」。

類層次上覆用的應當是類物件的「共性特徵」,即呼叫**所在的物件集所共同具備的某些能力。

當多個物件都呼叫了異類的a物件的某方法時,是**的層次上的**復用,這一類的復用通常適用於耦合性低的、演算法性的、可能跨越多個類,被普遍使用的功能復用。

*** 過載: 過載適合於解決這樣一小類問題:它們適用於乙個共同的名稱,但在解決具體問題時可能會需要用到不同型別的資源。比如說加法的過載形式有 add(int a, int b), add(double a, double b).

*** 覆蓋: 如果子類覆蓋了父類的某個方法,則表明子類具有不同於父類的行為特徵。當子類覆蓋了很多的父類的行為特徵時,就應當考慮是否應當解除父子關係。

*** **: 當你必需去做一件事情,但又缺乏相關資源(行為特徵)的時候,你可以請乙個**。……在程式中,**可以遮蔽指定物件的某些行為,或者在某些行為實施前後增加一些操作。……**有乙個被人忽視的用處:用來及時檢測程式的異常狀態。——如果某物件丟擲了異常,為找到導致這個異常的bug,我們可能得一步步地跟蹤**,如果這樣太耗費時間,則可以嘗試使用這個物件的**,**會截獲物件的每乙個方法呼叫,並在呼叫後自動檢測物件的狀態,如果非法,則拋異常,這有助於我們使用非**跟蹤的方法在執行時快速定位導致異常的**位置。這樣做的難點在於如何判斷非法狀態。

*** 遞迴: 遞迴是乙個很強很強的思想。當乙個複雜的問題可以被分解成乙個樹結構時,我們接下來的主要工作是去描述這顆樹的父子之間所具有的簡單的任務分派邏輯。然後把這個問題交給樹的根結點來解決。根結點說:我把拆解後的題目分派給我的兒子(我是他們的老闆),等他們把答案都交上來以後,我把這些答案算一算,然後把結果交給那個給我出題的老闆。我兒子是怎樣做的呢,學我的。……如果兒子還是個小崽崽(葉結點)怎麼辦?沒關係,他得到的問題已經足夠簡單,可以直接告訴他爸。

*** 堆疊: 遞迴是思想,堆疊是工具。顯然,用stack來遍歷一顆樹(深度優先)的時候,結點的出棧次序就對應著樹的乙個深度優先遍歷序列。更進一步,你是否清楚:當彈出乙個結點後,棧中還剩下什麼結點? 在樹中,它跟這些剩下的結點是什麼關係?

*** list: list是乙個簡單有效的工具。

*** set: set是乙個集合(其元素不可能重複出現),它可能是無序的,如hashset, 也可能是有序的,如treeset.

*** map: map中所有的key其實是乙個集合,可以通過map.keyset()方法得到這個集合。map所有的key都可以分別關聯到乙個指定的值。

——2009-4-0

基本概念 C 基本概念

由於工作中需要用到c 編寫的一些工具,有時候需要根據需求修改或者定製工具,所以現在不得不學習一下c 的基礎語法,此為筆記,不成章法!機器語言 組合語言 高階語言 面向過程的程式設計方法 物件導向的程式設計方法 泛型程式設計方法 1 演算法設計 2 源程式編輯 3 編譯 4 連線 5 執行除錯 輸入裝...

基本概念 數控系統基本概念

第一章 基本概念 數控工具機cnc是一種按事先編制好的加工零件程式進行加工的高效 自動化加工裝置。是 computer numerical control machine tools 的簡稱。數控工具機較好地解決了複雜 精密 小批量 多品種的零件加工問題,是一種柔性的 高效能的自動化工具機。西門子系...

XSLT基本概念

我們首先來澄清乙個概念,大家可能聽說過xsl extensible stylesheet language xsl和我們這裡說的xslt從狹義上理解是一樣的,而按照w3c的標準,xslt的說法更嚴格些,因此我們在文章中統一使用xslt的稱法。它們之間具體的關係我們會在下面講述。1.1 什麼是xslt...