C# 对象多态性(OOP基础)
C# 对象多态性(OOP基础)
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
namespace CSFramework.Tech2011
{
//汽车基类
public class CarBase
{
public virtual void OpenDoor()
{
MessageBox.Show("普通汽车由两侧开门");
} //打开车门
}
/// <summary>
/// 马自达汽车III(马3)
/// </summary>
public class CarMazida3 : CarBase
{
public override void OpenDoor()
{
MessageBox.Show("马3汽车也是两侧开门");
}
}
/// <summary>
/// 跑车,凯迪拉克
/// </summary>
public class CarCadillac : CarBase
{
public override void OpenDoor()
{
MessageBox.Show("凯迪拉克跑车向上开门");
}
}
public class vjsdn_override
{
//测试马自达汽车
public void TestMazida()
{
CarBase car;
car = new CarMazida3();
car.OpenDoor();
}
//测试凯迪拉克
public void TestCadillac()
{
CarBase car;
car = new CarCadillac();
car.OpenDoor();
}
//测试所有类型的汽车
public void TestAllCar(CarBase car)
{
car.OpenDoor();
}
}
}
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
namespace CSFramework.Tech2011
{
//汽车基类
public class CarBase
{
public virtual void OpenDoor()
{
MessageBox.Show("普通汽车由两侧开门");
} //打开车门
}
/// <summary>
/// 马自达汽车III(马3)
/// </summary>
public class CarMazida3 : CarBase
{
public override void OpenDoor()
{
MessageBox.Show("马3汽车也是两侧开门");
}
}
/// <summary>
/// 跑车,凯迪拉克
/// </summary>
public class CarCadillac : CarBase
{
public override void OpenDoor()
{
MessageBox.Show("凯迪拉克跑车向上开门");
}
}
public class vjsdn_override
{
//测试马自达汽车
public void TestMazida()
{
CarBase car;
car = new CarMazida3();
car.OpenDoor();
}
//测试凯迪拉克
public void TestCadillac()
{
CarBase car;
car = new CarCadillac();
car.OpenDoor();
}
//测试所有类型的汽车
public void TestAllCar(CarBase car)
{
car.OpenDoor();
}
}
}
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网