gpt4 book ai didi

C# - 何时使用 public int virtual,何时仅使用 public int

转载 作者:IT王子 更新时间:2023-10-29 04:34:36 24 4
gpt4 key购买 nike

我正在学习 J Galloway 的教程“Professional ASP.NET MVC 3”。在本教程中,Jon 向我们展示了如何构建 MVC 音乐商店。

我正在创建 CS 类以首先使用 EF 代码对数据建模。

所有书中的例子,public virtual int property {get;放; 的使用没有任何解释。虚拟一词随处可见。

在网络的其他地方,我没有看到以任何形式的一致性使用“虚拟”一词。

谁能给我解释一下:

  1. “虚拟”一词在此特定上下文中的用途
  2. 是否有必要使用“虚拟”?
  3. 为什么有些人使用“虚拟”而有些人不使用?
  4. 为什么有些人在定义外键时只使用“虚拟”?
  5. 使用“虚拟”一词的最佳做法是什么?

提前致谢

最佳答案

为了真正理解 virtual 关键字,您需要阅读 Polymorphism in general :

Polymorphism is often referred to as the third pillar of object-oriented programming, after encapsulation and inheritance. Polymorphism is a Greek word that means "many-shaped" and it has two distinct aspects:

  1. At run time, objects of a derived class may be treated as objects of a base class in places such as method parameters and collections or arrays. When this occurs, the object's declared type is no longer identical to its run-time type.

  2. Base classes may define and implement virtual methods, and derived classes can override them, which means they provide their own definition and implementation. At run-time, when client code calls the method, the CLR looks up the run-time type of the object, and invokes that override of the virtual method. Thus in your source code you can call a method on a base class, and cause a derived class's version of the method to be executed.

一旦您更好地理解了这些概念,您就可以确定您根据本书创建的方法是否需要虚拟

关于C# - 何时使用 public int virtual,何时仅使用 public int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12678833/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com