c#中virtual和overwrite

来源:百度知道 编辑:UC知道 时间:2024/05/16 08:57:10
class A
{
public void Print()
{
}
}

class B : A
{
public void Print()
{
base.print();
//其他代码
}
}
这个不加virtual和overwrite也能成功的 why?
那什么是重写?能给个例子么

子类的方法覆盖了原来基类的方法了
不是重写,不用加你说的那两个
重写就是重写虚方法

using System;
class TestClass
{
public class Dimensions
{
public const double PI = Math.PI;
protected double x, y;
public Dimensions()
{
}
public Dimensions(double x, double y)
{
this.x = x;
this.y = y;
}

public virtual double Area()//这个就是虚方法方法可被任何继承它的类重写。

{
return x * y;
}
}

public class Circle : Dimensions
{
public Circle(double r) : base(r, 0)
{
}

public override double Area()//这个就是重写的
{
return PI * x * x;
}
}

class Sphere : Dimensions
{
public Sphere(double r) : base(r, 0)
{
}