深入.NET平台和C#编程
第二章 用对象思考:属性和方法
【类和对象】
类定义了一组概念的模型,而对象是真实的实体
【定义类和类的成员】
class Student
{
int age = 26; //字段
///<summary>
///姓名
///</summary>
private string name;//字段
public string Name //属性
{
get { return name; }
set { name = value; }
}
public void SayHi() //方法
{
string message;
message = string.Format(
"大家好,我是{0} 同学.",
name);
MessageBox.Show(message);
}
}
字段,属性,方法都叫做类的成员.
字段:用来表示类和对象相关的数据,当我们在类中要计算时要添加字段.
属性:用来表示类的状态,需要描述对象状态和特征时要在类中添加属性.
方法:表示类的行为,当需要对象做一件事时,需要添加方法.
如何使用C#属性:
在C#中通常不会直接访问类中的字段,而是通过get和set访问器来访问,这种实现方式称为属性.
get访问器用来访问相应私有字段的值,用return来返回.
set访问器设置相应私有字段的值,可以看作是一个隐含的输入参数.
只读属性,只包含get访问器,只写属性只包含set访问器,读写属性包含get和set访问器.
封装:以下是一个封装好的属性
///<summary>
///姓名
///</summary>
private string name;//字段
public string Name //属性
{
get { return name; }
set { name = value; }
}
方法参数:
Ref方式传递和Out方式传递:ref侧重于修改,out侧重于输出.
在具有out参数的方法中,必须对out参数进行赋值,而ref不需要,在方法中没有给out参数赋值之前,是不能使用这个参数进行运算的.
方法重载:
类中两个以上的方法,取的名字相同,只要使用的参数类型或参数个数不同,编译器便知道该调用那个方法.
重载方式有两种:参数不同类型的重载和参数个数不同的重载.不允许仅仅返回值类型不同的方法的重载.
构造函数:
它是一个特殊的方法,它通常在类的成员的最前面,它用于在创建实例时对对象进行初始化.一各类的构造函数名通常与类名相同,构造函数没有返回值,在构造函数中不要对类的实例做初始化以外的事情.
(如果有不对的或需要补充的地方,还请老师和同学们帮忙指出来,谢谢!)
2010/3/26 整理