我需要帮助理解c#如何使用Virtual,以及在应用Virtual时如何使用ICollection

本文关键字:Virtual 何使用 应用 ICollection 助理 帮助 | 更新日期: 2023-09-27 17:51:23

我研究了关键词Virtual,发现它允许对象的方法被覆盖。我还研究了iccollection,了解了实现它的两种选择。所以,如果我看到有人创建了一个对象说:

公共类讲座:

有两个方法:

public virtual ICollection<Attendance> AttendanceList { get; set; }
public virtual Room Room { get; set; }

这两个方法能告诉我什么?

我需要帮助理解c#如何使用Virtual,以及在应用Virtual时如何使用ICollection

" virtual关键字用于修改方法、属性、索引器或事件声明,并允许在派生类中重写它们。例如,这个方法可以被任何继承它的类覆盖。它允许从它继承的下一个类重写此方法。下面的代码直接来自那篇MSDN文章。

public class Shape
{
    public const double PI = Math.PI;
    protected double x, y;
    public Shape()
    {
    }
    public Shape(double x, double y)
    {
        this.x = x;
        this.y = y;
    }
    public virtual double Area()
    {
        return x * y;
    }
}
public class Circle : Shape
{
    public Circle(double r) : base(r, 0)
    {
    }
    public override double Area()
    {
        return PI * x * x;
    }
}
下面是一个简单的程序,可以让你了解"virtual"是做什么的。你现在应该能够回答你自己的问题了:)