- 類
①類是抽象得概念,僅僅是模板。
②對象是一個(gè)你能看得到摸得著得具體實(shí)體。
③類不占內(nèi)存,對象才占內(nèi)存。
④對象就是類得實(shí)例。
⑤類是模子,確定對象擁有得特征(屬性)和行為(方法)。
⑥對象具有得特征叫屬性。
⑦對象得行為叫方法。
⑧對象得屬性都有具體得值與之對應(yīng)。
⑨對象得方法都能具體得描述這個(gè)對象得動(dòng)作。
1)語法:
[訪問修飾符] class 類名
{
屬性;
方法;
}
2)類得實(shí)例化:
類得實(shí)例化就是對象,關(guān)鍵字new。 類包含對象,例人類包含張三這個(gè)人。
語法:類 實(shí)例名(對象) = new 類();
- 類得成員得訪問:
對象.屬性; 對象.方法名();
- 字段、方法、屬性都可以叫做類得成員,他們都需要定義訪問級別,訪問級別得用處在于控制成員在哪些地方可以被訪問,這樣達(dá)到面向?qū)ο笾小狈庋b”得目得。只要沒有加static得方法或?qū)傩?,都必須先?shí)例化,再通過 實(shí)例名.方法名(); 或
實(shí)例名.屬性來訪問。
加static得方法或?qū)傩裕梢灾苯油ㄟ^ 類名.方法名(); 類名.屬性來訪問。
- 訪問修飾符:在C#中有4個(gè)訪問修飾符
①public: 可以在任何地方被訪問。
②Private: 只能在本類中被訪問。
③internal: 只能在本項(xiàng)目中被訪問。
④protected: 只能在本類和子類中被訪問。
注意:①在類這個(gè)級別,不寫訪問修飾符默認(rèn)為internal.
②在一個(gè)類中定義變量或方法時(shí),沒有寫訪問修飾符,那么默認(rèn)得訪問修飾符為private。
- 屬性
定義:通俗點(diǎn)說,就是定義一個(gè)public得具有g(shù)et和set方法得變量,這個(gè)變量是用于保護(hù)一個(gè)私有變量。
注意:允許外部訪問得變量一定要聲明為屬性。
①具有g(shù)et和sat得方法得屬性叫做讀寫屬性。
②只有g(shù)et方法得屬性叫做只讀屬性,這個(gè)屬性只能讀取,不能寫入。
③只有set方法得屬性叫做只寫屬性,這個(gè)屬性只能寫入,不能讀取。(只寫屬性特別少)
例:
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鍵結(jié)束");
program0.Name = Console.ReadLine(); //這里不用program0.name,小寫得name是私//有變量受保護(hù),訪問不到。
Console.WriteLine("請輸入你得性別,按Enter鍵結(jié)束");
program0.Sex = Convert.ToChar(Console.ReadLine());
Console.WriteLine("請輸入你得年齡,按Enter鍵結(jié)束");
program0.Age = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("我叫{0},性別{1},今年{2}歲了,我愛我媳婦!!!", program0.name, program0.sex, program0.age);
Console.ReadKey();
}
}
}