3.5.5 汽车类的例子
- 字段
私有字段(int)。_百公里耗油,表示汽车行驶100公里消耗几升油(默认为10)。
私有字段(int)。_油箱容积,表示油箱最大可以加几升油(默认为60)。
私有字段(int)。_油表,表示当前油箱还剩余几升油。
私有字段(int)。_公里数,表示汽车一共行驶了几公里。 - 属性
只读属性(int)。百公里耗油,封装_百公里耗油字段,百公里耗油对于一个汽车来说是一个固定参数,一般不会改变,因此不允许用户设置。
只读属性(int)。油箱容积,封装_油箱容积字段,油箱容积对于一个汽车来说是一个固定参数,一般不会改变,因此不允许用户设置。
读写属性(int)。油表,封装_油表字段。
读写属性(int)。公里数,封装_公里数字段。 - 构造方法
不带参数。获得一个加满油的新车,里程数为0。
带一个当前油表参数。获得一个新车,里程数为0,油表为传入的当前油表参数的值。
带一个当前油表参数和一个当前里程参数。获得一个旧车,里程数为传入的当前里程参数的值,油表为传入的当前油表参数的值。 - 私有方法
计算油耗。根据传入的行驶公里参数计算油耗并返回。 - 公有方法
行驶。根据传入的行驶公里数参数行驶一段距离。如果油耗不足。给出行驶失败提示,否则给出行驶成功提示。
加油。直接为汽车加满油。显示一共加了多少升的油。
重载了油箱方法。根据传入的加油体积参数为汽车加一定的油。如果加入的油加上剩余的油超过了油箱最大容积,就给出加油失败提示,否则给出加油成功提示。
获取汽车当前信息。输出汽车的当前油表数和当前里程数。
using System;
using System.Collections.Generic;
using System.Text;
namespace 汽车类
{
class Car
{
private int _百公里耗油 = 10;
private int _油箱容积 = 60;
private int _油表;
private int _公里数;
public int 百公里耗油
{
get { return 百公里耗油; }
}
public int 油箱容积
{
get { return _油箱容积; }
}
public int 油表
{
get { return _油表; }
set { _油表 = value; }
}
public int 公里数
{
get { return _公里数; }
set { _公里数 = value; }
}
public Car()
{
_油表 = _油箱容积;
_公里数 = 0;
}
public Car(int 当前油表)
{
_油表 = 当前油表;
_公里数 = 0;
}
public Car(int 当前油表, int 当前里程)
{
_油表 = 当前油表;
_公里数 = 当前里程;
}
private int 计算耗油(int 行驶公里数)
{
return 行驶公里数 * _百公里耗油 / 100;
}
public void 行驶(int 行驶公里数)
{
Console.WriteLine("行驶{0}公里开始", 行驶公里数);
if (_油表 > 计算耗油(行驶公里数))
{
_公里数 += 行驶公里数;
_油表 -= 计算耗油(行驶公里数);
Console.WriteLine("行驶完毕");
}
else
Console.WriteLine("油耗不足,行驶失败");
}
public void 加油()
{
Console.WriteLine("加油开始");
int 需要加的油 = _油箱容积 - _油表;
_油表 += 需要加的油;
Console.WriteLine("加油完毕,一共加了 {0} 升", 需要加的油);
}
public void 加油(int 加油体积)
{
Console.WriteLine("加油{0}升开始", 加油体积);
if (加油体积 < _油箱容积)
{
_油表 += 加油体积;
Console.WriteLine("加油完毕");
}
else
Console.WriteLine("超过最大油箱容积,加油失败");
}
public void 获取当前汽车信息()
{
Console.WriteLine(string.Format("当前油表:{0} 当前里程数:{1}", _油表, _公里数));
}
}
class Program
{
static void Main(string[] args)
{
Car car = new Car();
car.行驶(100);
car.获取当前汽车信息();
car.行驶(400);
car.获取当前汽车信息();
car.加油(60);
car.获取当前汽车信息();
car.加油();
car.获取当前汽车信息();
}
}
}
using System.Collections.Generic;
using System.Text;
namespace 汽车类
{
class Car
{
private int _百公里耗油 = 10;
private int _油箱容积 = 60;
private int _油表;
private int _公里数;
public int 百公里耗油
{
get { return 百公里耗油; }
}
public int 油箱容积
{
get { return _油箱容积; }
}
public int 油表
{
get { return _油表; }
set { _油表 = value; }
}
public int 公里数
{
get { return _公里数; }
set { _公里数 = value; }
}
public Car()
{
_油表 = _油箱容积;
_公里数 = 0;
}
public Car(int 当前油表)
{
_油表 = 当前油表;
_公里数 = 0;
}
public Car(int 当前油表, int 当前里程)
{
_油表 = 当前油表;
_公里数 = 当前里程;
}
private int 计算耗油(int 行驶公里数)
{
return 行驶公里数 * _百公里耗油 / 100;
}
public void 行驶(int 行驶公里数)
{
Console.WriteLine("行驶{0}公里开始", 行驶公里数);
if (_油表 > 计算耗油(行驶公里数))
{
_公里数 += 行驶公里数;
_油表 -= 计算耗油(行驶公里数);
Console.WriteLine("行驶完毕");
}
else
Console.WriteLine("油耗不足,行驶失败");
}
public void 加油()
{
Console.WriteLine("加油开始");
int 需要加的油 = _油箱容积 - _油表;
_油表 += 需要加的油;
Console.WriteLine("加油完毕,一共加了 {0} 升", 需要加的油);
}
public void 加油(int 加油体积)
{
Console.WriteLine("加油{0}升开始", 加油体积);
if (加油体积 < _油箱容积)
{
_油表 += 加油体积;
Console.WriteLine("加油完毕");
}
else
Console.WriteLine("超过最大油箱容积,加油失败");
}
public void 获取当前汽车信息()
{
Console.WriteLine(string.Format("当前油表:{0} 当前里程数:{1}", _油表, _公里数));
}
}
class Program
{
static void Main(string[] args)
{
Car car = new Car();
car.行驶(100);
car.获取当前汽车信息();
car.行驶(400);
car.获取当前汽车信息();
car.加油(60);
car.获取当前汽车信息();
car.加油();
car.获取当前汽车信息();
}
}
}