溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python面向對象之封裝、繼承、多態操作的示例分析

發布時間:2021-08-18 10:01:38 來源:億速云 閱讀:179 作者:小新 欄目:開發技術

這篇文章主要介紹Python面向對象之封裝、繼承、多態操作的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

封裝、繼承、多態 是面向對象的3大特性

為啥要封裝

Python面向對象之封裝、繼承、多態操作的示例分析

Python面向對象之封裝、繼承、多態操作的示例分析

好處

在使用面向過程編程時,當需要對數據處理時,需要考慮用哪個模板中哪個函數來進行操作,但是當用面向對象編程時,因為已經將數據存儲到了這個獨立的空間中,這個獨立的空間(即對象)中通過一個特殊的變量(class)能夠獲取到類(模板),而且這個類中的方法是有一定數量的,與此類無關的將不會出現在本類中,因此需要對數據處理時,可以很快速的定位到需要的方法是誰 這樣更方便

全局變量是只能有1份的,多很多個函數需要多個備份時,往往需要利用其它的變量來進行儲存;而通過封裝 會將用來存儲數據的這個變量 變為了對象中的一個“全局”變量,只要對象不一樣那么這個變量就可以再有1份,所以這樣更方便

代碼劃分更清晰

面向過程

全局變量1
全局變量2
全局變量3
...
def 函數1():
  pass
def 函數2():
  pass
def 函數3():
  pass
def 函數4():
  pass
def 函數5():
  pass

面向對象

class 類(object):
  屬性1
  屬性2
  def 方法1(self):
    pass
  def 方法2(self):
    pass
class 類2(object):
  屬性3
  def 方法3(self):
    pass
  def 方法4(self):
    pass
  def 方法5(self):
    pass

為啥要繼承

Python面向對象之封裝、繼承、多態操作的示例分析

說明

能夠提升代碼的重用率,即開發一個類,可以在多個子功能中直接使用

繼承能夠有效的進行代碼的管理,當某個類有問題只要修改這個類就行,而其繼承這個類的子類往往不需要就修改

怎樣理解多態

class MiniOS(object):
  """MiniOS 操作系統類 """
  def __init__(self, name):
    self.name = name
    self.apps = [] # 安裝的應用程序名稱列表
  def __str__(self):
    return "%s 安裝的軟件列表為 %s" % (self.name, str(self.apps))
  def install_app(self, app):
    # 判斷是否已經安裝了軟件
    if app.name in self.apps:
      print("已經安裝了 %s,無需再次安裝" % app.name)
    else:
      app.install()
      self.apps.append(app.name)
class App(object):
  def __init__(self, name, version, desc):
    self.name = name
    self.version = version
    self.desc = desc
  def __str__(self):
    return "%s 的當前版本是 %s - %s" % (self.name, self.version, self.desc)
  def install(self):
    print("將 %s [%s] 的執行程序復制到程序目錄..." % (self.name, self.version))
class PyCharm(App):
  pass
class Chrome(App):
  def install(self):
    print("正在解壓縮安裝程序...")
    super().install()
linux = MiniOS("Linux")
print(linux)
pycharm = PyCharm("PyCharm", "1.0", "python 開發的 IDE 環境")
chrome = Chrome("Chrome", "2.0", "谷歌瀏覽器")
linux.install_app(pycharm)
linux.install_app(chrome)
linux.install_app(chrome)
print(linux)

運行結果

Linux 安裝的軟件列表為 []
將 PyCharm [1.0] 的執行程序復制到程序目錄...
正在解壓縮安裝程序...
將 Chrome [2.0] 的執行程序復制到程序目錄...
已經安裝了 Chrome,無需再次安裝
Linux 安裝的軟件列表為 ['PyCharm', 'Chrome']

以上是“Python面向對象之封裝、繼承、多態操作的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女