iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 11
1
Modern Web

ASP.NET Web Form 入門30天系列 第 11

[ASP.NET] [C#] 物件導向 - 類別及物件的觀念確立 ( + 命名空間在幹嘛?! )

本篇擷取重點:

  1. 物件與類別 (+和命名空間的關係)

一、物件與類別的觀念確立

物件與現實中的物件相似,在電腦上的物件是實際存在的,只不過他以資料的形式存在於電腦上,並根據它所屬的類別而有不同的儲存方式。也就是說,物件就是根據某一類別的規則存在於電腦上(通常是記憶體)的一團資料

類別是我們定義的一群相似物件的代表名稱。類別裡包含那類物件會各別擁有的屬性(Property)、方法(Method)。例如說: 世界上有許許多多的人(物件),每個人都屬於人類(類別)。每個人都有身高、體重、年紀(屬性)等等,而你可以要求某人做某個動作(方法)。

基本上,類別只用來決定物件形成時的樣子,當物件形成時,物件就變成一個記憶體中的空間,記載著物件活動時暫存的資料與狀態,並且當有類別存在時有能力透過方法(Method)執行一些動作

我們可以藉由下方的圖,來了解物件及類別的關係:

https://ithelp.ithome.com.tw/upload/images/20190912/20120056hsSn2b6Ofe.jpg

所以,我們很常聽見一種說法:

  1. 物件是物件導向程式語言的基礎。
  2. 類別是物件導向程式語言建構物件的藍圖。

參考資料:
https://home.gamer.com.tw/creationDetail.php?sn=4003272 (推薦)

==================================================================
貼心小補充:

命名空間,在C#程式語言中,除了使用class關鍵字宣告類別定義之外,為了避免類別名稱衝突,造成程式中使用上的混淆,以及方便程式設計師管理專案中數十、甚至於數百個類別的定義,因此加入了「命名空間 (Namespace)」的機制。命名空間就像是人的姓氏一樣,例如,在一個班級當中,可能會有兩三個小朋友都叫做「淑芬」,但是如果老師有指明要找的是「鄭淑芬」的話,就可以找到特定的小朋友。因此,在定義類別之前,可以使用下列的語法宣告類別定義的命名空間

namespace 命名空間名稱 {
//類別定義⋯
}

一般在專案中加入類別定義時,會自動設定專案名稱為預設的命名空間名稱,如果要修改的話,可以在「方案總管」視窗中選取專案之後,按下滑鼠右鍵後,從快捷選單中選取「屬性」選項按鈕之後,從專案的「屬性」視窗的「應用程式」頁籤中,修改預設命名空間的值就可以了。

而當你在程式當中,使用了.NET Framework基本類別函式庫或是其他專案中的類別定義時,為了簡化程式的操作,可以在程式碼的最前面,使用using關鍵字,事先宣告程式碼中需要參考的命名空間,如此一來,在程式中使用類別定義的時候,就不需要使用完整名稱

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

參考資料:
https://www.delightpress.com.tw/bookRead/skup00007_read.pdf (大推薦)

==================================================================


即將於明日起三天迎來中秋連續假期,預祝各位大大中秋佳節闔家愉快,接下來三天的內容,筆者會盡量將內容控制在好咀嚼好吸收的分量,而這三天的預計探討課題將寫在下方,也歡迎各位大大參與討論,一起進步。

明天(9/13)的探討主題:類別
後天(9/14)的探討主題:物件



上一篇
[ASP.NET] [C#] 物件導向 - 封裝
下一篇
[ASP.NET] [C#] 物件導向 - 十分鐘聽我說 類別 (一)
系列文
ASP.NET Web Form 入門30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

2
YoChen
iT邦研究生 1 級 ‧ 2019-09-12 18:14:14

類別裡包含那類物件會各別擁有的數值(Value)、方法(Method)

數值(Value) 改用 屬性(Property) 來描述可能會好一點~XDDD

水!

我要留言

立即登入留言