初学者的问题:《C#入门经典》练习题

zzebra 2006-06-26 05:35:48
题目原文:
创建一个控制台应用程序项目Traffic,它引用Vehicles.dll,其中包括函数AddPassenger(),它接受任何带有IPassengerCarrier接口的对象。要证明代码可以运行,使用支持这个接口的每个对象实例调用该函数,在每个对象上调用派生于System.Object的ToString()方法,并把结果输出到屏幕上。

Vechicles.dll 中 结构如下:

namespace TestClass
{
class Vehicles
{ }
class Car : Vehicles
{ }
class Train : Vehicles
{ }

class Compact : Car , IPassengerCarrier
{ }
class SUV : Car , IPassengerCarrier , IHeavyLoadCarrier
{ }
class Pickup : Car , IPassengerCarrier , IHeavyLoadCarrier
{ }

class PassengerTrain : Train , IPassengerCarrier , IHeavyLoadCarrier
{ }
class FreightTrain : Train , IHeavyLoadCarrier
{ }
class DoubleBogey : Train
{ }

interface IPassengerCarrier
{ }
interface IHeavyLoadCarrier
{ }
}

...全文
350 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Reeezak 2006-06-27
  • 打赏
  • 举报
回复
注意要引用这个Vehicles.dll
Reeezak 2006-06-27
  • 打赏
  • 举报
回复
那我大概的写一点吧

你自己新建一个Console应用程序,添加如下代码

public static string AddPassenger(IPassengerCarrier val)
{
return val.ToString();
}

在console的MAin中写这些

Console.WriteLine(AddPassenger(new Compact()));
Console.WriteLine(AddPassenger(new SUV()));
Console.WriteLine(AddPassenger(new Pickup()));
Console.WriteLine(AddPassenger(new PassengerTrain()));

然后可以试试
Console.WriteLine(AddPassenger(new Vehicles()));
这个是通不过编译的

如果问题是这样的话,那么题目就是要你知道什么是继承,什么是多态
zzebra 2006-06-27
  • 打赏
  • 举报
回复
书中确实就是这样问的,俨然问的我一头雾水,题目我写的都是书上的原话。
它原来的那个结构里面也根本就没有AddPassenger(),感觉这个题目的本意是让我们自己写出AddPassenger这个方法,用来实现题目中说的功能
zzebra 2006-06-27
  • 打赏
  • 举报
回复
书上也没说 AddPassenger()在哪,大概的意思好象是AddPassenger()在Vehicles.dll里面。俨然我基本上都看不懂,也不明白这题说的是什么,如果大家觉得这样的题目没用的话,我就不在去看它了。
Reeezak 2006-06-27
  • 打赏
  • 举报
回复
问题都没有说清楚,怎么帮你啊?
zzebra 2006-06-27
  • 打赏
  • 举报
回复
就要结帖了哦~~~ 没有回复了么?
Reeezak 2006-06-26
  • 打赏
  • 举报
回复
这是什么问题?

1. AddPassenger在哪?

2. IPassengerCarrier如果是空接口的话,跟一般的接口使用方式是不一样的
Reeezak 2006-06-26
  • 打赏
  • 举报
回复
这是什么问题?

1. AddPassenger在哪?

2. IPassengerCarrier如果是空接口的话,跟一般的接口使用方式是不一样的
null_name 2006-06-26
  • 打赏
  • 举报
回复
我觉得《C#入门经典 第3版》根本就不适合初学者,里面的内容很笼统。适合有了一定基础的人看。建议楼主换本书。
vosov 2006-06-26
  • 打赏
  • 举报
回复
汗,什么题目啊。初学者别理它。
zzebra 2006-06-26
  • 打赏
  • 举报
回复
谢谢啊,sparon
SPARON 2006-06-26
  • 打赏
  • 举报
回复
帮忙顶下.
zzebra 2006-06-26
  • 打赏
  • 举报
回复
各位帮帮忙吧~~~

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧