由C++转向C#需要注意的问题
2009-04-11 08:25:15 来源:WEB开发网我们可以在Employee类中添加一个Age属性,使客户可以很方便地获取和设置员工年龄这个类的成员:
publicintAge
{
get
{
returnage;
}
set
{
age=value;
}
}
关健字value可以被属性隐性地使用。如果编写如下的代码:
Fred.Age=17;
编译器将会把值17传递给value。
通过只采用Get而不采用Set,我们可以为YearsServed创建一个只读的属性:
publicintYearsServed
{
get
{
returnyearsServed;
}
}Accessors的使用
privatevoidRun()
{
EmployeeFred=newEmployee(25,101,7);
Console.WriteLine("Fred'sage:{0}",
Fred.Age);
Fred.Age=55;
Console.WriteLine("Fred'sage:{0}",
Fred.Age);
Console.WriteLine("Fred'sservice:{0}",
Fred.YearsServed);
//Fred.YearsServed=12;//是不被允许的
}
我们可以通过属性获取Fred的年龄,也可以使用这一属性设置年龄。我们虽然可以访问YearsServed属性获得它的值,但不能设置值。如果没有注释掉最后一行的代码,在编译时就会出错。
如果以后决定从数据库中获取Employee的年龄,我们就只需要改变存取器的实现,而客户不会受到任何影响。
数组
C#提供了一个数组类,它比C/C++中传统的数组更智能化。例如,在C#中写数组时不会超出边界。此外,数组还有一个更智能的伙伴—ArrayList,可以动态地增长,管理对数组大小不断变化的需求。
更多精彩
赞助商链接