35mm接口及25mm接口; USB Type-C接口;lighting接口分别用类模式和对象模式实现耳机接口的转换写出代码
类模式实现:
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 著作权归作者所有。请勿转载和采集!