1. 程式人生 > >面向對象編程語言特征:封裝、繼承、多態

面向對象編程語言特征:封裝、繼承、多態

調用 home 建議 name 不可 動態調用 () 基礎 子類

面向對象是在編程中很重要的一種編程思想,掌握了這種思想可以在很大程度上提高我們的開發效率,下面來說一下面向對象的三大特征和使用方法。

面向對象編程語言: C++、Python、Java、Swilt、C#

封裝:隱藏對象的實現細節,讓使用者不關心這些細節
封裝中包含兩種特殊的封裝方法,私有屬性和私有方法,這兩種方法有同一種特性,
那就是私有屬性或方法只能通過類中的方法調用,不可以在類的外部調用定義的私有屬性否則會執行報錯


#示例
class home:
def __init__(self,m):
self.__m = m

def __one(self):
prit(‘這是私有方法‘)

def tow(self):
print(self.__m)
self.__one()


h=home(‘這是私有屬性‘)
h.two()


單繼承:在不改變原來類的基礎上既可以用原來的類又可以添加新的方法,可以用作於功能的擴展,編程中建議使用單繼承 ,

不建議使用多繼承,多繼承在編程中有一些缺陷,在程序執行 過程中容易出現標識符(名字空間)沖突問題,所以謹慎使用多繼承。

#示例
class A:
def Aname(self):
print(‘Jimmy‘)
class B(A):
def Bname(self):
print(‘Jack‘)

p = B()
p.Aname()#用B對象調用A類中的name方法 Jimmy
p.Bname()#調用B類中的name方法 Jack

多態:多種狀態,是指由有繼承、派生關系類中,調用基類的方法,實際能夠調用子類的覆蓋方法的現象叫做多態。
多態的調用方法與對象有關,不予類有關(python中只有動態)動態調用多個同類的對象規劃為一類來統一處理,
再說的通俗一點,就是不同的對象調用相同的方法執行不同的行為就叫做多態。

#示例
class A:
def run(self):
print(‘A類的run方法‘)

class B(A):
def run(self):
print(‘B類的run方法‘)

class C(B):
def run(self):
print(‘C類的run方法‘)

def my_run(s):
s.run()


s1 = A()
s2 = B()
my_run(s1)
my_run(s2)

面向對象編程語言特征:封裝、繼承、多態