首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

基类和派生类的一个题目,小弟我是不是做错了?

2012-02-21 
基类和派生类的一个题目,我是不是做错了??? 1.假设系统用户有财务人员与客户人员两种,且每个系统用户都可

基类和派生类的一个题目,我是不是做错了???

1.假设系统用户有财务人员与客户人员两种,且每个系统用户都可以查询单据,但财务人员与客户人员之间的查询并不相同,请以系统用户为基类,财务人员与客服人员为派生类,用C#语言展示如何使用多态性来处理查询单据


using   System;
class   User   //定义系统用户类
{
      protected   int   OrderID;//单据ID
      public   User(int   iOrderID){
            OrderID   =   iOrderID;
      }    
      public   Query(){
Console.WriteLine( "查询结果: "+OrderID)};
}

class   FinUser:User   //定义财务人员类
{
      public   FinUser(int   iOrderID,int   iUserType):base(int   iOrderID)
      base.Query();
}
class   CusUser:User   //定义客服人员类
{
      int   UserType;   //用户类型
      public   FinUser(int   iOrderID,int   iUserType):base(int   iOrderID)
      base.Query();
}

[解决办法]
using System;
class User //定义系统用户类
{
protected int OrderID;//单据ID
public User(int iOrderID){
OrderID = iOrderID;
}
public virtual void Query(){//基类中应该是虚方法
Console.WriteLine( "基类查询结果: "+OrderID)};
}

class FinUser:User //定义财务人员类
{
public override void Query()//子类中重写基类的方法
{
Console.WriteLine( "财务人员查询结果: "+OrderID)};
}
}
class CusUser:User //定义客户人员类
{
int UserType; //用户类型
public override void Query()//子类中重写基类的方法
{
Console.WriteLine( "客户人员查询结果: "+OrderID)};
}
}

热点排行