tft每日頭條

 > 生活

 > 面向對象七條設計原則記憶口訣

面向對象七條設計原則記憶口訣

生活 更新时间:2025-02-05 05:10:58

大家好,我是楊數Tos,這是《從零基礎到大神》系列課程的第73篇文章,第三階段的課程:Python進階知識:類與對象(四);類與對象的名稱空間,對象中屬性查找的順序。

面向對象七條設計原則記憶口訣(對象屬性的查找順序)1

一、類的名稱空間

首先,類中存放的全部數據、方法是所有對象共有的,所有的對象都能使用;

其次,在Python中定義類的時候,Python解釋器就會執行一遍類中代碼;所以類的名稱空間是類被定義的時候就産生的;

定義類的時候産生的名稱空間包括:類體代碼的内存地址,類名的内存地址,類名的内存地址會指向類體代碼的内存地址;

面向對象七條設計原則記憶口訣(對象屬性的查找順序)2

二、對象的名稱空間

對象的名稱空間是在對象初次實例化(即創建對象的時候)就建立了;對象實例化的時候會産生:對象名的内存地址,對象體代碼的内存地址,對象名會指向類體代碼與對象本身的代碼;

面向對象七條設計原則記憶口訣(對象屬性的查找順序)3

三、對象中屬性查找的順序

與其他編程語言不一樣的地方在于,Python是支持繼承并且是支持多繼承的;

所以,在對象中查找屬性的順序是:

1、對象本身去查找,(若對象中沒有,則2);

2、類中去查找 ,(若類中沒有,則3);

3、去這個類的父類中去查找 ,(若父類中沒有,則4);

4、去這個父類中的基類去查找,(若基類中也沒有,則返回報錯信息。

面向對象七條設計原則記憶口訣(對象屬性的查找順序)4

由于在Python中類是支持多繼承的,所以引發多繼承的“菱形問題”(即要先去哪一個父類中獲取屬性);這個我們會在接下來的文章中詳細說明。

面向對象七條設計原則記憶口訣(對象屬性的查找順序)5

以上是本期内容,如果有表達不對的内容,歡迎您的留言、斧正,我們一起天天向上。

感謝您的閱讀,您的三連【關注、點贊、收藏】就是對我最大的支持,謝謝!

本文由楊數Tos原創,歡迎關注,帶你一起長知識。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved