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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python全栈开发——面向对象的三大特性(继承 多态 封装)

發布時間:2023/12/10 python 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python全栈开发——面向对象的三大特性(继承 多态 封装) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.繼承

1.兩層意思

改變和擴展(詳細看隨筆繼承和組合

?

2.多態(體現在運行時的狀態)

1.不同的類可以調用相同的方法,得到不同的結果

2.實際上是繼承的一種體現機制

?

class H2o:def __init__(self,name,temperature):self.name=nameself.temperature=temperaturedef turn_ice(self):if self.temperature<0:print('溫度太低,變成【%s】' %self.name)if self.temperature>100:print('溫度太高,變成【%s】' %(self.name))if self.temperature>=0 and self.temperature<=100:print('溫度適中,變成【%s】' %self.name) class water(H2o):pass class ice(H2o):pass class Steam(H2o):pass w1=water('water',46) i1=ice('ice',-12) s=Steam('stream',199)w1.turn_ice() # 溫度適中,變成【water】 i1.turn_ice() # 溫度太低,變成【ice】 s.turn_ice() #溫度太高,變成【stream】

?

3.封裝

1.拋開面向對象,你單獨想什么是裝,裝就是拿一個麻袋,把小貓, 小狗等一起裝進麻袋 ,在面向對象中,

這個麻袋就是你的類或對象,類或對象這兩個麻袋 裝了數據屬性和函數屬性,那么對于類或對象來說,封的概念代表隱藏

2.兩種方法隱藏

1.在前面加 (_)???????? (實際上是一種約定,還可以訪問,但程序員知道訪問這個不對)

2.在前面加(__)??????????? (實際上是字符串拼接

?

class Peoson:_star='earth'def __init__(self,name,age):self._name=nameself.__age=age p1=Peoson('lujiacheng',19) print(p1._star) #earth print(p1._name) #lujiacheng print(p1._Peoson__age) #19 實際上是拼接

?

3.第三層次的封裝:區分內外(利用第二層次的封裝),外部沒法訪問,只在內部使用, 外部要訪問,可定義一個接口(即函數),

供外部訪問 (但設計時要充分考慮數據是否要封裝,不然接口很多,所以不能亂用封裝

?

轉載于:https://www.cnblogs.com/lujiacheng-Python/p/9736163.html

總結

以上是生活随笔為你收集整理的Python全栈开发——面向对象的三大特性(继承 多态 封装)的全部內容,希望文章能夠幫你解決所遇到的問題。

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