zoukankan      html  css  js  c++  java
  • 设计模式漫谈之模板方法

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

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

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

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

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

    不扯了,头疼,哎

  • 相关阅读:
    CSS3—— 2D转换 3D转换 过渡 动画
    CSS3——边框 圆角 背景 渐变 文本效果
    CSS3——表单 计数器 网页布局 应用实例
    CSS3——提示工具 图片廓 图像透明 图像拼接技术 媒体类型 属性选择器
    CSS3——对齐 组合选择符 伪类 伪元素 导航栏 下拉菜单
    CSS3——分组和嵌套 尺寸 display显示 position定位 overflow float浮动
    CSS3——盒子模型 border(边框) 轮廓(outline)属性 margin外边距 padding填充
    Eclipse连接数据库报错Local variable passwd defined in an enclosing scope must be final or effectively final
    数据库——单表查询
    数据库——添加,修改,删除
  • 原文地址:https://www.cnblogs.com/wang-charle/p/8994761.html
Copyright © 2011-2022 走看看