A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ww448483689 中级黑马   /  2013-8-13 20:10  /  1799 人查看  /  2 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

namespace 简单工厂模式1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入你要选择的笔记本");
            string str = Console.ReadLine();
            Notebook nb = GetNoteBook(str);
            nb.Showpai();
            Console.ReadKey();

        }

        /// <summary>
        /// 输入品牌,并选择实例化
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public  static  Notebook GetNoteBook(string str)
        {
            Notebook nb = null;//如果不赋值,系统就会报错并非所有代码都有返回值,赋值NULL不占用内存
            switch (str)
            {
                case "Hp": nb = new Hp();
                    break;
                case "Sony": nb = new Sony();
                    break;
                case "Lenvor": nb = new Lenvor();
                    break;
                case "Acer": nb = new Acer();
                    break;
         
            }
            return nb;


        }
    }

public   class Acer:Notebook
    {
       public   override  void Showpai()
       {
           Console.WriteLine("我是宏基笔记本");
       }
    }

public  class Hp:Notebook
    {
        public override void Showpai()
        {
            Console.WriteLine("我是惠普笔记本");
        }
    }
public   class Lenvor:Notebook
    {
        public override void Showpai()
        {
            Console.WriteLine("我是联想笔记本");
        }
    }
public   abstract  class Notebook
    {
      public abstract void Showpai();
    }
  public    class Sony:Notebook
    {
        public override void Showpai()
        {
            Console.WriteLine("我是索尼笔记本");
        }
    }

评分

参与人数 1技术分 +1 收起 理由
赵宗荣 + 1

查看全部评分

2 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
谢谢,学习了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马