构造函数调用求解 谁帮我分析下啊

zilu2008 2006-10-18 01:34:24
代码:
using System;

class Elevator
{
private int currentFloor = 1;
private int requestedFloor = 0;
private int totalFloorsTraveled = 0;
private Person passenger; //定义passenger是 类Person 的 对象没错吧?

public void LoadPassenger()
{
passenger = new Person(); //这里是调用类Person 的构造函数吧???这样跟上面会不会冲突啊,我不理解,请高手解释下,竟然这里调用了函数后 passenger 怎么还能调用类呢 ,下面还能使用passenger.NewFloorRequest();passenger 整个变量(能叫做变量吗)到是是什么含义呢
}

public void InitiateNewFloorRequest()
{
requestedFloor = passenger.NewFloorRequest();
Console.WriteLine("Departing floor: " + currentFloor
+ " Traveling to floor: " + requestedFloor);
totalFloorsTraveled = totalFloorsTraveled +
Math.Abs(currentFloor - requestedFloor);
currentFloor = requestedFloor;
}

public void ReportStatistic()
{
Console.WriteLine("Total floors traveled: " + totalFloorsTraveled);
}
}

class Person
{
private System.Random randomNumberGenerator;

public Person()
{
randomNumberGenerator = new System.Random();
}

public int NewFloorRequest()
{
// Return randomly generated number
return randomNumberGenerator.Next(1,30);
}
}

class Building
{
private static Elevator elevatorA;

public static void Main()
{
elevatorA = new Elevator();
elevatorA.LoadPassenger();
elevatorA.InitiateNewFloorRequest();
elevatorA.InitiateNewFloorRequest();
elevatorA.InitiateNewFloorRequest();
elevatorA.InitiateNewFloorRequest();
elevatorA.InitiateNewFloorRequest();
elevatorA.ReportStatistic();
}
}
...全文
94 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Nlf 2006-10-18
  • 打赏
  • 举报
回复
感觉你们应该去看看基础的书,呵呵

我记忆好像是每个类都有一个默认的构造函数,如果类中没有跟类同名的方法
那么程序会自动的提供这个默认的构造函数方法出来用作实例化的时候用

但是如果一旦有,而且参数不是空
那么以后如果你要new一个对象出来的话,就不能直接new className();这样肯定报错
myh0305 2006-10-18
  • 打赏
  • 举报
回复
passenger = new Person();
这里的作用是实例化
zilu2008 2006-10-18
  • 打赏
  • 举报
回复
passenger = new Person();
这句代码是否可以这样理解呢
passenger = new Person; + 调用函数Person()
zilu2008 2006-10-18
  • 打赏
  • 举报
回复
构造函数在类中起的是什么作用啊
zilu2008 2006-10-18
  • 打赏
  • 举报
回复
passenger 应该是一个对象
但这个对象所包含的东西我不理解,就是它对构造函数的调用让我不理解
xingyaohua 2006-10-18
  • 打赏
  • 举报
回复
up

110,567

社区成员

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

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

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