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 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 に答える