【问题标题】:Constructor explanation C#构造函数解释 C#
【发布时间】:2015-05-09 12:18:30
【问题描述】:

我对构造函数的使用有点困惑,所以有人可以用简单的例子解释一下。我举了一个简单代码的例子,我不知道为什么要使用构造函数而不是我使用的方式。

我做了计算类

public class Calculation
{
    private double a;
    private double b;
    private double c;
    private double d;
    private double e;

    public Calculation ()
    {

    }

    public double e (double a,double b,double c,double d)
    {
        e = (a * 10) / (b * c * d);
        return e;
    }
}

现在我在我的窗体中创建了这个类的一个实例

public partial class Form1 : Form
{
    public Calculation example;
    public Form1()
    {
        InitializeComponent();
        example = new Calculation();
    }

    private double A = 200;
    private double B = 45;
    private double C = 55;
    private double D = 20;

    private void button1_Click(object sender, EventArgs e)
    {
        string E = (example.e(A, B, C, D).ToString());
        label1.Text = E;
    }

我使用的这种方法有什么优点和缺点?有没有更有效的方法来使用构造函数来做到这一点? 我很困惑,因为无论哪种方式,一切都是公共的,您无法实例化私有类和私有构造函数。

【问题讨论】:

  • 在你的情况下不需要一个空的构造函数。构造函数主要用于初始化变量。最重要的是,您也不需要那些只读私有成员。
  • 首先,您应该提供一个实际编译的示例... _racunskiMiSd 和 e 是函数 e 中的未定义变量。
  • 您的问题过于笼统和模糊。 “这种方法的优缺点”是什么意思?什么方法,使用构造函数?
  • 卢卡斯,抱歉,有些东西抄错了。应该有 e.. 但这不是我的意思
  • yuval 这是正确的方法吗??如果是,构造函数有什么用?

标签: c# class constructor


【解决方案1】:

当您想要创建类的实例并同时设置其内部状态时,您可能希望使用带参数的构造函数而不是带参数的方法。

构造函数的任务是初始化对象的数据成员并使生成的对象处于有效状态。

您应该了解有关 OOP(面向对象编程)概念的更多信息。首先阅读有关方法、类、构造函数、Setter 和 Getter 的内容以了解基础知识,然后再从那里开始。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-08
    • 2017-08-21
    • 1970-01-01
    • 2023-04-05
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多