zoukankan      html  css  js  c++  java
  • 中介者模式c#(媒婆版)

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

    namespace 中介者模式
    {
        public abstract class Person {

            public string Name { get; set; }
            public string Condition { get; set; }
            public abstract void getPartner(Person p);
        
        }
        public class Men : Person
        {
            public Mediator m
            {
                get;
                set;
            }
            public Men(string name, string condition, Mediator m)
            {
                this.Name = name;
                this.Condition = condition;
                this.m = m;
                m.Men = this;
            }
            public override void getPartner(Person p)
            {
                this.m.getPartner(this,p);
            
            }

        }
        public class Women : Person
        {
            public Mediator m
            {
                get; set;
            }
            public Women(string name,string condition ,Mediator m)
            {
                this.Name = name;
                this.Condition = condition;
                this.m = m;
                m.Women = this;
            }
            public override void getPartner(Person p)
            {
                this.m.getPartner(this, p);

            }
        }
        public class Mediator
        {
            public Women Women { get; set; }
            public Men Men { get; set; }
            public void getPartner(Person w,Person m)
            {
                if (w.GetType() == m.GetType())
                {
                    Console.WriteLine("我不是同性恋!");
                   
                }
                else if (w.Condition == m.Condition)
                {
                    Console.WriteLine(w.Name+"和"+m.Name+"是绝配");
                }
                else
                {
                    Console.WriteLine(w.Name + "和" + m.Name + "没有门当户对");
                }
            
            }
           
        }
        class Program
        {
            static void Main(string[] args)
            {
                Mediator m = new Mediator();
                Person zhangsan = new Men("张三", "5", m);
                Person lisi = new Men("李四","5",m);
                Person lili = new Women("莉莉","5",m);
                Person lihua = new Women("李华","6",m);
                zhangsan.getPartner(lisi);
                zhangsan.getPartner(lihua);
                lisi.getPartner(lili);

                Console.ReadKey();
            }
        }
    }

  • 相关阅读:
    GSS3 SPOJ 1716. Can you answer these queries III gss1的变形
    GSS1 spoj 1043 Can you answer these queries I 最大子段和
    Codeforces Round #197 (Div. 2) C,D两题
    sgu 185 最短路建网络流
    CF 208E
    QTREE2 spoj 913. Query on a tree II 经典的倍增思想
    BZOJ 1146: [CTSC2008]网络管理Network 树链剖分+线段树+平衡树
    ubuntu安装vim
    历史背景更新模型
    码本模型
  • 原文地址:https://www.cnblogs.com/kexb/p/4525152.html
Copyright © 2011-2022 走看看