最近也是挺煩的,博客園作爲程序員的家園,其實不假。雖然如今寫出的隨筆,看的人少。就當自娛自樂了。煩惱就是矛盾引發的,人不少想法都會被外界環境影響。好比一個思考好久的決定,當事情真發生時,考慮過多,受到外界環境的影響就改變了。程序員
面試真的靠技巧,雖然你很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();
總結,模板方法,就是把個性的方法重寫,其餘的用模板的成員。
編程全靠思想,繼承表示的就是這個對象已經擁有,個性化的成員,能夠重寫。
重要的說三遍,程序員全靠編程思想。
不扯了,頭疼,哎