1

プログラムを実行しましたが、保存されている情報を出力できないようです。プログラムを実行すると、すべての行が空白になります。コードにはまだまだありますが、これがプログラムが情報を出力するために使用するメインコードであると思いました。

    class Display
{
    public static void Main(string[] args)
    {
        LandlinePhone yourHomePhone = new LandlinePhone("VTech", "V-4321", "219-999-2345", true);
        Console.WriteLine("Manufacturer: {0}", yourHomePhone.Manufacturer);
        Console.WriteLine("Model: {0}", yourHomePhone.Model);
        Console.WriteLine("Phone Number: {0}", yourHomePhone.PhoneNumber);
        Console.WriteLine("Cordless: {0}", (yourHomePhone.HasCord ? "Yes" : "No"));
}

{
class LandlinePhone : Telephone
{
    private bool hasCord;

    public LandlinePhone()
    {
    }
    public LandlinePhone(string manufacturer, string model, string phoneNumber, bool hasCord)
            : base(manufacturer, model, phoneNumber)
    {
        hasCord = HasCord;
    }

    public bool HasCord
    {
        get
        {
            if (hasCord == true)
            {
                return true;

            }
            else
            {
                return false;
            }

        }
        set
        {
            hasCord = value;
        }
    }

    new public void display()
    {
        base.display();
        Console.WriteLine(HasCord ? "Cordless: Yes" : "Cordless: No");
    }
}


class Telephone
{
    public bool isConnected = true;
    public string lastNumberDialed;
    private string manufacturer;
    private string model;
    private string phoneNumber;



    public Telephone()
    {
    }

    public Telephone(string manufacturer, string model, string phoneNumber)
    {
    }

    public string Manufacturer
    {
        get
        {
            return manufacturer;
        }
        set
        {
            manufacturer = value;
        }
    }

    public string Model
    {
        get
        {
            return model;
        }
        set
        {
            model = value;
        }

    }
    public string PhoneNumber
    {
        get
        {
            return phoneNumber;
        }
        set
        {
            phoneNumber = value;
        }
    }
    public void display()
    {
        Console.WriteLine();
        Console.WriteLine("Manufacturer: {0}", Manufacturer);
        Console.WriteLine("Model: {0}", Model);
        Console.WriteLine("Phone Number: {0}", PhoneNumber);
    }
4

2 に答える 2

3

問題は、親クラスの空白のコンストラクター です。そこにプロパティを設定しておらず、パラメーターを無視しているだけなので、出力が得られません。public Telephone(string manufacturer, string model, string phoneNumber)Telephone

コンストラクターを変更し、プロパティを次のように設定します。

public Telephone(string manufacturer, string model, string phoneNumber)
{
   Manufacturer = manufacturer;
   Model = model;
   PhoneNumber = phoneNumber;
}

子クラスLandlinePhoneでプロパティを設定しているので、次の行に対してHasCord出力を取得する必要があると思います。YES

Console.WriteLine("Cordless: {0}", (yourHomePhone.HasCord ? "Yes" : "No"));

Console.ReadLine()Visual Studioからのデバッグプロセス中に出力を確認できるように、最後に追加することもできます。

于 2013-02-19T06:13:01.977 に答える
1
public Telephone(string manufacturer, string model, string phoneNumber)
{
//You did not assign the inputs to the properties in your class.
   Manufacturer = manufacturer;
   Model = model;
   phoneNumber;

}
于 2013-02-19T06:16:22.070 に答える