python 內部類和隱藏方法 類繼承 多型

2021-10-12 03:00:10 字數 2037 閱讀 7662

1、內部類和隱藏方法

偶爾使用的類可以作為內部類,減輕**工作量

不希望在物件例項中被訪問的方法就是隱藏方法,通過在方法名稱前加__字首就可以實現隱藏方法

class student:

def __init__

(self,name,no)

: self.name=name

self.no=no

self.laptop=self.

laptop()

def show

(self)

:print

(self.name,self.no)

#內部方法隱藏

def __show2

(self)

:print

("\n"

) class laptop:

def __init__

(self)

: self.brand=

"dell"

self.cpu=

"i7"

self.ram=

"16g"

tom=

student

("tom"

,1825

)tom.

show()

print

(tom.laptop)

print

(tom.laptop.brand)

print

(tom.laptop.cpu)

tom 1825

<__main__.student.laptop object at 0x000001dc62922f10

>

dell

i7

2、類的繼承

實現**的重用,相同的**不需要重複的編寫

繼承的傳遞性

子類繼承父類,可以直接享受父類中已經封裝好的方法,不需要再次開發

方法的重寫

當父類的方法實現不能滿足子類的需求時,可以對方法進行重寫

多繼承

3、多型

多型可以增加**的靈活度

以繼承和重寫父類方法為前提

是呼叫方法的技巧,不會影響到類的內部設計

class animal:

def __init__

(self)

:print

("這是動物類"

) def eat

(self)

:print

("動物吃東西"

)#繼承

class dog

(animal)

: def __init__

(self)

:print

("這是狗類"

) #方法的重寫

def eat

(self,x=none)

: #調取父類的方法

#覆蓋,保留新的功能(使用super),增添新的功能(小狗愛吃骨頭)

super()

.eat()

if x==none:

print

("小狗愛吃骨頭"

)else

:print

("小狗愛吃"

+str

(x))

#多型,不同的類中,有相同的方法,eat()

#多型,同乙個類中,相同的函式,引數不一樣,出現不同的狀態

dog1=

animal()

dog1.

eat(

)dog1=

dog(

)dog1.

eat(

)dog1.

eat(

"魚")

這是動物類

動物吃東西

這是狗類

動物吃東西

小狗愛吃骨頭

動物吃東西

小狗愛吃魚

內部類(成員內部類 靜態內部類 方法內部類)

一 成員內部類 最常見的內部類就是成員內部類,也稱作普通內部類 2 inner類中定義的test 方法可以訪問outer類中的資料,不受訪問控制符的影響。3 定義了成員內部類後,必須使用外部類物件來建立內部類物件,而不能直接去 new 乙個內部類物件,即 內部類 物件名 外部類物件.new 內部類 ...

內部類和匿名類

內部類在外部類中有特權 內部類可以毫無限制地訪問外部類的所有成員。編譯之後,內部類也可產生 單獨的.class檔案,檔名為 外部類名 內部類名.class例5.22 內部類使用示例。public class outerclass public static void main string args...

方法內部類(區域性內部類)

關於內部類,所謂內部類,就是乙個類裡面再寫了乙個類,和c語言裡面的巢狀關係很相似,我就介紹一下方法內部類 一 方法內部類 又名區域性內部類 由名字可知,該內部類是寫在乙個方法裡面的,其用法如下 1.方法內部類的地位和方法裡面的區域性變數相似,所以不能用public等修飾詞修飾 2.方法內部類只能在宣...