首页 > 解决方案 > 如何编写单个构造函数方法将两个字段设置为特定值

问题描述

我正在学习用 c# 编写构造函数和属性,并被要求编写控制台应用程序和类来操作饮料机。我编写了部分类代码,但遇到了问题。许多代码块之一要求一个构造函数方法,该方法从SodaCanCount5 瓶开始并将CustBalance字段设置为零。我不知道这个构造函数应该是什么样子。我具体说的private sodaVandorClass()是两个私有字段下的 , 。

到目前为止,我写了我能写的,没有错误,但是SodaVendorClass看起来不正确。

namespace VendorClass
{
  public class SodaVendorClass
  {
    // members 

    // fields
    //Customer balance is $0 until the customer inserts a dollar
    //All customer entries are one dollar increments and a soda   costs one dollar.
    private int CustBalance = 0;
    //a machine holds 10 cans of soda
    private int SodaCanCount = 5;

     //A soda costs 1 dollar
    //private int sodaCost = 1;


    public int _SodaCanCount
    {
        get
        {
            return SodaCanCount;
        }
    }

    public int _CustBalance
    {
        get
        {
            return CustBalance;
        }
    }


   public int BuySoda(int pCustBalance, int SodaCanCount)
   {
       return SodaCanCount;
   }

    public void AcceptCash(int CustBalance)
    {
        CustBalance++;
    }
    public int GiveRefund(int pCustBalance)
    {
        return CustBalance;
    }
}

我只想看一个为我的私有类字段设置默认值的构造函数示例。任何帮助将不胜感激。

标签: c#

解决方案


此类的构造函数可能如下所示:

public SodaVendorClass () {
}

那将是一个什么都不做的空构造函数。

要设置您想要的两个值,您可以添加一些参数:

public SodaVendorClass (int customerBalance, int sodaCount) {
    this.CustBalance = customerBalance;
    this.SodaCanCount = sodaCount;
}

要使用 5 个汽水罐和 0 客户余额创建此类的实例,您可以在代码中调用构造函数,如下所示:

var vendor = new SodaVendorClass(0, 5);

推荐阅读