当前位置:首页 > C#学习 > C#练习 > 正文内容

C# 简单工厂模式

小道6年前 (2018-12-06)C#练习4875

C# 简单工厂模式

通过工厂先生产笔记本(抽象类),根据用户需要的品牌(具体类),给用户品牌笔记本。

using System;

namespace 简单工厂设计模式
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入你需要的笔记本:");//提示
            string nBook = Console.ReadLine();//接收用户输入的值
            NoteBook nb = GetNoteBook(nBook);//调用GetNoteBook方法 接收返回值。
            nb.Say();//调用方法
            Console.ReadKey();//按任意键
        }
        static NoteBook GetNoteBook(string nBook)//方法
        {
            NoteBook N = null;//声明NoteBook变量
            switch (nBook)//判断传过来的值 与哪项匹配
            {
                case "Dell":
                    N = new Dell();
                    break;
                case "Acer":
                    N = new Acer();
                    break;
                case "IBM":
                    N = new IBM();
                    break;
            }
            return N;//返回
        }
    }
    abstract class NoteBook//抽象类。笔记本
    {
        public abstract void Say();//抽象方法
    }
    class Dell : NoteBook//笔记本品牌,继承笔记本
    {
        public override void Say()//重写方法
        {
            Console.WriteLine("戴尔笔记本。");
        }
    }
    class Acer : NoteBook//笔记本品牌,继承笔记本
    {
        public override void Say()
        {
            Console.WriteLine("宏碁笔记本.");
        }
    }
    class IBM : NoteBook//笔记本品牌,继承笔记本
    {
        public override void Say()
        {
            Console.WriteLine("IBM笔记本");
        }
    }
}

输出结果:

image.png

扫描二维码推送至手机访问。

版权声明:本文由小道发布,如需转载请注明出处。

本文链接:https://daobk.com/post/137.html

分享给朋友:

“C# 简单工厂模式” 的相关文章

C# 求矩形面积 WindowsForms界面

C# 求矩形面积 WindowsForms界面

使用 C#语言,WinForm 制作求矩形面积软件:源码:        private void bnt_Click(object sender, EventArgs ...

C# 随机数产生 Random

C# 随机数产生 Random

输入一个范围,在这个范围内随机产生数字:        private void btn_Click(object sender, EventArgs e) /...

C# 冒泡排序练习

C# 冒泡排序练习

将数组内的元素 从大到小排序:using System; namespace 冒泡排序 {     class Program     {    ...

C# 简单 控制台 飞行棋 附源码

C# 简单 控制台 飞行棋 附源码

简单C# 控制台飞行棋,使用 int数组 用于创建地图。图例: 幸运转盘: ◎    地雷: ☆    暂停: ▲    时空隧道: 卐using System; namespace 飞行棋 {  &...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。