base this 关键字
2009-07-20 15:58
211 查看
Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Collections.Specialized;
using System.Threading;
using System.Reflection;
using System.Data;
namespace TestArray
{
class Program
{
static void Main(string[] args)
{
Audi audi = new Audi();
audi[1] = "A6";
audi[2] = "A8";
Console.WriteLine(audi[1]);
audi.Run();
audi.ShowResult();
Console.ReadLine();
}
}
public class Action
{
public static void ToRun(Vehicle vehicle)
{
Console.WriteLine("{0} is running.", vehicle.ToString());
}
}
public class Vehicle
{
private string name;
private int speed;
private string[] array = new string[10];
public Vehicle() { }
public Vehicle(string name, int speed)
{
this.name = name;
this.speed = speed;
}
public virtual void ShowResult()
{
Console.WriteLine("the top speed of {0} is {1}.", name, speed);
}
public void Run()
{
//传递当前实例参数
Action.ToRun(this);
}
public string this[int param]
{
get { return array[param]; }
set { array[param] = value; }
}
}
public class Car : Vehicle
{
//派生类和基类通信,以base实现,基类首先被调用
//指定创建派生类实例时应调用的基类构造函数
public Car() : base("Car", 200) { }
public Car(string name, int speed) : this() { }
public override void ShowResult()
{
//调用基类上已被其他方法重写的方法
base.ShowResult();
Console.WriteLine("It's a car's result.");
}
}
public class Audi : Car
{
public Audi()
: base("Audi", 300) { }
public Audi(string name, int speed)
: this()
{ }
public override void ShowResult()
{
//由三层继承可以看出,base只能继承起直接基类成员
base.ShowResult();
base.Run();
Console.WriteLine("It's audi's result.");
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Collections.Specialized;
using System.Threading;
using System.Reflection;
using System.Data;
namespace TestArray
{
class Program
{
static void Main(string[] args)
{
Audi audi = new Audi();
audi[1] = "A6";
audi[2] = "A8";
Console.WriteLine(audi[1]);
audi.Run();
audi.ShowResult();
Console.ReadLine();
}
}
public class Action
{
public static void ToRun(Vehicle vehicle)
{
Console.WriteLine("{0} is running.", vehicle.ToString());
}
}
public class Vehicle
{
private string name;
private int speed;
private string[] array = new string[10];
public Vehicle() { }
public Vehicle(string name, int speed)
{
this.name = name;
this.speed = speed;
}
public virtual void ShowResult()
{
Console.WriteLine("the top speed of {0} is {1}.", name, speed);
}
public void Run()
{
//传递当前实例参数
Action.ToRun(this);
}
public string this[int param]
{
get { return array[param]; }
set { array[param] = value; }
}
}
public class Car : Vehicle
{
//派生类和基类通信,以base实现,基类首先被调用
//指定创建派生类实例时应调用的基类构造函数
public Car() : base("Car", 200) { }
public Car(string name, int speed) : this() { }
public override void ShowResult()
{
//调用基类上已被其他方法重写的方法
base.ShowResult();
Console.WriteLine("It's a car's result.");
}
}
public class Audi : Car
{
public Audi()
: base("Audi", 300) { }
public Audi(string name, int speed)
: this()
{ }
public override void ShowResult()
{
//由三层继承可以看出,base只能继承起直接基类成员
base.ShowResult();
base.Run();
Console.WriteLine("It's audi's result.");
}
}
}
相关文章推荐
- 关键字base和this
- C# 参考之访问关键字:base、this
- [你必须知道的.NET] 第六回:深入浅出关键字---base和this
- [你必须知道的.NET] 第六回:深入浅出关键字---base和this
- 访问关键字base、this 的说明
- C# 参考之访问关键字:base、this
- this、base关键字
- this, base关键字
- 深入浅出关键字---base和this (转载)
- 20. C# -- Base, this 关键字
- c#中的关键字 base 和this
- C#关键字扫盲——base和this
- 关键字 - this 和base
- C# 参考之访问关键字:base、this
- 第六回:深入浅出关键字---base和this
- 【转】[你必须知道的.NET] 第六回:深入浅出关键字---base和this
- [你必须知道的.NET] 第六回:深入浅出关键字---base和this
- 读:[你必须知道的.NET] 第六回:深入浅出关键字---base和this
- C# 参考之访问关键字:base、this
- C#学习篇(三)C#关键字this和base