0

我正在尝试创建一个使用名为 Chameleon 的类的 GUI 应用程序。在类中,有三个实例变量,长度、名称和颜色。长度是双精度,名称和颜色是字符串。

我需要重载 Chameleon 的构造函数。可以创建一个新的 Chameleon 对象:1. 具有长度和名称,2. 具有名称和颜色,或 3. 具有指定的长度、名称和颜色。构造函数应该将一条包含刚刚创建的变色龙信息的消息放入公共实例变量中。

GUI 应允许用户输入长度(如果指定,则有效长度为 0.1 到 10.2 英寸)、名称(不能为空)和颜色(如果指定,则必须是以下之一:'green '、'橙色'、'棕色'、'黑色'、'黄色'或'红色')。

当用户按下“确定”按钮时,仅使用用户已为其指定值的参数创建 Chameleon 对象。之后,包含消息的公共实例变量必须显示在来自“确定”按钮的单击过程的标签中。

我对 GUI 应用程序的经验很少,我完全迷失在这里。任何至少让我开始的帮助将不胜感激。就像初学者一样,您将如何重载构造函数并允许它创建三个不同的对象:1. 具有长度和名称,2. 具有名称和颜色,或者 3. 具有指定的长度、名称和颜色?

4

2 回答 2

1

使用您需要的参数添加其他构造函数,如下所示:

class Chameleon
{

    private double length;
    private string name;
    private string color;

    public Chameleon(string nameValue, double lengthValue, string colorValue)
    {
        name = nameValue;
        length = lengthValue;
        color = colorValue;
    }

    public Chameleon(string nameValue, double lengthValue)
    {
        name = nameValue;
        length = lengthValue;
    }

    public Chameleon(string nameValue, string colorValue)
    {
        name = nameValue;
        color = colorValue;
    }
}

然后从创建这个实例的过程中,这样写:

Chameleon chameleon = new Chameleon("SomeName", 1.0);
Chameleon anotherChameleon = new Chameleon("SomeOtherName", "blue");
Chameleon aThirdChameleon = new Chameleon("ChameleonName", 1.0, "blue");
于 2014-03-04T17:37:44.960 回答
-2

您首先应该创建一个默认构造函数。当您不传递任何参数来实例化对象时,将使用默认构造函数。默认构造函数将使用您的默认值。然后你可以创建你的重载构造函数。重载的构造函数将采用任意数量的不同参数,这些参数将覆盖默认值。

class Chameleon 
{ 
    private double length; 
    private string name; 
    private string color; 

    //default constructor
    public Chameleon()
    {
      length = 2;
      name = "widget";
      color = "blue";
    }

    //Overloaded Constructor
    public Chameleon( double lengthValue, string nameValue, string colorValue)
    { 
        length = lengthValue; 
        name = nameValue; 
        color = colorValue; 
    } 
于 2014-03-04T17:49:15.557 回答