类模式实现:

class Headphone:
    def play(self):
        pass

class ThreePointFiveMMHeadphone(Headphone):
    def play(self):
        print("播放3.5mm耳机")

class TwoPointFiveMMHeadphone(Headphone):
    def play(self):
        print("播放2.5mm耳机")

class USBTypeCHeadphone(Headphone):
    def play(self):
        print("播放USB Type-C耳机")

class LightingHeadphone(Headphone):
    def play(self):
        print("播放Lighting耳机")

class Adapter:
    def __init__(self, headphone):
        self.headphone = headphone

    def play(self):
        self.headphone.play()

class ThreePointFiveToUSBTypeCAdapter(Adapter):
    def __init__(self):
        headphone = ThreePointFiveMMHeadphone()
        super().__init__(headphone)

    def play(self):
        print("转换3.5mm耳机接口为USB Type-C接口")
        super().play()

class TwoPointFiveToUSBTypeCAdapter(Adapter):
    def __init__(self):
        headphone = TwoPointFiveMMHeadphone()
        super().__init__(headphone)

    def play(self):
        print("转换2.5mm耳机接口为USB Type-C接口")
        super().play()

class LightingToUSBTypeCAdapter(Adapter):
    def __init__(self):
        headphone = LightingHeadphone()
        super().__init__(headphone)

    def play(self):
        print("转换Lighting耳机接口为USB Type-C接口")
        super().play()

# 使用
usb_headphone = USBTypeCHeadphone()
usb_headphone.play()

adapter = ThreePointFiveToUSBTypeCAdapter()
adapter.play()

adapter = TwoPointFiveToUSBTypeCAdapter()
adapter.play()

adapter = LightingToUSBTypeCAdapter()
adapter.play()

对象模式实现:

class Headphone:
    def play(self):
        pass

class ThreePointFiveMMHeadphone(Headphone):
    def play(self):
        print("播放3.5mm耳机")

class TwoPointFiveMMHeadphone(Headphone):
    def play(self):
        print("播放2.5mm耳机")

class USBTypeCHeadphone(Headphone):
    def play(self):
        print("播放USB Type-C耳机")

class LightingHeadphone(Headphone):
    def play(self):
        print("播放Lighting耳机")

class Adapter:
    def __init__(self, headphone):
        self.headphone = headphone

    def play(self):
        self.headphone.play()

class ThreePointFiveToUSBTypeCAdapter(Adapter):
    def __init__(self):
        headphone = ThreePointFiveMMHeadphone()
        super().__init__(headphone)

    def play(self):
        print("转换3.5mm耳机接口为USB Type-C接口")
        self.headphone.play()

class TwoPointFiveToUSBTypeCAdapter(Adapter):
    def __init__(self):
        headphone = TwoPointFiveMMHeadphone()
        super().__init__(headphone)

    def play(self):
        print("转换2.5mm耳机接口为USB Type-C接口")
        self.headphone.play()

class LightingToUSBTypeCAdapter(Adapter):
    def __init__(self):
        headphone = LightingHeadphone()
        super().__init__(headphone)

    def play(self):
        print("转换Lighting耳机接口为USB Type-C接口")
        self.headphone.play()

# 使用
usb_headphone = USBTypeCHeadphone()
usb_headphone.play()

adapter = ThreePointFiveToUSBTypeCAdapter()
adapter.play()

adapter = TwoPointFiveToUSBTypeCAdapter()
adapter.play()

adapter = LightingToUSBTypeCAdapter()
adapter.play()
``

原文地址: https://www.cveoy.top/t/topic/hjkt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录