類和物件 記憶體儲存問題

2021-10-08 17:11:27 字數 1684 閱讀 6277

都是一種解決問題的思路(思想)

面向過程

在解決問題的時候,關注的是解決問題的每乙個的過程(步驟)

物件導向

在解決問題的時候,關注的是解決問題所需要的物件

舉個例子:做好飯之後洗碗

物件導向

物件導向和面向過程都是解決問題的一種方式(思想) 物件導向本身是對面向過程的封裝.

1> 面向過程程式設計最重要的是什麼?

2> 物件導向程式設計最重要的什麼?

3> 如何從面向過程程式設計的思想,過渡到物件導向程式設計?

一樣的,列舉出乙個任務的具體實現步驟

試圖分離這些實現步驟中的功能**塊

將這些功能**塊,劃分到某乙個物件中

根據這個物件以及對應的行為,抽象出對應的類 設計類

類和物件的儲存方式、關係

定義乙個類名為money的類:

物件屬性儲存方式

類屬性儲存方式

類屬性訪問方式

1)通過 類名.類屬性 訪問類屬性

2)通過 物件名.類屬性 訪問類屬性

為什麼可以通過 物件 訪問到類屬性?

答: 和python物件的屬性查詢機制有關

限制物件屬性

class

money

(object):

# 通過設定類屬性__slots__來限制物件的屬性

# __slots__這個屬性是乙個列表,列表中的元素,即為通過這個類建立出的物件可以新增的物件屬性

# 如果這個類例項出的物件,新增了非列表之內的屬性,則會報錯

__slots__ =

['name'

,'age'

]p1 = money(

)# p1 這個物件只可以新增 age和 name這兩個屬性

p1.age =

18p1.name =

'as'

print

(p1.age)

print

(p1.name)

# 如果這個類例項出的物件,新增了非列表之內的屬性,則會報錯

p1.num =

222print

(p1.num)

輸出結果:

18as

# 錯誤資訊

traceback (most recent call last)

: file "f:/pycharmprojects/code/限制物件的屬性.py"

, line 19,in

p1.num =

222attributeerror:

'money'

object has no attribute 'num'

物件和類在jvm記憶體中的儲存機制

物件和類在jvm記憶體中的儲存機制 引言 為什麼要有物件導向?a.可以用類組織一批不同型別的資料 b.把現實世界的物和事轉換到計算中 現實世界的物件 計算機中的類 計算機記憶體中的物件 要實現物件導向的手段和途徑,關鍵是類 類 就是乙個名字 就是乙個模型 就是乙個資料結構 就是一種資料型別 用類可以...

儲存類,鏈結和記憶體管理

一,儲存類 不同的儲存類提供了變數的作用域,鏈結以及儲存時期的不同組合。儲存時期,作用域,鏈結 儲存時期 變數在記憶體中保留的時間。函式原型作用域從變數定義處一直到原型宣告的末尾。這說明編譯器在處理乙個函式的引數時,它所關心的只是該引數的型別。乙個在所有函式之外定義的變數具有檔案作用域。二,鏈結 關...

儲存類 鏈結和記憶體管理

作用域 鏈結乙個 變數具有下列鏈結之一 外部鏈結 內部鏈結或空鏈結。具有 塊作用域或者函式原型作用域的變數有空鏈結,意味著它們是由其定義所在的 塊或者函式原型所私有的。具有檔案作用域的變數可能有內部或者外部鏈結。乙個具有外部鏈結的變數可以在乙個多檔案程式的任何地方使用。乙個具有內部鏈結的變數可以在乙...