现代
您投入学习 C#的努力是一笔大投资,因为 C#是为编写 NGWS 应用程序的
主要语言而设计。您 将会发现很多自己用 C++可以实现或者很费力实现的功能,
在 C#中不过是一部分基本的功能而已。
对于企业级的编程语言来说,新增的金融数据类型很受欢迎。您用到了一
种新的十进制数据类型,它专用于金融计算方面。如果不喜欢这种现成简单的
类型,根据您应用程序的特殊需求,可以很容易地创建出新的一种数据类型。
我已经提到,指针不再是您编程武器的一部分。不要太惊讶,全面的内存
管理已经不是您的任务。运行时 NGWS 提供了一个垃圾收集器,负责 C#程序
中的内存管理。因内存和应用程序都受到管理,所以很必要增强类型安全,以
确保应用的稳定性。
对于 C++程序员,异常处理的切不是新的东西,但它是 C#的主要功能。C#
的异常处理与 C++的不同点在于它是交叉语言的(运行时的另一个功能)。在没
有 C#之前,您必须处理怪异的 HRESULTs,但现在由于使用了基于异常的健壮
的出错处理, 这一切都 结束了。
对于现代的应用程序,安全是首要的,C#也不会例外。它提供了元数据语
法,用于声明下述 NGWS 安全模式的能力和许可。元数据是 NGWS 运行时的
一个关键的概念,下一章将涉及到它更深的含义。
面向对象
您不会预料一种新语言不支持面向对象的功能吧? C#当然支持所有关键的
面向对象的概念,如封装、继承和多态性。完整的 C#类模式构建在 NGWS 运
行时的虚拟对象系统(VOS,Virtual Object System)的上层,VOS 将在下章描述。
对象模式只是基础的一部分,不再是编程语言的一部分。
您一开始必须关注的事,就是不再有全局函数、变量或者是常量。所有的
东西都封装在类中,包括事例成员(通过类的事例--对象可以访问)或都静态成员
(通过数据类型)。这些使 C#代码更加易读且有助于减少潜在的命名冲突。
定义类中的方法默认是非虚拟的(它们不能被派生类改写)。主要论点是,
这样会消除由于偶尔改写方法而导致另外一些原码出错。要改写方法,必须具
有显式的虚拟标志。 这种行为不但缩减速了虚拟函数表,而且还确保正确版本
的控制。
使用 C++编写类,您可以使用访问权限(access modifiers) 给类成员设置不同
的访问等级。C#同样支持 private、protected 和 public 三种访问权限 ,而且还增
加了第四种:internal。有关访问权限 的详细情况将在第五章 "类" 中说明。
评论1
最新资源