看过好多对装饰模式的讲解,他们几乎都有一句相同的话:对现有类功能的扩展。不知道大家怎么理解这句话的,之前我把”对功能的扩展“理解成”加功能=加方法“,比如Person类本来有两个功能:Eat 和 Run ,使用装饰模式后,可以再加一个功能:Sleep,这显然是不能的。增加Sleep意味着修改接...
分类:
其他好文 时间:
2014-10-08 18:25:45
阅读次数:
243
1 function Person(name, age) { 2 this.name = name; 3 this.age = age; 4 this.eat = function() { 5 alert("eating..."); 6 } 7 } ...
分类:
编程语言 时间:
2014-10-08 16:37:45
阅读次数:
148
适配器模式(adapter pattern),又名包装器(Wrapper),是一种“伪装式”委派方式。问题描写叙述:假定接口Being(生命) 有抽象方法eat()、run(),它的实现类有人/Person、狗/Dog等等;现有 (第三方) 已经存在的鸟/Bird类,可是Bird拥有的方法头/接口不...
分类:
其他好文 时间:
2014-10-03 14:38:14
阅读次数:
240
工厂模式工厂模式演变一: 1 package cn.itcast.factorydemo01; 2 3 //声明一个接口 4 interface Fruit { 5 //接口中定义一个eat()方法 6 public void eat(); 7 } 8 //声明两个类实现这个接口 ...
分类:
其他好文 时间:
2014-10-03 01:49:33
阅读次数:
408
C++中的虚函数 先来看一下实际的场景,就很容易明白为什么要引入虚函数的概念。假设我们有一个基类Base,Base中有一个方法eat;有一个派生类Derived从基类继承来,并且覆盖(Override)了基类的eat;继承表明ISA(“是一个”)的关系,现在我们有一个基类的指针(引用)绑定到派生类....
分类:
编程语言 时间:
2014-09-26 21:24:48
阅读次数:
368
向上转型: 子类引用的对象转换为父类类型称为向上转型。通俗地说就是是将子类对象转为父类对象。此处父类对象可以是接口 1 public class Animal { 2 public void eat(){ 3 System.out.print...
分类:
编程语言 时间:
2014-09-25 00:57:37
阅读次数:
400
UVA10273 - Eat or Not to Eat?(暴力)
题目链接
题目大意:一个农场的主人为了改善收入决定每天要将产量最少的那一头牛杀掉,但是如果这一天出现了多只产量最小的牛,那么这一天一头也不杀。然后给你n头牛,给你每头牛的产量周期和周期内的产量,问多少天后可以确定剩余的牛的情况。
解题思路:求出这n头牛的周期的最小公倍数,那么在这个周期内,如果没有牛被杀的话,那么...
分类:
其他好文 时间:
2014-09-23 16:28:24
阅读次数:
236
给定一系列词, 找出其中所有的变序词组合.Note: 变序词 - 组成字符完全相同但次序不同的单词. 如dog和god, ate和eat.算法描述: 使用map >存储所有的结果. 最后将map中size > 1的vector插入到结果中.代码: 1 class Solution { 2 publi...
分类:
其他好文 时间:
2014-09-15 19:21:29
阅读次数:
231
1. for i in `ls *.mp3` 常见的错误写法: for i in `ls *.mp3`; do # Wrong! 为什么错误呢?因为for...in语句是按照空白来分词的,包含空格的文件名会被拆 成多个词。如遇到 01 - Don‘t Eat the Yellow Snow...
分类:
其他好文 时间:
2014-09-04 09:49:38
阅读次数:
179
>>> L = ['spam', 'Spam', 'SPAM!']>>> L[0:2] = ['eat', 'more']>>> L['eat', 'more', 'SPAM!']========================================>>> L[1:2] = [4,5]>>...
分类:
编程语言 时间:
2014-08-27 20:15:48
阅读次数:
200