栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

C#编的,简单的对象交互案例,顾客点餐

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C#编的,简单的对象交互案例,顾客点餐

 class Order          //菜单类
    {
        public Client customer;     //顾客
        public int id;                    //餐桌号
        public string mealList;                  //点的菜单

    }
class Client                  //顾客类
    {
        //点菜
        public void Order(Waitress waitress,Order order)
        {
            Console.WriteLine("顾客开始点菜:{0}!", order.mealList);
            waitress.GetOrder(order);
        }
        //用餐
        public void Eat()
        {
            Console.WriteLine("客人用餐!");
        }
    } 
class Waitress          //服务员类
    {
        private Order order;
        //记录客人的点餐
        public void  GetOrder(Order order)
        {
            this.order = order;
        }
        //给厨师提交菜单
        public void SendOrder(Chef chef)
        {
            Console.WriteLine("服务员将菜{0}传给厨师", order.mealList);
            chef.GetOrder(order);
        }
        //传菜
        public void TransCook()
        {
            Console.WriteLine("服务员将菜{0}送给用户{1}", order.mealList, order.id);
            order.customer.Eat();
        }
    }
class Chef           //厨师类
    {
        private Order order;
        //获得菜单
        public void GetOrder(Order order)
        {
            this.order = order;
        }
        //厨师做菜
        public void Cook()
        {
            Console.WriteLine("厨师烹制:{0}", order.mealList);
            Console.WriteLine("制作完毕");
        }
        //提醒饭菜制作完毕
        public void SendAlert(Waitress waitress)
        {
            Console.WriteLine("厨师提示服务员取菜!");
            waitress.GetOrder(order);
        }
    }
 static void Main(string[] args){

         //初始化客户、服务员、厨师
            Client wang = new Client();
            Waitress waitress = new Waitress();
            Waitress zhang = new Waitress();
            Chef chef = new Chef();
            //初始化菜单
            Order order = new Order();
            order.customer = wang;          //设置了该菜单的顾客
            order.id = 100;
            order.mealList = "水煮鱼";
            //顾客wang选中waitress服务员给自已服务
            wang.Order(waitress, order);
            //服务员将菜单信息告知厨师chef
            waitress.SendOrder(chef);
            //厨师根据菜单做菜
            chef.Cook();
            chef.SendAlert(waitress);
            waitress.TransCook();
            Console.ReadLine();
}

下面写的只是我个人的看法,有可能不太对

对象间交互主要从三个方面来实现:参数传递、方法调用、属性操作

例子大致分析:首先要先编写4个类,分别是菜单类(Order),顾客类(Client),服务员类(Waitress)和厨师类(chef),其次写一个测试类,在当中编一个main方法(程序的入口函数),主要进行初始化操作

具体分析:1、菜单类中要定义customer字段来存储顾客对象

                   2、顾客类有两个方法,要有两个行为那菜单点菜、吃。点菜方法(参数传递)中传递两个参数,分别是服务员对象和菜单对象,来把菜单传递给服务员和调用order类中的mealList字段

                  3、服务员类三个方法和一个私有字段order,GetOrder()接受顾客的菜单,传递一个菜单对象(参数传递),私有字段order用来接受这个对象,SendOrder()把菜单传递给厨师,TransCook()就是菜做好了传递给顾客

                 4、厨师类三个方法和一个私有字段order,GetOrder()接受服务员传过来的菜单,Cook()厨师进行做菜,SendAlert()通知服务员菜做好了,把菜传递给顾客

                5、分别初始化顾客、服务员、厨师、菜单对象,然后再给菜单对象的三个字段赋一个初始值,如果不赋值,编译过不了,最后调用相应了方法,把流程走一遍

   这只是简单的框架,没有具体行为,也没有和后台数据库进行交互

大家如果觉得还行的话,就帮忙关注一下吧

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/907899.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号