正在複習C#~(書 和影片 文章 看到頭暈)
發現有些觀念真的簡單又不簡單
一定要用自己的方式搞懂~!
(P.S以下是自學筆記淺談而已)
概念:真實世界中的所有具體或抽象的事物,
都可以將之視為一個『物件』 ,
物件是動態的,狀態會隨時改變但架構與行為不會改變。
舉例具體的東西
車子
屬性(Property):品牌名、速度、排氣量、顏色、重量
方法(Method): 往前行駛、倒退、煞車
人
屬性(Property):名字、性別、生日、身高、體重
方法(Method):講話、吃飯、走路
在程式設計或執行階段,我們可以藉由改變屬性值來改變整個物件的某些特性,完成我們想要的物件表示形式。
例如:把車子漆成藍色、將波特的眼鏡換為方形...等。
宣告物件的方法,直接使用類別的名稱來宣告
class Student
{
String name;
String sex;
int age;
}
Student Harry; //宣告物件變數Harry
產生物件實體使用的是new運算子,範例如下:
//物件變數 = new 類別名稱(引數1,引數2…);
Harry = new Student();
可以直接寫成這樣
Student Harry = new Student();
類別算是一個藍圖、一個範本、一個可參考的文件,他沒有 實體 (Instance) 的概念,屬靜態的
類別可像結構一樣,可以在類別中定義多種基本資料型態(如int、char、float)的變數,
這些資料變數稱為類別的資料成員(data member)。
類別還可以定義所需的功能函數稱為成員函數(member function)。是一種加上行為(函式)的結構
也把「資料」與處理資料的程式「函式」整合起來
一個類別包含:
由類別所宣告的變數叫做物件(object)
在實際的物件導向程式設計中(例如 C#、Java),我們必須先定義類別,然後才能夠透過類別宣告各個屬於該類別下的物件,接著再設定物件的屬性來代表該物件某方面的特性,並使用物件的方法來操作物件。
【範例】
//定義一個Person類別 裡面有姓名 性別 及年齡
//資料型態有string字串 與int整數型別
class Person
{
String name;
String sex;
int age;
}
(引用保哥的比喻)
蓋世武功
類別:武林密笈
物件:修練武林密笈而成的武林高手
兩者關係:
武林密笈(類別)記載許多各種攻擊與回應的方式,
讓武林高手(物件)知道遭遇到什麼攻擊時要用什麼招式回應。
程式設計:每執行到我們用 new 運算子時,等同於將物件產生,
也等同於成功得到武林密笈可以開始練功,或是在「建構子」的時候就已經賦予你基本功力。
大概介紹到以上 哈哈
關於所有類型和類型成員都具有存取範圍層級
public
protected
internal
protected internal
就等下一篇文章出產啦
來源參考自:
Will保哥的物件導向基礎:何謂類別(Class)?何謂物件(Object)?
陳鍾誠老師的C#程式教學