【发布时间】:2012-10-01 18:24:25
【问题描述】:
我正在学习 J Galloway 的教程“Professional ASP.NET MVC 3”。在本教程中,Jon 向我们展示了如何构建 MVC 音乐商店。
我正在创建 CS 类以首先使用 EF 代码对数据进行建模。
我所有书中的例子,public virtual int property {get; set; }使用,不做解释。虚拟一词无处不在。
在网络的其他地方,我没有看到任何形式的一致使用虚拟术语。
谁能给我解释一下:
- “虚拟”一词在此特定上下文中的用途
- 是否需要使用“虚拟”?
- 为什么有些人使用“虚拟”而其他人不使用?
- 为什么有些人在定义外键时只使用“虚拟”?
- “虚拟”一词的最佳做法是什么?
在此先感谢
【问题讨论】:
-
不知道虚函数和虚属性是一回事???
-
重要的是
virtual关键字 :-) 不管是函数还是属性,如果它没有被标记为虚拟,那么除非后代使用new关键字,否则他们必须采用基类中定义的实现。想象一下,你有一个名为 person 的类,有一个名为“Name”的属性。如果您没有将其标记为虚拟属性,则 Person 的所有后代默认情况下都会将该属性作为其名称。如果您将其设为虚拟(或使用 new 关键字),您可以用更具体的实现覆盖(或在 new 的情况下替换)该实现。 -
我不知道这本书,但请检查 virtual 关键字是否未用于单元测试的模拟目的。
标签: c# asp.net-mvc asp.net-mvc-3 entity-framework