#: c04:ProxyDemo2.py
# Simple demonstration of the Proxy pattern.

class Implementation2:
  def f(self): 
    print "Implementation.f()"
  def g(self): 
    print "Implementation.g()" 
  def h(self): 
    print "Implementation.h()" 

class Proxy2:
  def __init__(self): 
    self.__implementation = Implementation2() 
  def __getattr__(self, name):
    return getattr(self.__implementation, name)

p = Proxy2()
p.f(); p.g(); p.h();
#<hr>
output = '''
Implementation.f()
Implementation.g()
Implementation.h()
'''
