2

我想我在这里有一个相当基本的问题。我不是想浪费你的时间,但我只是不知道谷歌什么才能得到一个好的答案。我的问题与对象初始化有关。以 Head First C# 书中的以下示例为例:

using System;
using etc...

namespace Bees
{
   public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Queen queenie = new Queen(workers, Report); //Queen is a created class
        }
        Queen queenie; //This is the line I'm curious about

        private void assignButton_Click(object sender, EventArgs e)
        {
            Report.AppendText(queenie.AssignWork(comboBox1.SelectedItem.ToString(), (int)shifts.Value));
        }

        private void button1_Click(object sender, EventArgs e)
        {
            queenie.WorkNextShift();
        }
...

如果我已经通过说 实例化了一个 Queen 对象Queen queenie = new Queen(...);,那么该Queen queenie行的用途是什么,它的范围是什么?我在这里误解了什么关键概念?

4

1 回答 1

12

它看起来像代码中的错误。大概是这个意思:

public Form1()
{
    InitializeComponent();
    queenie = new Queen(workers, Report);
}

Queen queenie; //This is where the reference to the constructed Queen is stored

该行Queen queenie;声明了一个类型的字段,该字段Queen可以从实例的所有方法访问,但不能从类外部访问。

如果您不确定其中一些术语的含义,我建议您遵循更温和的教程:

或者,如果您已经超出了当年的图书预算,请浏览一些免费的在线文档:

于 2012-05-27T20:06:02.463 回答