创建4个类,分别是:饮品父类(Drink)、 子类可乐类(Cola)、 子类咖啡类
(Coffee)、子类奶茶类(Milk)。
父类Drink包含了饮品名称name、饮品价格price、饮品大小size、购买数量num、备注remark五个字段(其中remark用于备注是否加糖加冰等);另外还包含两个构造函数:无参构造和有参构造,有参构造中给各个字段赋值;还包含一个成员方法show()用于展示订单信息。
四个子类中分别都只包含一个无参构造和一个有参构造,有参构造中调用父类有参构造给字段赋值。
在main方法中尝试购买各种饮品,并输出购买的订单信息。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 饮品类
{
class Program
{public class Drink
{
public string name;
public int price;
public string size;
public int num;
public string remark;
public Drink()
{
}
public Drink (string name,int price,string size,int num,string remark)
{
this.name = name;
this.price = price;
this.size = size;
this.num = num;
this.remark = remark;
}
public void show()
{
Console.WriteLine("订单信息-----\n 购买饮料{0},花费{1},大小{2},数量{3},备注{4} ", name, price, size, num, remark);
}
}
public string name
{
get { return name; }
set { name = value; }
}
public int price
{
get { return price; }
set { price = value; }
}
public string size
{
get { return size; }
set { size = value; }
}
public int num
{
get { return num; }
set { num = value; }
}
public string remark
{
get { return remark; }
set { remark = value; }
}
public class cola:Drink
{
public cola()
{
}
public cola(string name, int price, string size, int num, string remark)
: base(name, price, size, num, remark) { }
public void show()
{
Console.WriteLine("订单信息-----\n 购买饮料{0},花费{1},大小{2},数量{3},备注{4} ", name, price, size, num, remark);
}
}
public class Coffee:Drink
{
public Coffee() { }
public Coffee (string name, int price, string size, int num, string remark)
:base(name, price, size, num, remark) { }
public void show()
{
Console.WriteLine("订单信息-----\n 购买饮料{0},花费{1},大小{2},数量{3},备注{4} ", name, price, size, num, remark);
}
}
public class Milk : Drink
{
public Milk () { }
public Milk (string name, int price, string size, int num, string remark)
: base(name, price, size, num, remark) { }
public void show()
{
Console.WriteLine("订单信息-----\n 购买饮料{0},花费{1},大小{2},数量{3},备注{4} ", name, price, size, num, remark);
}
}
static void Main(string[] args)
{
Console.WriteLine("购买饮料 1、可乐 2、咖啡 3、奶茶");
int choice = Convert.ToInt32(Console.ReadLine());
switch (choice)
{
case 1:
cola co = new cola();
co.name = "可乐";
int beizi = Convert.ToInt32(Console.ReadLine());
switch (beizi)
{
case 1:
}
}
}
}
}
给你稍微改了一下,稍微这哈哈哈,大概实现效果是这样的,每个人有每个的风格,参考一下,并不一定是最好的写法。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 饮品类
{
class Program
{
public class Drink
{
public string name;
public int price;
public string size;
public int num;
public string remark;
public Drink()
{
}
public Drink(string size, int num, string remark)
{
this.size = size;
this.num = num;
this.remark = remark;
}
public void show()
{
Console.WriteLine("订单信息-----\n 购买饮料{0},花费:{1},大小:{2},数量:{3},备注:{4} ", name, price, size, num, remark);
}
}
public class Cola : Drink
{
public Cola()
{
}
public Cola(string size, int num, string remark)
: base(size, num, remark)
{
this.name = "可乐";
this.price = (size == "中" ? 4 : size == "大" ? 6 : 8) * num;
}
}
public class Coffee : Drink
{
public Coffee() { }
public Coffee(string size, int num, string remark)
: base(size, num, remark)
{
this.name = "咖啡";
this.price = (size == "中" ? 15 : size == "大" ? 19 : 24) * num;
}
}
public class Milk : Drink
{
public Milk() { }
public Milk(string size, int num, string remark)
: base(size, num, remark)
{
// 奶茶不是Milk
this.name = "奶茶";
this.price = (size == "中" ? 12 : size == "大" ? 14 : 18) * num;
}
}
static void Main(string[] args)
{
// 声明饮料单
var drinkList = new string[] { "可乐", "咖啡", "奶茶" };
var sizeList = new string[] { "中", "大", "特大" };
Console.Write("选择购买饮料");
for (int i = 0; i < drinkList.Length; i++)
{
Console.Write(i + 1 + "、" + drinkList[i] + " ");
}
Console.WriteLine();
int drinkChoice = Convert.ToInt32(Console.ReadLine());
Console.Write("选择饮料大小");
for (int i = 0; i < sizeList.Length; i++)
{
Console.Write(i + 1 + "、" + sizeList[i] + " ");
}
Console.WriteLine();
int sizeChoice = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("输入购买数量");
int num = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("输入备注");
string remark = Console.ReadLine();
if (drinkChoice == 1) new Cola(sizeList[sizeChoice - 1], num, remark).show();
else if (drinkChoice == 2) new Coffee(sizeList[sizeChoice - 1], num, remark).show();
else if (drinkChoice == 3) new Milk(sizeList[sizeChoice - 1], num, remark).show();
}
}
}
我也不晓得啊