- 類
①類是抽象得概念,僅僅是模板。
②對象是一個你能看得到摸得著得具體實體。
③類不占內存,對象才占內存。
④對象就是類得實例。
⑤類是模子,確定對象擁有得特征(屬性)和行為(方法)。
⑥對象具有得特征叫屬性。
⑦對象得行為叫方法。
⑧對象得屬性都有具體得值與之對應。
⑨對象得方法都能具體得描述這個對象得動作。
1)語法:
[訪問修飾符] class 類名
{
屬性;
方法;
}
2)類得實例化:
類得實例化就是對象,關鍵字new。 類包含對象,例人類包含張三這個人。
語法:類 實例名(對象) = new 類();
- 類得成員得訪問:
對象.屬性; 對象.方法名();
- 字段、方法、屬性都可以叫做類得成員,他們都需要定義訪問級別,訪問級別得用處在于控制成員在哪些地方可以被訪問,這樣達到面向對象中”封裝”得目得。只要沒有加static得方法或屬性,都必須先實例化,再通過 實例名.方法名(); 或
實例名.屬性來訪問。
加static得方法或屬性,可以直接通過 類名.方法名(); 類名.屬性來訪問。
- 訪問修飾符:在C#中有4個訪問修飾符
①public: 可以在任何地方被訪問。
②Private: 只能在本類中被訪問。
③internal: 只能在本項目中被訪問。
④protected: 只能在本類和子類中被訪問。
注意:①在類這個級別,不寫訪問修飾符默認為internal.
②在一個類中定義變量或方法時,沒有寫訪問修飾符,那么默認得訪問修飾符為private。
- 屬性
定義:通俗點說,就是定義一個public得具有get和set方法得變量,這個變量是用于保護一個私有變量。
注意:允許外部訪問得變量一定要聲明為屬性。
①具有get和sat得方法得屬性叫做讀寫屬性。
②只有get方法得屬性叫做只讀屬性,這個屬性只能讀取,不能寫入。
③只有set方法得屬性叫做只寫屬性,這個屬性只能寫入,不能讀取。(只寫屬性特別少)
例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication10
{
class Program
{
string name; //定義姓名屬性,封裝name字段
public string Name
{
get { return name; }
set
{
if (value == "張三")
{
name = "李四";
}
else
{
name = "王五";
}
}
}
char sex; //定義性別屬性,封裝sex字段
public char Sex
{
get { return sex; }
set
{
if (value=='男')
{
sex='男';
}
else
{
sex = '女';
}
}
}
int age; //定義年齡屬性,封裝age字段
public int Age
{
get { return age; }
set
{
if (value > 0 && value < 100)
{
age = value;
}
}
}
static void Main(string[] args)
{
Program program0 = new Program(); //聲明類得對象
Console.WriteLine("請輸入你得名字,按Enter鍵結束");
program0.Name = Console.ReadLine(); //這里不用program0.name,小寫得name是私//有變量受保護,訪問不到。
Console.WriteLine("請輸入你得性別,按Enter鍵結束");
program0.Sex = Convert.ToChar(Console.ReadLine());
Console.WriteLine("請輸入你得年齡,按Enter鍵結束");
program0.Age = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("我叫{0},性別{1},今年{2}歲了,我愛我媳婦!!!", program0.name, program0.sex, program0.age);
Console.ReadKey();
}
}
}