在前面,我们定义了一个类。那么什么是类呢?
类(class),是一种面向对象计算机编程语言的构造,是创建对象的蓝图,描述了所创建的对象共同的属性和方法。
类的更严格的定义是由某种特定的元数据所组成的内聚的包。它描述了一些对象的行为规则,而这些对象就被称为该类的实例。类有接口和结构。接口描述了如何通过方法与类及其实例互操作,而结构描述了一个实例中数据如何划分为多个属性。类是与某个层(这里的层指类型层次中连接时模块依赖性相同的类的集合,即某环境下可重用性相同的组件的集合)的对象的最具体的类型。类还可以有运行时表示形式(元对象),它为操作与类相关的元数据提供了运行时支持。
类的出现,为面向对象编程(OOP)的三个最重要的特性(封装性,继承性,多态性),提供了实现的手段。
通过对类的理解,类只是一个对象的蓝图,而对象就是这个类所描述行为的具体的实例。就好比自行车的蓝图不是自行车,但自行车具有自行车的蓝图所描述的所有的行为。在这里,还有一个现象就是抽象类,抽象类没有实例,比如“水果”是一个抽象类,它只是一个概念,本身没有实例,而从它派生(继承)来的“苹果”拥有实例。
在C#中,有三种注释方法。
“//”表示单行注释,从“//”开始处直到行尾;
“/* */”表示在标记内的内容全为注释;
“///”为类或方法添加摘要,以便生成文档。
被注释的内容不会被编译。
注意这里的方法前面没有static修饰符,就表示这个方法在对象未实例化前不能直接调用。static不仅可以修饰方法,还可以修饰属性,被修饰的属性和方法,不能在类中使用this关键获得它的引用,而是使用类名+被修饰的对象实例名来获得引用。好了,现在我们来使用刚刚定义好的两个类。
我们定义好的两个类已经正常工作了。我们又接触到了几个新的关键字:int,string,this,abstract,virtual,override,new。
- int,string是C#类内置类型,分别表示一个32位有符号的整型和字符串类型。在C#中字符串用两个英文引号(")及中间的字符表示。我们用它们声明了两个对象。
- this用来获取类型自身的对象实例的引用。
- abstract,virtual,override分别表示抽象化,虚拟化和重写。
- new运算符为对象建立实例。
我们用abstract关键字来抽象化类和方法。在类Bicycle中,我们用属性封装了两个私有成员wheel,color。其中,Wheel属性只提供了读取的方法,而不能对wheel赋值。被abstract修饰的方法必须被重写(override)后才能调用。而被virtual修饰的方法,可以被重写。除此之外,还有一个关键字也影响着类,方法和属性的行为,那就是sealed,赶紧去试一下。