设计模式漫谈之模板方法
最近也是挺烦的,博客园做为程序员的家园,其实不假。虽然现在写出的随笔,看的人少。就当自娱自乐了。烦恼就是矛盾引起的,人很多想法都会被外界环境影响。比如一个思考很久的决定,当事情真发生时,考虑过多,受到外界环境的影响就改变了。
面试真的靠技巧,虽然你很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();
总结,模板方法,就是把个性的方法重写,其他的用模板的成员。
编程全靠思想,继承表示的就是这个对象已经拥有,个性化的成员,可以重写。
重要的说三遍,程序员全靠编程思想。
不扯了,头疼,哎