众所周知,面向对象编程的特点为:封装、继承、多态。C#是一门完全面向对象的语言,由于比Java推出的时间还要晚,所以对面向对象的思想的体现比Java还要完美,那么在C#中如何体现封装、继承和多态呢?下面举例并进行说明。
1.封装
封装的好处有以下几点:
①数据不外泄,可以做到一定的保护
②类的使用者不用考虑具体的数据运算,方便
③程序结构性强,层次清晰,便于维护
对相关的字段、方法进行封装固然对面向对象编程起到不可缺少的重要作用,但并不代表不可以访问类或者说具体的实例化对象中的内容,而且为使用者提供接口,仅仅让他们调用就可以了,他们只做他们的工作,不需要考虑或者顾及你写的类具体是做什么的,更不用考虑你写的每一行代码是什么意思。
在C#中,对于变量的封装,往往将需要被在本类以外调用的,以属性的形式出现,而不像C++中是直接以public成员或者private成员加上相关的方法调用,那样要么不符合面向对象的特点,要么太麻烦。
C#中属性的声明:
public class TestClass
{
public string Info
{
get;
set;
}
}
属性的声明类似一个函数,首先有访问级别(如果设成private等于设成私有字段,还不如直接写个变量),然后是类型,接着是属性名,后面是一对