摘要:
1.模板方法模式定义 模板模式定义如下:定义一个操作中的算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定的步骤。子类实现的具体方法叫作基本方法,实现对基本方法高度的框架方法,叫作模板方法。 2.模板方法模式的优点 可变的部分可以充分扩展,不变的步骤可 阅读全文
摘要:
写在前面 设计模式是经过总结、优化的,对我们经常会碰到的一些编程问题的可重用解决方案。一个设计模式并不像一个类或一个库那样能够直接作用于我们的代码。反之,设计模式更为高级,它是一种必须在特定情形下实现的一种方法模板。设计模式不会绑定具体的编程语言。一个好的设计模式应该能够用大部分编程语言实现(如果做 阅读全文
摘要:
1.为什么会出现状态模式? 在软件开发过程中,各种应用程序可能会根据不同的情况做出不同的处理。最直接的方案就是把所有的可能发生的情况都考虑到。然后使用条件语句(if...elseif...elseif......else)对不同情况的作出判断并进行处理。但是假如状态比较复杂,就会出现多个判断语句,判 阅读全文
摘要:
写在前面 能把一件事情说的那么清楚明白,感谢廖雪峰的官方网站。 1.为什么要用混入类?(小白入门) 继承是面向对象编程的一个重要的方式,因为通过继承,子类就可以扩展父类的功能。 step1: 回忆一下Animal类层次的设计,假设我们要实现以下4种动物: Dog - 狗狗; Bat - 蝙蝠; Pa 阅读全文
摘要:
1.__new__的作用是什么? 依照Python官方文档的说法,__new__方法主要是当你继承一些不可变的class时(比如int, str, tuple), 提供给你一个自定义这些类的实例化过程的途径。还有就是实现自定义的metaclass。 1)在内存中为对象分配空间 2)返回对象的引用。( 阅读全文
摘要:
1。写在前面 由于python 没有抽象类、接口的概念,所以要实现这种功能得abc.py 这个类库 2。@abstractmethod特点 @abstractmethod:抽象方法,含abstractmethod方法的类不能实例化,继承了含abstractmethod方法的子类必须复写所有abstr 阅读全文
摘要:
我把CSDN论坛里面的一个帖子内容list到下面,自己看着理解,东家一言,西家一语,杂合起来,基本上也就理解了java中的抽象类为什么不能被实例化了。 因篇幅有限,只能罗列部分留言 以下内容不分先后顺序 抽象类只在分配了在栈中的引用,没有分配堆中的内存。程序都有一个代码段,再内存中需要占据一定的内存 阅读全文
摘要:
1.代理模式是什么? 为其他对象提供一种代理以控制对这个对象的访问 通俗的来讲代理模式就是我们生活中常见的中介 代理模式在日常生活中很常见,比如,你去杂货店买一个插座,而不是去生产插座的工厂去买。再比如,你去访问某个网站,你并没有访问权限,但你可以通过代理去访问这个网站,然后代理再把内容传给你。 2 阅读全文
摘要:
1. 迭代器是什么? 迭代器是一个对象,是python非常强大的特性 根本上说, 迭代器就是有一个 next() 方法的对象, 而不是通过索引来计数. 当你或是一个循环机制(例如 for 语句)需要下一个项时, 调用迭代器的 next() 方法就可以获得它. 条目全部取出后, 会引发一个 StopI 阅读全文
摘要:
写在前面 现在也一把年纪了,活着活着发现自己慢慢的变了一些,以前学习某个知识点的时候就单纯的学怎么用就哦了。现在碰到不明白的地方会很好奇,它到底是什么?它为什么会出现?它出现了以后能起到什么作用? 发生这个转变是因为我经常听罗胖讲历史,说起历史这门课,年代很是久远了,那是在读初中的时候,那时候太小, 阅读全文