//寫一個Ticket類,有一個距離屬性(本屬性只讀,在構造方法中賦值),不能為負數//有一個價格屬性,價格屬性為只讀,并且根據距離distance計算價格Price(1元/公里)//0--100公里 票價不打折//101-200公里 票價總額9.5折//201-300公里 票價總額9折//301公里以上 票價總額8折
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace 面向對象構造函數 { public class Ticket{ //寫一個Ticket類,有一個距離屬性(本屬性只讀,在構造方法中賦值),不能為負數//有一個價格屬性,價格屬性為只讀,并且根據距離distance計算價格Price(1元/公里)//0--100公里 票價不打折//101-200公里 票價總額9.5折//201-300公里 票價總額9折//301公里以上 票價總額8折private double _distance;public double Distance{get { return _distance; }//只讀屬性意味著只有get 沒有set }public Ticket(double distance){if (distance < 0){distance = 0;}this._distance = distance;}private double _price;public double Price{get{if (_distance > 0 && _distance <= 100){return _distance * 1.0;}else if (_distance > 101 && _distance < 200){return _distance * 0.95;}else if (_distance > 201 && _distance < 300){return _distance * 0.9;}else{return _distance * 0.8;}}}public void ShowTicket(){Console.WriteLine("{0}公里需要{1}元",this.Distance,Price);}} }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace 面向對象構造函數 {class Program{static void Main(string[] args){Ticket t = new Ticket(400);t.ShowTicket();Console.ReadLine();}} }
?