继承_月隐学python第16课
目錄
1.封裝
1.1 屬性私有化
1.2 屬性裝飾器
1.3 成員?法私有化
2.繼承
2.1 單繼承
2.2 多繼承(理解、了解)
3.類成員
作業
初級
中級
?向對象三?特征:封裝、繼承、多態
1.封裝
隱藏對象的屬性和實現細節,僅對外公開接?,控制在程序中屬性的讀取和修改的訪問級別。
類本身就是?種封裝,通過類可以將數據(屬性)和?為(?法)相結合,形成?個有機的整體,也就是將數據與對數據的操作有機的結合。封裝的?的是增強安全性和簡化編程,使?者不必了解具體的實現細節,?只是要通過外部接?,以特定的訪問權限來使?類的成員。成員私有化是實現封裝的?段。所有的成員默認是公有。
1.1 屬性私有化
如果想讓類的內部屬性不被外界直接訪問,可以在這個屬性的前?加兩個下劃線__,在Python中,如果?個屬性的前?出現 __,就表示這個屬性只能在當前類的?法中被直接訪問,不能通過對象直接訪問,這個變量就被稱為私有變量
1.2 屬性裝飾器
對于私有屬性的訪問,使?公開?法間接訪問的?法太麻煩, python提供了?種便捷語法,屬性裝飾器,通過屬性裝飾器,可以很?便的對私有屬性進訪問,屬性修飾器可以把?法屬性化。
1.3 成員?法私有化
如果對?個?法的名字前?加__,聲明該?法為私有?法,只能在當前類中被調?,在外界不能通過對象直接調?,這就是私有?法
2.繼承
?
?向對象編程 (OOP) 語?的?個主要功能就是“繼承”,所謂繼承就是使現有的類?需編碼便可以擁有原有類的?法和屬性。
被繼承的類可以稱之為?類、基類、超類。繼承的類可以稱之為?類、派?類。派?和繼承是?體兩?,從?類向?類看就是派?,從?類向?類看就是繼承。?類和?類的關系可以?“is a”類表示,即?類是?類的?種,是?個更具體、更加強?的?類。 python?持單繼承和多繼承。
繼承的優點:
- 可以簡化代碼,減少冗余度
- 提?了代碼的可維護性
- 提?了代碼的安全性
2.1 單繼承
所謂的單繼承就是?個?類只有?個?類。?類會繼承?類所有的屬性和?法。
- 私有成員在?類中?法直接使?
- ?類對象?法直接使?繼承??類的私有成員
- ?類?法和?類?法重名,通過?類對象調?的是?類?法
?
注意: object是Python中所有類的?類【?般情況下,如果?個類沒有指明的?類,默認它的?類為object】
- 構造函數的繼承
- ?法的改寫
- ?法添加
?
2.2 多繼承(理解、了解)
?個?類可以有多個?類。語法:
3.類成員
類成員包括:類屬性和類?法,不同于成員屬性和成員?法屬于對象,類屬性和類?法屬于類,可以不實例化對象,直接通過類名調?,這些類成員為所有對象共有,?般?于對象間通信。
在程序運?期間類屬性始終存在
類屬性
類?法和靜態?法
- 類?法屬于類,為所有對象共有,可以通過類名或對象調?
- 類?法可以?來訪問類屬性
- 靜態?法屬于類的作?域內的全局函數
- 類?法和靜態?法的區別,類?法第?個參數是類對象,由系統傳?,靜態?法沒有
- 共同點:靜態?法和類?法都可以通過類名直接調?,屬于類,不屬于對象
作業
初級
1.劉凱買了一臺玫瑰紅phone10,價值8000元,可以打電話、玩游戲
2.寫一個計算器?類,可以進行加、減、乘、除計算
3.設計兩個類:
- 一個點類,屬性包括xy坐標。
- 一個Rectangle類(矩形) ,屬性有左上?和右下角的坐標,可以計算矩形的面積;可以判斷點是否在正方形內
實例化一個點,?個正方形,輸出正?形的?積,輸出點是否在正方形內
4.定義一個Time類,成員屬性包括:時、分、秒;成員?方法: ?
add_hour(self,num) 把小時加num?add_minute(self,num) 把分鐘加num?add_second(self,num) 把秒數加num?重寫 __str(self)__ ?方法,返回格式化的時間字符串串: "04:16:09"
中級
1.請寫?個小游戲,人狗大站, 2個??,?和狗,游戲開始后,?成2個人, 3條狗,互相混戰,人被狗咬了會掉血,狗被人打了也掉血,狗和人的攻擊力,具備的功能都不?樣。
?
總結
以上是生活随笔為你收集整理的继承_月隐学python第16课的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 类和对象_月隐学python第15课
- 下一篇: 类成员_月隐学python第17课