zoukankan      html  css  js  c++  java
  • 设计模式之抽象工厂

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

    namespace DesignPattern
    {
        
    public interface CellPhone
        {
            
    void Talk(string mes);
            
    void Send(string mes);
        }

        
    public interface Computer
        {
            
    void Play(string mes);
            
    void Work(string mes);
        }

        
    public interface User
        {
            
    void SendMessage(CellPhone phone, string mes);
            
    void PlayGame(Computer computer, string mes);
        }

        
    public class Nokia : CellPhone
        {
            
    public void Talk(string mes)
            {
                Console.WriteLine(
    "Nokia talk:" + mes);
            }

            
    public void Send(string mes)
            {
                Console.WriteLine(
    "Nokia send:" + mes);
            }
        }

        
    public class Moto : CellPhone
        {
            
    public void Talk(string mes)
            {
                Console.WriteLine(
    "Moto talk:" + mes);
            }

            
    public void Send(string mes)
            {
                Console.WriteLine(
    "Moto send:" + mes);
            }
        }

        
    public class Dell : Computer
        {
            
    public void Play(string mes)
            {
                Console.WriteLine(
    "Dell play:" + mes);
            }

            
    public void Work(string mes)
            {
                Console.WriteLine(
    "Dell Work:" + mes);
            }
        }

        
    public class Lenovo : Computer
        {
            
    public void Play(string mes)
            {
                Console.WriteLine(
    "Lenovo play:" + mes);
            }

            
    public void Work(string mes)
            {
                Console.WriteLine(
    "Lenovo work:" + mes);
            }
        }

        
    public class Student : User
        {
            
    public void SendMessage(CellPhone phone, string mes)
            {
                phone.Send(mes);
            }

            
    public void PlayGame(Computer computer, string mes)
            {
                computer.Play(mes);
            }
        }

        
    class Program
        {
            
    static void Main(string[] args)
            {
                Lenovo lenovo 
    = new Lenovo();
                Nokia nokia 
    = new Nokia();
                Student zhangsan 
    = new Student();
                zhangsan.PlayGame(lenovo, 
    "大话西游");
                zhangsan.SendMessage(nokia, 
    "我不在家");

                Console.ReadLine();
            }
        }
    }
  • 相关阅读:
    Html table 内容超出显示省略号
    [已解决] odoo12 菜单不显示,安装后多出菜单
    js display, visible 区别
    on() 和 click() 的区别
    jquery $.proxy使用
    阿里云ECS服务器部署HADOOP集群(六):Flume 安装
    阿里云ECS服务器部署HADOOP集群(七):Sqoop 安装
    阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建
    阿里云ECS服务器部署HADOOP集群(五):Pig 安装
    阿里云ECS服务器部署HADOOP集群(四):Hive本地模式的安装
  • 原文地址:https://www.cnblogs.com/bloodofhero/p/1520882.html
Copyright © 2011-2022 走看看