Rust Note(10)_Abtract Concept 抽象化概念
Abstract 抽象化
理解
抽象化
概念剛好可以利用 struct 來做理解.
結構體詳細介紹請參閱前一篇 : Rust Note(9)
利用結構體 (struct) 創造出不一樣 types 的儲存體.
1 | struct Fruits { |
稍微想像一下, apple & banana 有什麼共同點?代碼重複性利用程度越高, 重複撰寫同樣代碼就少, 這樣也可以降低出錯的機會.
- 同樣都是水果
- 同樣都是有顏色的水果 (廢話, 有透明的水果嗎?(#゚ Д ゚))
如果今天遇到 apple, 就寫一次 apple 的物件…
下次遇到 banana, 就再寫一次 banana 的物件…
再下次遇到 lemon, 那就再寫一次 lemon 的物件…
如果今天遇到 7749 個水果…那不就寫到天荒地老…
阿是夠了沒…………(/‵Д′)/~ ╧╧
……
把共通點列出來, 做成
抽象層
, 那我們就可以利用這個抽象層來呼叫.
以上面 struct Fruits
的例子來說, 裡面包含了:
- 水果名稱
- 水果顏色
今天遇到了蘋果:
- apple
- fruit_name: apple
- fruit_color: red
今天遇到了香蕉:
- banana
- fruit_name: banana
- fruit_color: yellow
如果遇到火龍果:
- 火龍果
- fruit_name: 火龍果
- fruit_color: 紅色
有沒有發現大大的縮短創造物件的時間? 利用共通特性…
同時也可以避免出錯.
Rust_Note_20211114(1)