如果要修该一个类中的某个方法一共有三种方法:继承,写一个装饰类,动态代理
这里我主要介绍装饰类:
1.写一个interface Animal
package com.itheima.pool;
public interface Animal {
public void eat();
public void bite();
}
2.写一个Dog类继承Animal接口:
pack...
                            
                            
                                分类:
其他好文   时间:
2015-07-02 10:19:54   
                                阅读次数:
117
                             
                    
                        
                            
                            
                                第一步 简单函数1 ''' 简单的函数:调用两次'''2 def myfunc():3 print ('myfunc() called.')4 5 myfunc()6 myfunc()第二步 装饰器为调用函数提供附加功能 1 '''替换函数(装饰) 2 装饰函数的参数是被装饰的函数对象,返回...
                            
                            
                                分类:
编程语言   时间:
2015-07-01 22:08:33   
                                阅读次数:
228
                             
                    
                        
                            
                            
                                #接受装饰器的参数def deco_arg(deco_arg): #接受函数 此列为func1 def deco_func(*argv,**kwag): #接受函数的方法 此列为 a b def _deco_func(*argv,**kwarg): print "befor...
                            
                            
                                分类:
编程语言   时间:
2015-07-01 08:36:28   
                                阅读次数:
184
                             
                    
                        
                            
                            
                                #!/usr/bin/env python#_*_coding=utf-8_*_#Author: xieyixue#mail: xyx_0410@163.com#Created Time: 2015年07月01日 星期三 01时30分36秒class staticClass: def __in...
                            
                            
                                分类:
编程语言   时间:
2015-07-01 08:32:56   
                                阅读次数:
189
                             
                    
                        
                            
                            
                                #!/usr/bin/env python#_*_coding=utf-8_*_#Author: xieyixue#mail: xyx_0410@163.com#Created Time: 2015年07月01日 星期三 00时28分03秒def deco(func): '''定义装饰器接受参数,....
                            
                            
                                分类:
编程语言   时间:
2015-07-01 06:11:10   
                                阅读次数:
146
                             
                    
                        
                            
                            
                                装饰设计模式1.装饰设计模式:当想要对已有对象功能增强是,可以定义类,将已有对象传入;基于已有对象的功能,并提供增强功能,那么定义的类称为装饰类;装饰类通常会通过构造函数接收被装饰的对象,并基于被装饰的对象的功能,提供更强的功能; 如:BufferedStream(InputStream i...
                            
                            
                                分类:
其他好文   时间:
2015-06-29 20:05:32   
                                阅读次数:
96
                             
                    
                        
                            
                            
                                #coding=utf-8#python装饰器'''装饰器可以用def的形式来定义。装饰器接收一个可调用对象作为输入参数,并返回一个新的可调用对象。装饰器新建了一个可调用对象,也就是return返回的函数funx,在新增的函数中,可以添加我们需要的功能,并通过调用原有函数来实现原有函数的功能'''d...
                            
                            
                                分类:
编程语言   时间:
2015-06-29 13:01:23   
                                阅读次数:
157
                             
                    
                        
                            
                            
                                最近看了大话设计模式书中的装饰者模式,然后用C#照着写了一遍,发现运行出来的结果和书上不一样,然后又用Java写了一遍 和书上一样,同样的代码,不同的编译器与运行环境,Java和.NET   下面贴上代码 
首先是Java实现 
Beverage(饮料抽象类) 
CondimentDecorator(调料抽象类,继承Beverage) 
Latte(拿铁饮料,继承Beverage) 
Mocha(摩...
                            
                            
                                分类:
编程语言   时间:
2015-06-29 10:10:14   
                                阅读次数:
135
                             
                    
                        
                            
                            
                                方法一:装饰器利用“装饰器只会执行一次”这个特点def singleton(cls):
    instances = []# 为什么这里不直接为None,因为内部函数没法访问外部函数的非容器变量
    def getinstance(*args, **kwargs):
        if not instances:
            instances.append(cls(*args...
                            
                            
                                分类:
编程语言   时间:
2015-06-28 17:09:46   
                                阅读次数:
220
                             
                    
                        
                            
                            
                                一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式...
                            
                            
                                分类:
其他好文   时间:
2015-06-28 14:06:58   
                                阅读次数:
140