类是一种活动的数据结构
在面向对象分析和设计产生前,程序员仅把程序当做指令的序列。那时的焦点在指令的组合和优化上。
随着面向对象的出现,焦点转移到组织程序的数据和功能上。
程序的数据和功能被组织为逻辑上相关的数据项和函数的封装集合,并被称为类。
类是一个能存储数据并执行代码的数据结构。包含数据成员和函数成员。
类是逻辑相关的数据和函数的封装,通常代表真实世界中或概念上的事物。

类的声明定义新类的特征和成员。它并不创建类的实例,但创建了用于创建实例的模板。
关键字 类名
↓ ↓
class MyExcellentClass
{
成员声明
}
字段和方法是最重要的类成员类型。
字段是数据成员,方法是函数成员。
字段隶属于类的变量
class MyClass
{
类型 字段名称
↓ ↓
int MyField
}
方法是具有名称的可执行代码块。
方法声明包括以下组成部分
class SimpleClass
{
返回类型 参数列表
↓ ↓
void PrintNums()
{
Console.WriteLine("1");
}
}
类的声明只用于创建类的实例的模板。一旦类被声明,就可以创建类的实例。

声明类类型的变量所分配的内存是用来保存引用的,而不是类对象实际数据。
要为实际数据分配内存,需要使用new运算符。
Dealer theDealer; //声明引用变量 theDealer = new Dealer();//为类对象分配内存并赋给变量

类声明相当于模板,通过这个模板想创建多少个类的实例都可以。
类的内部,成员间可以任意访问。
访问修饰符,指明外部程序如何访问类中的成员。
字段
访问修饰符 类型 标识符;
方法
访问修饰符 返回类型 方法名()
{
...
}
五种访问修饰符

class C1
{
int F1; //隐式私有字段
private int F2; //显示私有字段
public int F3; //公有字段
void DoCalc() //隐式私有方法
{
...
}
public int GetVal()//公用方法
{
...
}
}

类的成员仅用其他类成员的名称就可以访问它们
class DaysTemp
{
//字段
private int High = 75;
private int Low = 45;
//方法
private int GetHigh()
{
return High;
}
private int GetLow()
{
return Low;
}
public float Average()
{
return (GetHigh()+GetLow())/2;//访问私有方法
}

要从类的外部访问实例成员,必须包括变量名称和成员名称,中间用.(dot-syntax notation 点运算符)分隔。
DaysTemp myDt = new DaysTemp(); //创建类的对象 float fValue = myDt.Average(); //从外部访问
下面代码创建两个实例并把它们的引用保存在名称为t1和t2的变量中。
这段代码示范了目前位置讨论的使用类的3种行为
class DaysTemp //声明类
{
public int High,Low; //声明实例字段
public int Average() //声明实例方法
{
return(High+Low)/2;
}
}
class Program
{
static void Main()
{
//创建两个实例
DaysTemp t1 = new DaysTemp();
DaysTemp t2 = new DaysTemp();
//给字段赋值
t1.High = 76;
t1.Low = 57;
t2.High = 75;
t2.Low = 53;
//读取字段值
//调用实例方法
Console.WriteLine("t1:{0},{1},{2}",t1.High,t1.Low,t1.Average());
Console.WriteLine("t2:{0},{1},{2}",t2.High,t2.Low,t2.Average());
}
}

from: http://www.cnblogs.com/moonache/p/6038631.html
原文:https://www.cnblogs.com/GarfieldEr007/p/10126547.html