5.提取主類:提取乙個基類,抽象出共有方法,比較常用的重構,這裡的基類也許並不存在,需要自己新建立。
用法場景:當有乙個類中的某個方法需要經常被其他的類呼叫的時候,說明這個方法重用率很高,可以考慮把它抽象出來,放到乙個基類中。
**
//6.提取子類:將基類中的方法放到子類中,這裡的子類也許並不存在,需要自己新建立。重構前public
class
dogpublic
void
groom()}//
重構後public
class
animal
public
void
groom()
}public
class
dog : animal
用法場景:當基類中的某些方法並不是面向所有或者大多數類的時候,需要把這些方法下放到子類中。
**
//7.合併繼承:把子類合併到基類中去。重構前public
class
registration
public
decimal
registrationtotal
public
string
notes
public
string
description
public
datetime registrationdate }//
重構後public
class
registration
public
string
description
public
datetime registrationdate
}public
class
nonregistration : registration
public
string
notes
}
用法場景:當子類只有屬性定義,並且這些屬性可以放置在基類中,那這個子類就是多餘的,在把屬性和基類合併後就可以移除了。
**
//重構前public
class
website
public
string
description
public
ienumerable
<
webpage
>
pages
}public
class
studentwebsite : website}//
重構後public
class
website
public
string
description
public
ienumerable
<
webpage
>
pages
public
bool
isactive
}
重構的一些經驗
當我們已經對設計模式倒背如流時,卻往往發現在實際 編寫中有生搬硬套的感覺。設計模式是前人經驗的總結,直接拿來用合不合適呢?這讓我想起了大學一位老師告訴我們的一條學習的道路 知識,理論,智慧型 設計模式是很一種優雅的 智慧型 但對於我們初學者來說還僅僅是留存於文字的 知識 把 知識 融合到自己的開發中...
與類相關的一些指標
測試 include using namespace std class myclass int axbxc void show cout a is int main int myclass pp myclass cl myclass p int p1 pp myclass axbxc p cl p...
一些與iphone相關的尺寸
截止到目前,iphone已出很多系列,目前市場上主流的iphone4 4s,iphone5 5s 5c,iphone 6 6 plus,iphone 6s 6s plus,針對公司iphone專案,需要完成對上述手機的適配,所以必須得了解這些手機的尺寸和解析度,以及專案中所需要的尺寸,目前做了乙個簡...