一、设计原则 1、单一职责原则 一个类,只有一个引起它变化的原因。应该只有一个职责。每一个职责都是变化的一个轴线,如果一个类有一个以上的职责,这些职责就耦合在了一起。这会导致脆弱的设计。当一个职责发生变化时,可能会影响其它的职责。另外,多个职责耦合在一起,会影响复用性。例如:要实现逻辑和界面的分离。 ...
分类:
其他好文 时间:
2018-08-30 14:30:13
阅读次数:
151
Vue.js的组件化思想--下 一、组件间的通信 组件实例的作用域是孤立的;这意味着不能并且不应该在子组件的模板内直接引用父组件的数据。但是父子组件之间需要通信:父组件要给子组件传递数据,子组件需要将它内部发生的事情告知给父组件。 在 Vue.js 中,父子组件的关系可以总结为 props down ...
分类:
Web程序 时间:
2018-07-08 18:06:38
阅读次数:
197
在开始创建顶层父类之前,先补充两点知识,主要是为了解释为什么需要顶层父类,以及顶层父类在DTLib中的作用。 1. 软件架构实践经验 在面向对象软件架构实践中,总结出了以下三条经验: - 尽量使用单重继承的方式进行系统设计 - 尽量保持系统中只存在单一的继承树 - 尽量使用组合关系代替继承关系 但不 ...
分类:
其他好文 时间:
2018-05-27 19:02:54
阅读次数:
200
1.组合 将其他类的对象引用置于新的类中。 3.继承 关键词extends 一个类继承基类后自动获得 基类的所有域(包括字段 引用 内部类 )和方法,当然不包括private,子类中调用继承下来的方法也不需要基类对象引用。继承相当于对基类的一个扩展,因为基类有的它都有,再额外添加了一些域和方法(或覆 ...
分类:
编程语言 时间:
2018-05-15 12:40:43
阅读次数:
182
复用代码,即使用已经开发并调试好的类。组合和继承是两种实现方法。 组合语法: 在新类中创建现有类的对象。该方法只是复用了现有代码的功能,而非它的形式。 组合的例子随处可见,这里不举例说明。但书中特意强调了toString方法。 每一个非基本类型的对象都有一个toString方法,因为每一个类都是继承 ...
分类:
编程语言 时间:
2018-04-06 17:32:54
阅读次数:
147
·复用代码 ·复制代码,并加以改变 ·代码重用机制~组合(功能)、继承(功能 & 形式) 7.1 组合语法 ·组合:将对象引用<置于>新类中即可 ·(对象类型)数据域初始化位置: 1.定义的地方——构造器被调用前初始化 2.构造器中 3.惰性初始化 4.使用实例初始化(实例代码块) 7.2 继承语法 ...
分类:
其他好文 时间:
2018-03-06 17:05:28
阅读次数:
182
面向对象三大特性之多态 一.多态的概念 多态是继封装,继承之后,面向对象的三大特性。 现实事物经常会体现出多种形态,如学生,学生是人的一种,则一个具体的张三同学既是学生也是人,即出现两种形态。 java作为面向对象的语言,同样可以描述一个事物的多种形态,java中多态的代码体现在一个子类对象(实现类 ...
分类:
编程语言 时间:
2017-12-26 00:52:11
阅读次数:
133
复用代码是Java众多引人注目的功能之一。 复用类有两个方法。第一种:只需在新的类中产生现有类的对象。由于新的类是由现有类的对象所组成,所以这种方法称为组合。第二种:按照现有类的类型来创建新类。无需改变现有类的形式,采用现在类的形式并在其中添加新代码。这种方式称为继承。 1、组合语法。只需将对象引用 ...
分类:
编程语言 时间:
2017-12-12 23:48:18
阅读次数:
225
随笔之java匿名内部类 从今天起开始每日一篇技术博客,当然这只是我当天所学的一些随笔,里面或多或少会有理解不当的地方,希望大家多多指教,一起进步! 在讲匿名内部类之前,先讲讲内部类的一些概念。 1.内部类:顾名思义,内部类就是写在一个类里面的类(废话),这里大家可能会问了,为什么我们不直接写一个c ...
分类:
编程语言 时间:
2017-12-04 00:14:31
阅读次数:
123
1. 组合语法 将对象引用置于新类中。 2. 继承语法 衍生类自动获得基类中所有的域和方法 super关键字表示基类。 1. 初始化基类 3. 代理 4. 结合使用组合和继承 1. 确保正确清理 2. 名称屏蔽 5. 在组合与继承之间选择 6. protected关键字 7. 向上转型 1. 为什么 ...
分类:
编程语言 时间:
2017-10-15 22:39:47
阅读次数:
248