C#--简单工厂设计模式

今天做个简单的工厂设计模式,上代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            string r = Console.ReadLine();
            NoteBook nb = getNoteBook(r);
            nb.sayHello();
            Console.ReadKey();
        }

        public static NoteBook getNoteBook(string brand) {
            NoteBook nb = null;
            if (brand == "ibm")
            {
                nb = new IBM();
            }
            else if (brand == "acer")
            {
                nb = new Acer();
            }
            
            else{
            nb = new Other();
            }
            return nb;
        }

        public abstract class NoteBook{

            public abstract void sayHello();
        }

        public class IBM:NoteBook{
            public override void sayHello(){
            Console.WriteLine("我是ibm");
            }
        }
        public class Acer : NoteBook
        {
            public override void sayHello()
            {
                Console.WriteLine("我是Acer");
            }
        }
        public class Other : NoteBook
        {
            public override void sayHello()
            {
                Console.WriteLine("我是其他电脑");
            }
        }
    }
}

一个父类,然后几个子类实现其方法。根据用户的不同输入,会实例化不同的对象,输出不同的内容。

你可能感兴趣的:(C#基础,C#,工厂设计模式)