定義和實現分離

2022-01-22 16:05:02 字數 2397 閱讀 5720

定義和實現分離,oop的程式設計,或則.....我也不知道,這邊文章改定義什麼樣的標題好呢,然後......

我們來看一段**的優化,來逐步的體會一下;

public

enum

scheduletype

//這種方式,我們可以使用多種方式來進行優化滴呀;

//簡單的swich case 方式滴啊;

//然後就是我們的 委託的方式滴呀

//還有我們的 就是我們的過載的方式滴啊

//多種多樣的方式和寫法滴啊;

public

class

taskinfo

}}

接下來我們做到了「看似分離的乙個狀態滴呀」,注意,我這裡強調的是看似

public

class

taskinfo2}}

//這樣就將我們的方法定義和我們的具體實現給分離的滴呀;

public

class scheduleactivity //

動態的擴充套件就可以在我們的這裡進行了滴啊;

public

void daily(string

str)

public

void weekly(string

str)

}

然後,就算我們通過委託將將具體的實現進行分離;也是無預計與是的,以為,我們優化的開始方向就錯了;這樣優化,有種多此一舉的感覺;

public

delegate

void del(string

str);

public

class

taskinfo2

del(val);

}}

其實一開始,我們只是在改變**所在的地方,並沒有實現真正意義的分離,

對於乙個有經驗的oo開發者,一旦看到switch,if(type=typeof(…))之類的**馬上會提高警惕

把真正意義的上實現暴露在**的外部註冊,而是不是內部;

這些改寫,也許會好一點底呀;

//

到了某個點之後,呼叫什麼樣的方法,我們不寫在這裡,而是通過事件在外部進行我們的註冊

//這樣我們的額程式,就有很大的擴充套件和提公升性了滴呀;

//這就給了我們這個類,足夠的擴充套件性了滴呀;

public

class

taskinfo }}

這裡就是我們外部呼叫類的滴呀;將我們的定義和實現分離的滴呀;

public

class

outerclass

}}

好了,上面的優化,之路很彆扭,因為一開始的房方向就錯了,好了,現在我們來oop優化吧

switch中進行變動;所以,並不是那麼的完美,那麼我們再進一步的進行優化;

public

class

schedule

}public

class

onceschedule : schedule

}public

class

dailyschedule : schedule

}public

class

weeklyschedule : schedule

//同樣我們可以使用介面來實現,不過這種方式,接種方式顯德更好一些滴呀

}

over~

然後再來看看我們一段js** oop的優化過程;

//

div0 - 長度長度加1

//div1

//div2

//div3

//div4

//div5

//div6

//div7

//上面這個就是面向過程的寫法;

function

change()

function

changeinfo(id,addval)

function

do()

//下面這個就是物件導向的寫法;

function

divobj(id,addval)

//獲取到的東東,已經是乙個物件了,這個叫物件的多台擴充套件滴呀;

//正確的做法是應該對它進行拓展,英文,當document.getelementbyid(id) 之後,已經是乙個物件了;

//有點類似於它的擴充套件了滴呀

}

function

changelen()

//個人覺得,貫穿oo 的就是我們的this關鍵字

C 模板應用 模板定義和實現分離

關於c 中類的模板,慣常的用法都是把實現和定義放在標頭檔案裡了事。這樣的問題是,加大了標頭檔案的長度,減低了模板 的可讀性,還有就是破壞了物件導向的隱藏實現的規則。下面就是這種問題的兩個解決方案的總結。假設模板 如下 模板定義 a.h include template class ttest 模板實...

C 模板定義和實現分離導致的編譯錯誤

今天在實現乙個二叉樹的時候,用到了模板,沒在意,和平時一樣寫了兩個檔案 binarytree.h,binarytree.cpp。思路和平時一樣,h檔案中定義了模板類,然後在cpp檔案中實現了一些功能函式。然後在test.cpp中測試,遇到了一些問題 問題出現如下 test binarytree.cp...

C 模板應用 讓模板定義和實現分離的方法

關於c 中類的模板,慣常的用法都是把實現和定義放在標頭檔案裡了事。這樣的問題是,加大了標頭檔案的長度,減低了模板 的可讀性,還有就是破壞了物件導向的隱藏實現的規則。下面就是這種問題的兩個解決方案的總結。假設模板 如下 1 模板定義 a.h 2 include 3 4 template 5 class...