類和物件細節區分 例項化

2021-10-14 15:08:15 字數 1239 閱讀 5995

首先,類是根據具體的事物/需求抽象出來的屬性特徵。

類中都可以有什麼呢?

1 main : 入口方法,只要該類不是用來作為啟動類的,就可以沒有

2 成員變數 : 每個物件共有的屬性,屬性值可以相同也可以不同

3 靜態變數 : 每個物件共有的屬性和值(儲存在方法區)

4 區域性變數

5 成員方法

6 靜態方法

7 構造方法

8 抽象方法

9 靜態語句塊

10 動態語句塊

11 this

12 super

類中只能出現這些,但是類中的一切都不是必須的,也可以什麼都不寫,但是如果寫的話只能寫這些

類庫端 : 就是被呼叫的

客戶端 : 就呼叫別人的

public class student

以上就是個學生類,裡面包括學生的各個屬性,當然也可以我之前所列舉的各個東西,為了簡介便於理解,就寫幾個變數。

注意:class student這個類具有雙重性,即是靜態類也是成員類。為什麼這麼說。首先說它是靜態類是因為我們要建立物件,通過物件去二次引用一些常量或者方法。他是成員類是因為要對各個變數進行初始化賦值。所以比較特殊。

1 **角度 : new 的乙個例項,封裝了特有的資料

2 資料角度 : 封裝資料和邏輯的一種方式

3 現實角度 : 物件就是某乙個具體的東西,一切皆物件

4 設計角度 : 從乙個實際的實體中抽象出來某些屬性的一種實體表示

類似圖中所呈現的那樣。student s1 = new student ();

格式為 類名 變數名 = new 構造方法(引數有無都可);

注意構造方法需要與類同名

在另外類的main方法中進行呼叫,這樣不用重新編寫就可以獲得一些你想要的學生類中的某些資訊了。

class檔案存放於方法區/靜態區,如圖所示我想在oop01類中二次呼叫學生類,首先opp01的main方法處於棧記憶體中,new出新的學生類物件,需要先去方法區找到學生類然後呼叫過來棧記憶體,並開闢出新的無參構造方法stu()在棧記憶體中;而棧記憶體中存的都是位址,如果想要呼叫或賦值stu.屬性的話需要訪問堆記憶體。

python物件導向程式設計 類和例項化

物件導向程式設計有三大特徵 封裝,繼承,多型 封裝 讓 有了的完整性,把客觀的現實中存在的事物抽象成計算機中的物件 好處 將變化隔離 便於使用 提高復用性 提高安全性 繼承 物件導向的乙個重要特性是復用性.繼承是實現復用性的乙個重要手段.可以在不重複編寫以實現的功能的前提下,對功能進行復用和拓展.繼...

python物件導向 定義類和例項化物件的概念

類就是一系列物件相似的特徵與技能的結合體 物件就是特徵與技能的結合體 python中的物件,乙個物件的特徵稱為 屬性 乙個物件的行為稱為 方法 如果我們把學生用類表示 class student school 學校 deflearn self print 學生會學習 def eat self pri...

python類物件和例項物件

類物件支援兩種操作 屬性引用和例項化。屬性引用 使用 python 中所有屬性引用所使用的標準語法 obj.name。有效的屬性名稱是類物件被建立時存在於類命名空間中的所有名稱。因此,如果類定義是這樣的 a example class i 12345 def f self return hello ...