欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

设计模式漫谈之模板方法

程序员文章站 2022-07-10 17:37:52
最近也是挺烦的,博客园做为程序员的家园,其实不假。虽然现在写出的随笔,看的人少。就当自娱自乐了。烦恼就是矛盾引起的,人很多想法都会被外界环境影响。比如一个思考很久的决定,当事情真发生时,考虑过多,受到外界环境的影响就改变了。 面试真的靠技巧,虽然你很NB,但是面试官不知道,不给你机会,也是白搭。真正 ......

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

面试真的靠技巧,虽然你很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();

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

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

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

不扯了,头疼,哎