设计模式是面向对象的高度抽象和总结,而越抽象的东西越难以理解。今天就通过一段简单的代码带你们了解一下,更多相关内容前往java简短表白代码。
为了降低设计模式的阅读门槛,我将以生活中的小故事开始,用生动的方式由浅入深地讲述每一个模式。让你再次看到设计模式时不只是一个模式,还是生活中的一个个小确幸!
今天我们先来看看单例模式。
【故事剧情】
爱情是每一个都渴望的,Tony 也是一样!自从毕业后,Tony 就一直没再谈过恋爱,离上一次的初恋也已经过去两年。一个巧合的机会,Tony 终于遇上了自己的喜欢的人,她叫 Jenny,有一头长发,天生爱笑、声音甜美、性格温和……
作为一个程序员的 Tony,直男癌的症状也很明显:天生木讷、不善言辞。Tony 自然不敢正面表白,但他也有自己的方式,以一种传统书信的方式,展开了一场暗流涌动的追求……经历了一次次屡战屡败,屡败屡战的追求之后,Tony 和 Jenny 终于在一起了!
然而好景不太长,由于种种的原因,最后 Jenny 还是和 Tony 分开了……
人生就像一种旅行,蜿蜒曲折,一路向前!沿途你会看到许多的风景,也会经历很多的黑夜,但我们无法回头!有一些风景可能很短暂,而有一些风景我们希望能够伴随自己走完余生。Tony 经历过一次被爱,也经历过一次追爱;他希望下次能找到一个可陪伴自己走完余生的她,也是他的唯一!
用程序来模拟生活
相信每一个人都渴望有一个纯洁的爱情,希望找到唯一的她。不管你是单身狗一个,还是已经成双成对,肯定都希望你的伴侣是唯一的!程序如人生,程序也一样,有一些类你希望它只有一个实例。
我们用程序来模拟一个真爱。
源码示例:
class MyBeautifulGril(object): """我的漂亮女神""" __instance = None __isFirstInit = False def __new__(cls, name): if not cls.__instance: MyBeautifulGril.__instance = super().__new__(cls) return cls.__instance def __init__(self, name): if not self.__isFirstInit: self.__name = name print("遇见" + name + ",我一见钟情!") MyBeautifulGril.__isFirstInit = True else: print("遇见" + name + ",我置若罔闻!") def showMyHeart(self): print(self.__name + "就我心中的唯一!")
测试代码:
def TestLove(): jenny = MyBeautifulGril("Jenny") jenny.showMyHeart() kimi = MyBeautifulGril("Kimi") kimi.showMyHeart() print("id(jenny):", id(jenny), " id(kimi):", id(kimi))
输出结果:
遇见Jenny,我一见钟情! Jenny就我心中的唯一! 遇见Kimi,我置若罔闻! Jenny就我心中的唯一! id(jenny): 47127888 id(kimi): 47127888
看到了没,一旦你初次选定了 Jenny,不管换几个女人,你心中念叨的还是 Jenny!这才是真爱啊!哈哈……
这次的简短表白代码就更到这里,更多有趣的技术内容欢迎前往并持续关注编程学习网。
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/7708/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料