Regular Ball Super Ball

4801 ワード

Description:


Regular Ball Super Ball


Create a class Ball.
Ball objects should accept one argument for "ball type"when instantiated.
If no arguments are given, ball objects should instantiate with a "ball type"of "regular."
using System;

public class Ball {
  public string ballType { get; set; }
  public Ball(){
    ballType = "regular";
  }
  public Ball(string ballType) {
    this.ballType=ballType;
  }
}

他の人の解法:
一:Optional Argumentsを使用しました.これはC#4.0の新しい特性です. 
What's New in Visual C# 2010  
using System;

public class Ball {
  public string ballType { get; set; }
  
  public Ball(string ballType = "regular") {
    this.ballType = ballType;
  }
}


コンストラクション関数でthisを使用するには、これを参照してください.https://msdn.microsoft.com/zh-cn/library/ms173115(v=vs.110).aspx
using System;

public class Ball {
  public string ballType { get; set; }
  
  public Ball(string ballType) {
     this.ballType = ballType;
  }
  
  public Ball(): this("regular"){}
}

 A constructor can invoke another constructor in the same object by using the  this  keyword. Like base, this can be used with or without parameters, and any parameters in the constructor are available as parameters tothis, or as part of an expression. For example, the second constructor in the previous example can be rewritten using this:
public Employee(int weeklySalary, int numberOfWeeks)
    : this(weeklySalary * numberOfWeeks)
{
}

The use of the this keyword in the previous example causes this constructor to be called:
public Employee(int annualSalary)
{
    salary = annualSalary;
}