C#是面向对象的语言。前面介绍命名空间的时候我们介绍过面向对象的概念。把面对现实世界的思维模式用于编程,把程序中的各种实体当作现实生活中的事物就是面向对象编程最基本的思想。我们使用“类”来描述各种对象。打个比方,房子是一个类,我们住的房子就是一个实质性的对象了,“房子”这个词抽象了所有了、人住的房子。因此,类可以说是对象的一个抽象。那么,我们的房子中有各种家具和电器,这些家具和电器就是类中的“成员”了。家具和电器本身也有自己的属性,它们也是类。因此,类中的成员还能是另外一些类,这种思维模式体现了一切皆是类的要领。
每个事物都有自己的属性,比如汽车有排量、颜色等属性。除了属性以外,那么一个庞大的应用程序就可以分割成无数的小模块。程序员只需要维护自己设计的那些类就可以了。如果不是面向对象编程模式的话,程序员自己制作的那个模块如果发生不正常使用还会影响到整个程序的运行,而且在程序达到足够大的规模后程序的除错会变得非常困难。
除了能让程序变得更为健壮外,面向对象编程还能极大的增加代码的重用。还记得在前面我们做的冒泡排序程序吗?为了知道排序的结果,我们在排序前后两次使用同样的代码遍历输出数组的内容。如果这段遍历的代码在程序中会用到10 000次,我们也要写10 000次代码吗?