1. 概念:
類或結(jié)構(gòu)定義的作用類似于藍(lán)圖(圖紙)砾医,指定該類型可以進(jìn)行哪些操作。 從本質(zhì)上說衣厘,對象是按照此藍(lán)圖分配和配置的內(nèi)存塊如蚜。 程序可以創(chuàng)建同一個類的多個對象。 對象也稱為實(shí)例影暴,可以存儲在命名變量中错邦,也可以存儲在數(shù)組或集合中。 使用這些變量來調(diào)用對象方法及訪問對象公共屬性的代碼稱為客戶端代碼坤检。 在 C# 等面向?qū)ο蟮恼Z言中兴猩,典型的程序由動態(tài)交互的多個對象組成。
2. 內(nèi)存存儲
由于類是引用類型早歇,因此類對象的變量引用該對象在托管堆上的地址倾芝。 如果將同一類型的第二個對象分配給第一個對象讨勤,則兩個變量都引用該地址的對象。
3. 對象的創(chuàng)建
類的實(shí)例是使用 new
運(yùn)算符創(chuàng)建的晨另。 在下面的示例中潭千,Person 為類型,person1 和 person 2為該類型的實(shí)例(即對象)借尿。
例子:
定義一個Person
類
public class Person {
public string Name { get; set; }
public int Age { get; set; }
public Person(string name, int age)
{
Name = name;
Age = age;
}
public void run()
{
Console.WriteLine("我跑了");
}
// 其他的屬性和方法寫在這里
}
static void Main(string[] args)
{
Person person1 = new Person("Leopold", 6);
person1.run();
Console.WriteLine("person1 Name = {0} Age = {1}", person1.Name, person1.Age);
//聲明一個Person類型的變量Person2,將Person1的值賦給它
Person person2 = person1;
//改變Person2的Name和Age
person2.Name = "Molly";
person2.Age = 16;
Console.WriteLine("person2 Name = {0} Age = {1}", person2.Name, person2.Age);
Console.WriteLine("person1 Name = {0} Age = {1}", person1.Name, person1.Age);
// 求打印出來的值各是多少
Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}