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

C# 简单工厂模式

小道4年前 (2018-12-06)C#练习3775

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# 随机数产生 Random

C# 随机数产生 Random

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

C# FileStream 读写文件操作

C# FileStream 读写文件操作

使用 FileStream 类 练习 文件读写操作。using System; using System.IO; using System.Text; namespace FileStream练习 {    &nbs...

C# FileStream 复制文件操作

C# FileStream 复制文件操作

使用 FileStream 进行复制文件操作。using System; using System.IO; namespace FileStream复制文件 {     class Progra...

C# StreamWrite和StreamReader 读写操作

C# StreamWrite和StreamReader 读写操作

StreamWrite和StreamReader 读写操作using System; using System.IO; using System.Text; namespace StreamWrite和StreamReader {  &...