---
# System prepended metadata

title: 筆記_C#小山教學
tags: [C#, oop]

---

# 筆記_C#小山教學

-----

###### tags: `C#` `oop`


目錄
- 第14課-物件導向基礎 Class
- 第15課-Class 簡介(續)
- 第16課-Value 與 Reference Type
- 









## 小山的 C# 教學-第14課-物件導向基礎 Class 與 小山的 C# 教學-第15課-Class 簡介(續)

1. 物件導向就是物件之間的互動完成
2. 建立物件前先定義class
3. class分成「property 屬性」、「method 方法」
4. 屬性為性質 方法為行為與能力
5. method 的格式為「public output型別 method名稱(input型別與名稱)」
6. 要存取物件使用物件變數(使用new的變數)
7. 只是宣告class變數不會產生物件，必須要用「new class()」才能夠產生物件
8. 使用物件中的屬性(property)與方法(method)，使用. 例如「s.Say()」


Class 類別
1. 屬性
2. 方法|行為

根據class設計圖製作出物件

### 方法前的型別表示輸出值(output)的型別

![](https://i.imgur.com/hjYasGC.png)

![](https://i.imgur.com/ZA8OMBO.png)

### method名稱(input的型別名稱)
![](https://i.imgur.com/xgqAoOx.png)

return表示輸出output

![](https://i.imgur.com/grx3S02.png)

### 要使用物件就必須用 Class的變數名來存取
![](https://i.imgur.com/J2WnbPH.png)

### 產生物件使用new
使用class變數存取物件

![](https://i.imgur.com/eh5gPAC.png)

![](https://i.imgur.com/FPwJATV.png)

![](https://i.imgur.com/rlWR9Vx.png)

![](https://i.imgur.com/afCrasH.png)


### 物件存取Class的 屬性| 方法 用.
![](https://i.imgur.com/HF5JfKS.png)

### 不回傳資料的method

#### 小山重點提示

1. 如果沒有輸出值的話，就要用 void 代替輸出值void 代表「沒有任何值」
2. 如果要取得輸入值的話，必須用類似宣告變數的方式宣告輸入值
例如：talk 這個 method 有兩個輸入值，字串 sname 與數字 sgrade
那就要打成 p…. talk(string sname, int sgrade) { 定義 method }

3. 將資料包裝成物件可以幫助重複使用資料
4. 將物件傳入其他物件的 method 中使用就是一種「物件互動」的方式


![](https://i.imgur.com/GhLStCT.png)

### 讓method接受物件變數
![](https://i.imgur.com/kJtRFj2.png)


----
## 小山的 C# 教學-第16課-Value 與 Reference Type


## 型別與變數的差別
![](https://i.imgur.com/B8U3jPw.png)





