public abstract class Driver
{
public void run();//让子类来运行
}
class SBenz : Driver { public void run() { Console.WriteLine(“Benz在以200迈的速度在run”); } }
class JD : Driver { public void run() { Console.WriteLine(“JD is running…”); } }
class Person { private Driver driver; public Person() {
}
public Person(Driver driver)
{
this.driver = driver;
}
public void drive()
{
driver.run();
}
public void setDriver(Driver driver)
{//运用参数多态,以后不管买什么车都可以
this.driver = driver;
}
}
static void Main(string[] args) { Person p = new Person(); JD jd = new JD();//刚开始没钱就买辆JD吧 p.setDriver(jd); p.drive(); SBenz benz = new SBenz();//有钱换车了 p.setDriver(benz); p.drive(); }