回覆列表
  • 1 # 北大青鳥海南大立校區

    在面向物件程式設計,類(英語:class)是一種面向物件計算機程式語言的構造,是建立物件的藍圖,描述了所建立的物件共同的屬性和方法。

    類的更嚴格的定義是由某種特定的元資料所組成的內聚的包。它描述了一些物件的行為規則,而這些物件就被稱為該類的例項。類有介面和結構。介面描述瞭如何透過方法與類及其例項互操作,而結構描述了一個例項中資料如何劃分為多個屬性。類是與某個層[1]的物件的最具體的型別。類還可以有執行時表示形式(元物件),它為操作與類相關的元資料提供了執行時支援。支援類的程式語言在支援與類相關的各種特性方面都多多少少有一些微妙的差異。大多數都支援不同形式的類繼承。許多語言還支援提供封裝性的特性,比如訪問修飾符。類的出現,為面向物件程式設計的三個最重要的特性(封裝性,繼承性,多型性),提供了實現的手段。在現實世界中,經常有屬於同一個類的物件。例如,某輛腳踏車只是世界上很多腳踏車中的一輛。

    在面向物件軟體中,也有很多共享相同特徵的不同的物件:矩形、僱用記錄、影片剪輯等。可以利用這些物件的相同特徵為它們建立一個藍圖。物件的軟體藍圖稱為類。類是定義同一類所有物件的變數和方法的藍圖或原型。例如,可以建立一個定義包含當前檔位等例項變數的腳踏車類。這個類也定義和提供了例項方法(變檔、剎車)的實現。例項變數的值由類的每個例項提供。因此,當建立腳踏車類以後,必須在使用之前對它進行例項化。當建立類的例項時,就建立了這種型別的一個物件,然後系統為類定義的例項變數分配記憶體。然後可以呼叫物件的例項方法實現一些功能。相同類的例項共享相同的例項方法。除了例項變數和方法,類也可以定義類變數和類方法。

    可以從類的例項中或者直接從類中訪問類變數和方法。類方法只能操作類變數 - 不必訪問例項變數或例項方法。系統在第一次在程式中遇到一個類時為這個類建立它的所有類變數的複製 - 這個類的所有例項共享它的類變數。物件和類的說明其實很相似。實際上,類和物件之間的差別經常是一些困惑的起源。在現實世界中很明顯,類不是它描述的物件 - 腳踏車的藍圖不是腳踏車。但是在軟體中就有點難區分類和物件。這部分是由於軟體物件只是現實世界的電子模型或抽象概念。但是也由於很多人用“物件”指類和它們的例項這兩者。

  • 2 # 你看我獨角獸嗎

    Python類和物件

    類是用於建立物件的使用者定義的藍圖或原型。類提供了一種將資料和功能捆綁在一起的方法。建立一個新類將建立一種新的物件型別,從而可以建立該型別的新例項。每個類例項可以具有附加的屬性以維護其狀態。類例項還可以具有用於修改其狀態的方法(由其類定義)。

    為了瞭解建立類的必要性,讓我們考慮一個示例,假設您想跟蹤可能具有不同屬性(如品種,年齡)的狗的數量。如果使用列表,則第一個元素可以是狗的品種,而第二個元素可以代表狗的年齡。假設有100條不同的狗,那麼您如何知道哪個元素應該是哪個?如果您想為這些狗新增其他屬性怎麼辦呢?

    類建立一個使用者定義的資料結構,該結構擁有自己的資料成員和成員函式,可以透過建立該類的例項來訪問和使用它們。類就像物件的藍圖。

    Python類的一些要點:

    類由關鍵字建立class。

    屬性是屬於類的變數。

    屬性始終是公共的,可以使用點(。)運算子進行訪問。例如:

    Myclass.Myattribute

    在上面的示例中,class關鍵字表明您正在建立一個類,後跟該類的名稱(在本例中為“ Dog”)。

    類物件

    物件是類的例項。一個類就像一個藍圖,而一個例項是具有實際值的類的副本。這不再是個主意,而是一條真實的狗,就像七歲的哈巴狗。您可以有很多狗來建立許多不同的例項,但是如果沒有該類的指導,您會迷路,不知道需要什麼資訊。

    一個物件包括:

    狀態:它由物件的屬性表示。它還反映了物件的屬性。行為:它由物件的方法表示。它還反映了一個物件對其他物件的響應。身份:它為一個物件賦予唯一的名稱,並使一個物件能夠與其他物件進行互動。

    宣告物件(也稱為例項化類)

    當建立一個類的物件時,該類被稱為例項化。所有例項都共享類的屬性和行為。但是這些屬性的值(即狀態)對於每個物件都是唯一的。單個類可以具有任意數量的例項。

    輸出:

    mamal I"m a mamal I"m a dog

    在上面的示例中,建立了一個物件,該物件基本上是一隻名為Rodger的狗。此類僅具有兩個類別的屬性,這些屬性告訴我們羅傑是狗和哺乳動物。

    The self

    類方法在方法定義中必須有一個額外的第一個引數。當我們呼叫方法時,我們沒有為該引數提供值,Python提供了它。

    如果我們有一個不帶引數的方法,那麼我們仍然必須有一個引數。

    這類似於C ++中的此指標和Java中的此引用。

    當我們將此物件的方法稱為時myobject.method(arg1, arg2),Python會自動將其轉換為MyClass.method(myobject, arg1, arg2)–這就是所有特殊的self。

    __init__方法

    該__init__方法類似於C ++和Java中的建構函式。建構函式用於初始化物件的狀態。與方法類似,建構函式還包含在建立物件時執行的語句(即指令)的集合。例項化類的物件後立即執行。該方法對於您要對物件進行的初始化非常有用。

    輸出:

    Hello, my name is Nikhil類和例項變數

    例項變數用於每個例項唯一的資料,而類變數用於該類的所有例項共享的屬性和方法。例項變數是其值在建構函式或方法self 中分配的變數,而類變數是其值在類中分配的變數。

    輸出:

    Rodger details: Rodger is a dog Breed: Pug Color: brown Buzo

    使用建構函式定義例項變數。

    輸出:

    brown

    總的來說,物件是將變數和函式封裝到單個實體中的方法。物件從類中獲取變數和函式。類本質上是建立物件的模板。

  • 3 # DoItYourself

    Python3 中有六個標準的資料型別:

    Number(數字)String(字串)List(列表)Tuple(元組)Set(集合)Dictionary(字典)

    Python3 的六個標準資料型別中:

    不可變資料(3 個):Number(數字)、String(字串)、Tuple(元組);可變資料(3 個):List(列表)、Dictionary(字典)、Set(集合)。

    具體可同步學習菜鳥教程:

    https://www.runoob.com/python3/python3-data-type.html

    加油,祝一切順利。

  • 中秋節和大豐收的關聯?
  • 常聽老人常說一畝3升地是什麼意思,3升地叫法?