类继承的研究,类的多态性
using System;
// 定义基类,class 前加 abstract,定义为基类后就不能被实例化。 不加abstract,也可以作为基类,且可被实例化。
abstract class Car
{
public string CarName="car";
public void DescribeCar()
{
Console.WriteLine(CarName);
}
public string getCarName()
{
return CarName;
}
}
//实现了对基类Car的继承,继承了基类的属性,方法等。子类与基类方法不一样的,可重写方法
//重写方法 方法1:基类方法加 virtual 重写类用 new 或 override, 方法2:基类方法不加修饰符,重写类加 new (这里用法2)
class Minivan : Car
{
public new void DescribeCar()
{
Console.WriteLine("Carries seven people.");
}
public void DescribeCar(string boolNew) //构造函数,不用加 new
{
Console.WriteLine("Carries seven people."+boolNew);
}
}
//对继承类的调用
using System;
namespace Phoenix.test
{
class class2
{
public static void Main()
{
Minivan Minivan = new Minivan();//实例化继承类
Minivan.CarName="MINI";
Minivan.DescribeCar("--oldCar");//给构造函数传参
Console.WriteLine( Minivan.getCarName());
Console.ReadKey();
}
}
}