Python抽象工厂模式实现

# -*- coding:utf-8 -*-
'''
Created on 2017.9.3

@author: dell
'''
#注意  python动态的语言 类的属性不一定的被实例所共享 
class Item(object):
    caption = ''
    def __init__(self,caption):
        print "Item  caption  "+caption
        self.caption = caption

    def makeHTML(self):
        pass
    def getCaption(self):
        return self.caption
class Link(Item):
    url = ''
    def __init__(self,caption,url):
        print "Link  caption  "+caption
        Item.__init__(self,caption)
        self.url = url

    def getCaption(self):
        return self.caption

class ListLink(Link):
    def __init__(self,caption,url):
        print "ListLink   caption  "+ caption
        Link.__init__(self,caption,url)
    def makeHTML(self):
#         print super(ListLink,self).getCaption()

        return "<a>"+self.caption+"</a>"


class Factory(object):
    def createLink(self,caption,url):
        pass

class ListFactory(Factory):
    def createLink(self,caption,url):
        return ListLink(caption,url)


factory = ListFactory()
l1 = factory.createLink("Hello,Word", "Factory")
print l1.makeHTML()

print l1.__dict__
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值