设计模式漫谈之模板方法

最近也是挺烦的,博客园做为程序员的家园,其实不假。虽然现在写出的随笔,看的人少。就当自娱自乐了。烦恼就是矛盾引起的,人很多想法都会被外界环境影响。比如一个思考很久的决定,当事情真发生时,考虑过多,受到外界环境的影响就改变了。

面试真的靠技巧,虽然你很NB,但是面试官不知道,不给你机会,也是白搭。真正知道你NB的人不多,因为人容易被假象所迷惑。

想和我发生关系要对我负责,在面向对象中发生关系的有,继承,实现,关联,组合等

首次都是套路,因为套路是敲门砖。

对象的成员,对接口属于实现,对抽象类属于重写,对虚方法属于可以重写,用new 属于故意重写。

继承重在已经拥有。

人的眼界很重要,比如60岁一直在农村的没见过世面的,就很难理解我们这代人,我敬爱的老父亲最大的苦恼就是我没结婚,他的思想除了想这件事,其他事也不会想。这也怪我,活的自私,毕竟我们不是孤立的个体,不能看破红尘。

头好疼,无法入睡。操的闲心太多。

继承已经拥有说明对象中是不少的。

类就是模板。

闲话不扯了,今天说模板方法。

模板就是条条框框已经写好,只用把占位符换成对象的特有属性。

直接上例子,我来解释。

//抽象类,已经拥有的

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();

总结,模板方法,就是把个性的方法重写,其他的用模板的成员。

编程全靠思想,继承表示的就是这个对象已经拥有,个性化的成员,可以重写。

重要的说三遍,程序员全靠编程思想。

不扯了,头疼,哎

 

posted @ 2018-05-05 15:09  Wang_Charle  阅读(157)  评论(0编辑  收藏  举报