阮国荣
(广东南方职业学院,广东 江门 529000)
关键字:C#语言;面向对象;编程
C#是从C和C++语言演变而来,它是一种简单、现代、类型安全的完全面向对象的程序设计语言,它是Microsoft专门为.NET平台而创建的。C#是近来一段时期发展起来的,不仅吸收以往编程语言的精华,同时其他语言存在问题也得到了解决。虽然表面上看C#是C++基础上写成的,然而实质上它是VB、Pascal、Java等各类语言的综合。
(一)语法简单易学
C#是非常容易学习的语言,该语言的首要目标就是简单。在C#中,没有C++中流行的指针。默认地,在受管理的代码中,不允许如直接存取内存等不安全的操作。在C++中经常使用的操作符 “.”、“->”和“::”,它们分别使用于成员、引用和名字空间。然而操作符对初学者而言,到现在仍然是学习的难点。C#仅使用单个操作符 “.”,没有其它操作符。现在对我们来说,就只剩下对嵌套名字的注解进行理解了。
(二)面向对象
C#属于完成面向对象的程序设计语言,它拥有继承、封装和多态性这三大基本特征。
C#支持单继承,即是一个类只能派生于另一个父类,也就是说只能有一个父类。大多数情况,我们创建一个子类也仅需要继承一个基类。多重继承制造出来的问题通常比其解决的问题还要多。如果你一定要用多重继承,那么可以使用接口。 使用继承机制可以增强代码的复用性,减少代码量,提高开发效率。
C#可以用属性实现封装,这样做的好处是实现封装更加方便,同时能够通过属性的写和读来保护类中的域,这样就可以避免数据外泄,保证数据的安全。并且通过封装,也可以使程序结构性更强,层次清晰,便于后期维护。
C#通过多态机制能够减少编程代码,同时也可以增强程序的可扩充性,也就是说程序要增加功能或者修改功能的时候,只需要在原来的基础上修改少量代码。
(三)类型安全
C#为了对垃圾收集器(garbage collector)以及自己进行保护,实行最严格的类型安全。所以C#中一些有关变量的规定必须要遵循:如果变量没有初始化不能被使用。对于对象的成员变量,编译器负责清零。而局部变量,则由你负责清零。当你使用的变量没有初始化的时候,编译器会提示你如何去做。这就避免了由于不经初始化的变量进行计算,而造成错误的结果,但是你还不知道为何会出现这些问题。
边界检查C#的一部分。当定义数组只有n个元素,那么也仅仅能够使用n个元素,越界的问题得到有效的解决。
算术运算有可能溢出终值数据类型的范围。C#允许在语句级或应用程序级检测这些运算。在允许检测溢出的情况下,当溢出发生时将会抛出一个异常。在C#中,被传递的引用参数是类型安全的。
(一)对微软的操作系统,对微软类库的依赖性极强。所有项目编写都依靠MSIL和CLS JIT编译程序。但是程序设计和编译程序级的优化不能在非微软的平台上充分利用,想在非Windows平台上展开.NET,再充分运用它们也是不现实的。
(二)底层和高性能不合适。不合适做时间性能很高(高速算法)或空间性能很灵活(内存立即释放)的程序,因为中间语言和编译过程,比C/C++Native类型的语言会慢一些,内存自动回收难以立即释放不需要的内存。
为了对C#语言有更加直观的了解,下面举一个简单的C#例子,对C#的代码风格和特征进行分析。
在上述代码中,使用using关键字引用的名称空间,使用namespace关键字定义命名空间,使用 class关键字定义类。C#程序是从Main方法开始执行的。方法的内容用大括号{ }包括,称为“方法体”。Console.WriteLine()的作用是输出字符串,把"这是一个简单的C#程序"字符串输出来。语句后面的分号表示了本句结束。
结合上述代码可以总结出C#程序具备如下特征:
1.Main方法是程序入口,程序总是这开始执行。
2.C#严格区分大小写。如变量a和变量A表示不同的变量。
3.所有语句都以分号“;”结束。注意要用英文的分号“;”作结束符,用中文的分号会出错。
4.C#语言的单行注释格式为: //、/*...*/和///。//仅可进行单行注释,/*...*/可进行多行注释,///是文档注释。
随着生活的不断改善,社会的不断进步,计算机编程技术应用越来越普遍的今天,其应用水平得到稳步提升。特别是C#在其中起到重要的作用,让计算机的功能更加完善。C#是优秀的计算机编程语言之一,精通C#不仅要通过理论知识的学习,同时要经历不断的实践练习,进行总结分析,才能加深对语言的理解,将所学的知识融会贯通,最终编写出优秀的C#语言程序。