python 图片识别服装_[Python设计模式] 第6章 衣服搭配系统——装饰模式

题目

设计一个控制台程序,可以给人搭配嘻哈风格(T恤,垮裤,运动鞋)或白领风格(西装,领带,皮鞋)的衣服并展示,类似QQ秀那样的。

基础版本

class Person():

def __init__(self, name):

self.name = name

def wear_T_shirts(self):

print("T恤")

def wear_big_trouser(self):

print("垮裤")

def wear_sneakers(self):

print("运动鞋")

def wear_suit(self):

print("西装")

def wear_tie(self):

print("领带")

def wear_leather_shoes(self):

print("皮鞋")

def show(self):

print("装扮的{}".format(self.name))

客户端代码

def main():

hezhang = Person("张贺")

print("第一种装扮")

hezhang.wear_T_shirts()

hezhang.wear_big_trouser()

hezhang.wear_sneakers()

hezhang.show()

print("第二种装扮")

hezhang.wear_suit()

hezhang.wear_tie()

hezhang.wear_leather_shoes()

hezhang.show()

main()

第一种装扮

T恤

垮裤

运动鞋

装扮的张贺

第二种装扮

西装

领带

皮鞋

装扮的张贺

点评

仅实现了基本功能

如果添加“超人”装扮,需要如何做?需要在Person类中改代码;

如果Person类除了穿衣服,还要支持吃饭,睡觉等功能,需要如何做?需要在Person类中改代码;

综上,需要把“服饰”类和“人”类分离。

改进版本1.0——人衣分离

class Person():

def __init__(self, name):

self.name = name

def show(self):

print("装扮的{}".format(self.name))

from abc import ABCMeta, abstractmethod

class Finery(metaclass=ABCMeta):

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值