1. 程式人生 > >Python3 與 C# 面向物件之~封裝

Python3 與 C# 面向物件之~封裝

關於__name__在模組呼叫的時候會詳細說,你可以先這樣理解:如果直接執行py檔案就執行,別人呼叫那麼你的main就不執行了

標準寫法:

# 1.匯入的模組
# 2.class的定義
# 3.其他方法定義

def main():
    pass

if __name__ == '__main__':
    main()

其他內容後面會繼續說,封裝部分再說說靜態方法類方法之類的就結束了(和C#還是有很大區別的)

1.7 類屬性、例項屬性

小明問老師:“老師老師,怎麼沒有靜態類,靜態屬性之類的東西呢?”

老師笑而不語道:“小傢伙原來不僅僅是體重增加啊,這求知慾也是大大的增加呢 ~ 且聽我慢慢道來”

類在程式裡面也是物件(你姑且可以認為所有的類都類似於C#裡面的靜態類),而通過類例項化的物件,叫例項化物件

例項屬性 --> 例項物件相互之間不共享 一般我們都是在__init__中定義

類屬性(類似於C#裡面的靜態欄位) --> 屬於類物件,多個例項物件之間共享

注意一下:相同名稱的例項屬性將遮蔽掉類屬性(儘量別同名)

類屬性除了可以通過 類名.類屬性 訪問外,還可以直接 例項物件.類屬性 (C#中抽象類和靜態類是不能被例項化的)

來個案例更直觀點:

相關推薦

Python3 C# 面向物件封裝

關於__name__在模組呼叫的時候會詳細說,你可以先這樣理解:如果直接執行py檔案就執行,別人呼叫那麼你的main就不執行了 標準寫法: # 1.匯入的模組 # 2.class的定義 # 3.其他方法定義 def main(): pass if __name__ ==

Python3 C# 面向物件異常相關

老師問了小明一聲,有幾個輸出? 小明驕傲的說道:“兩個,我寫了兩個異常處理,當然都執行了” 同學們又笑了,小潘調侃的說了句:“一看就知道去年C#沒好好學,這不都一樣嘛,遇到異常下面程式碼還執行嗎?用腦子好好想想” 當我們認為某些程式碼可能會出錯時,就可以用try來執行這段程式碼,如果執行出錯,則後續

Python3 C# 面向物件繼承多型

Python的多繼承最好是當C#或者Java裡面的介面使用,這樣結構不會混亂( 特殊情況除外) 來個例子: class Animal(object): pass class Flyable(object): """飛的方法""" pass class Ru

Python3 C# 網路程式設計 網路基礎篇

最新版本檢視:https://www.cnblogs.com/dotnetcrazy/p/9919202.html 入門篇 官方文件:https://docs.python.org/3/library/ipc.html(程序間通訊和網路) 例項程式碼:https://github.com/lotapp/

Python3 C# 併發程式設計 執行緒上篇

2.2.加強篇¶ 其實以前的Linux中是沒有執行緒這個概念的,Windows程式設計師經常使用執行緒,這一看~方便啊,然後可能是當時程式設計師偷懶了,就把程序模組改了改(這就是為什麼之前說Linux下的多程序程式設計其實沒有Win下那麼“重量級”),弄了個精簡版程序==>執行緒(核心是分不出程序

Python3 C# 併發程式設計程序先導篇

2.2.殭屍程序和孤兒程序¶ 先看看定義: 孤兒程序 :一個父程序退出,而它的一個或多個子程序還在執行,那麼那些子程序將成為孤兒程序。孤兒程序將被init程序(程序號為1)所收養,並由init程序對它們完成狀態收集工作。 殭屍程序 :一個程序使用fork建立子程序,如果子程序退出,而父程序並沒有

Python3 C# 併發程式設計 程序篇

NetCore併發程式設計¶  Python的執行緒、並行、協程下次說 先簡單說下概念(其實之前也有說,所以簡說下): 併發:同時做多件事情 多執行緒:併發的一種形式 並行處理:多執行緒的一種(執行緒池產生的一種併發型別,eg:非同步程式設計) 響應式程式設計:一種程式設計模式,對事件

Python3 C# 面向對象異常相關

efi bsp sof 一個 name final href 場景 插件 周末多碼文,昨天晚上一篇,今天再來一篇: 在線編程:https://mybinder.org/v2/gh/lotapp/BaseCode/master 在線預覽:http://github.les

補習:C# 面向物件三大特性:封裝、繼承、多型

C# 面向物件三大基本特性 封裝、繼承、多型 1、封裝 隱藏物件的屬性和實現細節,僅對外公開介面,控制在程式中屬性的讀取和修改的訪問級別。 C# 封裝根據具體的需要,設定使用者的訪問許可權,並通過 訪問修飾符 來實現。 一個 訪問修飾符 定義了一個類成員的範圍和可

c#面向物件繼承(經驗)

假設有一個基類A,另外有個繼承A的子類B,當建立物件a時===A a = new B();a.PrintObj();=== 用a去呼叫方法PrintObj(),在方法內部會出異常;因為dtObj沒有被例項化;如果去掉A的無參建構函式裡的 註釋,呼叫正確;子類呼叫父類方法,方法類用到的物件必須

Python3 C# 並發編程 上篇

動態 ken summary using 任務調度 影響 特征 可能 arp NetCore並發編程 示例代碼:https://github.com/lotapp/BaseCode/tree/master/netcore/4_Concurrency 先簡單說下概念(其實之前

C語言面向物件程式設計:封裝繼承(1)

最近在用 C 做專案,之前用慣了 C++ ,轉回頭來用C 還真有點不適應。 C++ 語言中自帶面向物件支援,如封裝、繼承、多型等面向物件的基本特徵。 C 原本是面向過程的語言,自身沒有內建這些特性,但我們還是可以利用 C 語言本身已有的特性來實現面向物件的一些基本特徵。接下來我們就一一來細說封裝、繼

C語言面向物件程式設計 一 封裝繼承

                    最近在用 C 做專案,之前用慣了 C++ ,轉回頭來用C 還真有點不適應。 C++ 語言中自帶面向物件支援,如封裝、繼承、多型等面向物件的基本特徵。 C 原本是面向過程的語言,自身沒有內建這些特性,但我們還是可以利用 C 語言本身已有的特性來實現面向物件的一些基本特徵。

Python3 C# 擴充套件基礎衍生

Help on generator object: test = class generator(object) | Methods defined here: | | __del__(...) | | __getattribute__(self, name, /)

Python3 C# 擴充套件基礎拓展

終於期末考試結束了,聰明的小明同學現在當然是美滋滋的過暑假了,左手一隻瓜,右手一本書~正在給老鄉小張同學拓展他研究多日的知識點 1.NetCore裝飾器模式¶ 裝飾器這次從C#開始引入,上次剛講迭代器模式,這次把裝飾器模式也帶一波(純Python方向的可以選擇性跳過,也可以當擴充套件)

Python3 C# 擴充套件模組專欄

3.控制可使用的函式、變數、類¶ 3.1.通過私有來控制¶ 在一個模組中,我們可能會定義很多函式和變數,但有的函式和變數我們希望給別人使用,有的函式和變數我們希望僅僅在模組內部使用。在Python中,是通過_字首來實現的 小明同學基礎功底紮實,看見標題小明就樂了,前面看了這麼多案例瞬間秒懂,大叫道~

Python學習第一天:面向物件封裝

  封裝是根據職責將屬性和方法 封裝到一個抽象的類中。 下面是我在學習中的練習案例: 1.小明愛跑步 class Person: def __init__(self,name,weight): self.name = name self.weight = w

Java面向物件多型(向上轉型向下轉型)

多型,大概每個人都知道。但是,又有幾個人真的理解什麼是多型、多型有哪些細節呢?如果你看到這篇文章的名字,腦海中對多型沒有一個清晰的概念,不妨點進來看看,也許會有收穫。 什麼是多型 簡單的理解多型 多型,簡而言之就是同一個行為具有多個不同表現形式或形態的能力。比如說,有一杯水,我不知道

面向物件(非)繫結方法,反射,isinstanceissubclass

isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)檢查是否obj是否是類 cls 的物件 class Foo(object): pass obj = Foo() isinstance(obj, Foo)

C#面向物件 | 面向物件基礎綜合練習

面向物件程式設計練習 使用類來描述遊戲中的角色 欄位:角色名字、簡介、暱稱、攻擊力、防禦力和速度。 方法:每個角色有三個不同的攻擊技能。 //角色一:埃洛克的基本資訊. AiLuoKe.cs. class AiLuoKe {