2012-06-24 68 views
1

我想用类/方法修饰符制作电子表格。电子表格本身可以位于here,虽然我有一些问题:C#类/方法修饰符

1)当我阅读时,方法也可以是sealed,但这是什么目的?防止覆盖的保护方法?

2)请问abstractabstract类中吗?

3)Can virtual方法是否在已定义对象/类中具有正文?

+1

你可以尝试所有这些,看看有什么发生 –

+0

2)字段声明储备存储,而机会来定义或重新定义的交互。覆盖发生在交互上,如方法和属性获取器/设置器。起初您可能会忽略一个属性,当某个属性看起来像是存储时似乎还不清楚。如果是这样,请记住这仅仅是C#的一个优点。当你声明myProp {get; set;}时,它会自动为你创建一个后台字段,并且相互作用发生。 – shannon

回答

3

1:是的,确切的说;停止在子类中再次覆盖虚拟方法

2:字段永远不是抽象的;字段的实现;没有什么在抽象类中是抽象的

3:是的,因为虚拟修饰符不同于抽象修饰符。两者都代表一个虚拟方法 - 所不同的是完全是否有基类的实现

3
  1. sealed方法prevents further overriding倒下继承链。 sealed方法也需要覆盖关键字。

  2. 字段不能是abstract。字段是一个类级别的变量。你不能覆盖它。属性和方法可以是abstract,但不需要。

  3. virtualabstract方法之间的区别是虚拟方法有一个实现。您可以在派生类中重写该实现。

1
  1. 没有 - 没有抽象领域没有这样的事,是一个抽象类,这意味着它不能被实例化,但在其上定义的字段是派生非抽象的布局的一部分类。