日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

组合,多态,封装, @property

發布時間:2025/6/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 组合,多态,封装, @property 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 組合
    • 什么是組合
    • 為什么使用組合
    • 如何使用組合
  • 多態
    • 什么是多態
    • 多態性
      • - 好處
  • 封裝
    • 封裝是什么意思
    • @property

組合

什么是組合

? - 對象的某一個屬性是另一個類的對象

class A:def __init__(self,B)self.B = B class B: passb = B() a = A(B)

為什么使用組合

? - 減少代碼冗余

如何使用組合

多態

什么是多態

? - 一類事物的多種形態

多態性

? - 都有自己的特性,例如 ?,? 都會叫,叫就是他們的多態

? - 崇尚鴨子類型(只要走路像鴨子【對象中有某個綁定方法】,那你就是鴨子)

? - 不考慮對象類型的情況下使用實例(也就是使用對象中的相同名字的方法)

- 好處

? -- 增加了程序的靈活性

? -- 增加了程序的可擴展性

封裝

封裝是什么意思

? - 就是把東西包起來,別人用不了,外部訪問不到,但是在python中這個包裝數據的箱子是紙做的,通過一些方法,比如下面說到的@property、@property.setter、@property.deleter,就可以實現對私有變量的獲取,修改,刪除

@property

  • 將被裝飾方法偽裝成一個數據屬性,在使用的時候可以不加括號直接使用
  • 注意的一點:被偽裝的方法只能有self這一個參數
class A:def __init__(self, x, y):self.x = xself.y = y@propertydef size(self):return self.x * self.ys = A(10,2) print(s.size) # 區別就在于size加不加括號
  • @property的兩個擴展應用 (裝飾器)

    ? - 用于使用修改刪除定義的私有變量

  • @property.setter
    @property.deleter

class A:def __init__(self):self.__x = 10self.__y = 20@property # 獲取,不需要括號def size(self):return self.__x * self.__y@size.setter # 修改def size(self, t):self.__x -= t@size.deleter # 刪除def size(self):del self.__xs = A() # 定義s對象 print(s.size) # 運行size,執行__x 乘 __y s.size = 100 # 修改 __x 減去 100 print(s.size) del s.size # 刪除__x print(s.__dict__)

轉載于:https://www.cnblogs.com/xiongchao0823/p/11425126.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的组合,多态,封装, @property的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。