程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python設計模式 橋模式

編輯:Python

橋模式
適用於:幾種類,進行任意組合時的一種設計模式

from abc import ABCMeta, abstractmethod
# 形狀
class Shape(metaclass=ABCMeta):
# 在使用形狀時 設定需要先輸入一個顏色 橋模式的橋
# 在實際使用中傳入兩個對象,一個是輸入的對象, 另一個是自身對象
# 輸入的對象被賦值給了 color
def __init__(self, color):
self.color = color
@abstractmethod
def draw(self):
pass
# 顏色
class Color(metaclass=ABCMeta):
@abstractmethod
def paint(self, shape):
pass
class Re(Shape):
name = "方形"
def draw(self):
# 關鍵在這一步
# 在實際使用中傳入兩個對象,一個是輸入的對象, 另一個是自身對象
# 輸入的對象被賦值給了 color
# 我們需要調用的是 輸入的對象 的方法.paint()
# self 把自己作為參數傳遞給 self.color.paint() 這個函數 套娃了屬於是
self.color.paint(self)
class Red(Color):
def paint(self, shape):
print("紅色的", shape.name)
# 可以任意選擇 形狀(顏色)
# 通過拓展 新的形狀類 與 顏色類 來豐富組合
# 這就是 橋模式
s = Re(Red())
s.draw()

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved