抽象类可以有构造方法,但是抽象类不能实例化。抽象类设计的本意是只能让子类继承,而不是用于生成实例对象。如果抽象类是public或者internal的,它对于其他类型来说就是可见的,而这是不必要的,多余的。 属性相对于字段有如下优势: 1)可以为属性添加代码。 override和new使类型体系因为继承而呈现出多态性。多态是“面向对象语言”的三个重要特性之一。编译器在编译后会提出警告,但不影响程序运行。 运行该示例,会出现NullReferenceException:未将对象引用设置到对象的实例。在程序运行时,调用的是子类的InitSkin方法。 类型成员在优先考虑公开基类型或接口,会使得类型支持更多的应用场合。 重写时,如果使用了子类参数,可能会偏离设计者的预期目标。
暂无评论