面向對象編程語言特征:封裝、繼承、多態
面向對象是在編程中很重要的一種編程思想,掌握了這種思想可以在很大程度上提高我們的開發效率,下面來說一下面向對象的三大特征和使用方法。
面向對象編程語言: 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)
面向對象編程語言特征:封裝、繼承、多態