面向对象小练习
//写一个Ticket类,有一个距离属性(本属性只读,在构造方法中赋值)
//不能为负数,有一个价格属性,价格属性只读
//并且根据距离distace计算价格Price(1元、公里)
//0-100公里,票价不打折 101-200公里,总价打9.5折 201-300公里 总价打9折 300公里以上 总价打8折
using System; namespace 面向对象小练习1 { class Program { static void Main(string[] args) { Console.WriteLine("请输入公里数;"); Ticket t = new Ticket(); t.Distance = Convert.ToDouble(Console.ReadLine()); t.ShowTicket(); } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 面向对象小练习1 { class Ticket { //写一个Ticket类,有一个距离属性(本属性只读,在构造方法中赋值) //不能为负数,有一个价格属性,价格属性只读 //并且根据距离distace计算价格Price(1元、公里) //0-100公里,票价不打折 101-200公里,总价打9.5折 201-300公里 总价打9折 300公里以上 总价打8折 private double _distance; private double _price; public double Distance { get { if(_distance <0) { _distance = 0; } return _distance; } set { _distance = value; } } //public Ticket(double distance)//这里如果不需要在外部自己输入参数,这里设定一个构造函数由外面直接传参进来 //{ // if (distance < 0) // { // distance = 0; // } // this._distance = distance; //} 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 > 200 && _distance <= 300) { return _distance * 0.9; } else { return _distance * 0.8; } } set { _price = value; } } public void ShowTicket() { Console.WriteLine("{0}公里需要{1}元", Distance, Price); } } }