設計模式漫談之模板方法

最近也是挺煩的,博客園作爲程序員的家園,其實不假。雖然如今寫出的隨筆,看的人少。就當自娛自樂了。煩惱就是矛盾引發的,人不少想法都會被外界環境影響。好比一個思考好久的決定,當事情真發生時,考慮過多,受到外界環境的影響就改變了。程序員

面試真的靠技巧,雖然你很NB,可是面試官不知道,不給你機會,也是白搭。真正知道你NB的人很少,由於人容易被假象所迷惑。面試

想和我發生關係要對我負責,在面向對象中發生關係的有,繼承,實現,關聯,組合等編程

首次都是套路,由於套路是敲門磚。ide

對象的成員,對接口屬於實現,對抽象類屬於重寫,對虛方法屬於能夠重寫,用new 屬於故意重寫。對象

繼承重在已經擁有。繼承

人的眼界很重要,好比60歲一直在農村的沒見過世面的,就很難理解咱們這代人,我敬愛的老父親最大的苦惱就是我沒結婚,他的思想除了想這件事,其餘事也不會想。這也怪我,活的自私,畢竟咱們不是孤立的個體,不能看破紅塵。接口

頭好疼,沒法入睡。操的閒心太多。博客

繼承已經擁有說明對象中是很多的。it

類就是模板。io

閒話不扯了,今天說模板方法。

模板就是條條框框已經寫好,只用把佔位符換成對象的特有屬性。

直接上例子,我來解釋。

//抽象類,已經擁有的

abstract class AbstractClass
{

//須要個性重寫的
public abstract void PrimitiveOperation1();
public abstract void PrimitiveOperation2();

public void TemplateMethod()
{
PrimitiveOperation1();
PrimitiveOperation2();
Console.WriteLine("");
}
}

//在模板上個性化實現

class ConcreteClassA : AbstractClass
{
public override void PrimitiveOperation1()
{
Console.WriteLine("具體類A方法1實現");
}
public override void PrimitiveOperation2()
{
Console.WriteLine("具體類A方法2實現");
}
}

//至關於替換模板的佔位符

class ConcreteClassB : AbstractClass
{
public override void PrimitiveOperation1()
{
Console.WriteLine("具體類B方法1實現");
}
public override void PrimitiveOperation2()
{
Console.WriteLine("具體類B方法2實現");
}
}

//只是引用,

AbstractClass c;

//應用類型表示的對象

c = new ConcreteClassA();

//不強轉時,表示引用類型的方法。

c.TemplateMethod();

c = new ConcreteClassB();
c.TemplateMethod();

總結,模板方法,就是把個性的方法重寫,其餘的用模板的成員。

編程全靠思想,繼承表示的就是這個對象已經擁有,個性化的成員,能夠重寫。

重要的說三遍,程序員全靠編程思想。

不扯了,頭疼,哎

相關文章
相關標籤/搜索