zoukankan      html  css  js  c++  java
  • 关于《关于一道C#上机题的一点想法》

    看了《关于一道C#上机题的一点想法》和《泛型委托》两篇文章,深有感触,还是关于下面这道题:

    题目:17个人围成一圈,从第一个人开始报数,报到3的退出,一直到剩下最后一个人,用面向对象的思想去做这道题。

    前面两篇感觉上还是不够面向对象,至少要有面向对象三大特征:封装,继承,多态吧,
    第一篇仅是构建了一个双向循环链表数据结构,思想还是面向过程的。
    第二篇用到了泛型委托,但是思想和特定技术是不相关的,用到泛型委托未必就是面向对象啊。
    所以我也斗胆写了下这道题,请大家指教了:
    首先说明,这里用到了状态模式,单例模式,主要还是状态模式,实现了一个简单的状态机,
    先上图:

    再上代码:
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Text;
     4 
     5 namespace Test
     6 {
     7     interface IPersonState
     8     {
     9        void Handle();
    10 
    11        void Handle(Person person);
    12    }
    13 }
    14 

    First

    Second

    Three

    Last

    Person

    PersonLink

    调用:
    Program

    运行结果:

    源代码:/Files/hongyin163/Test.rar

    不知道大家感觉怎样?

  • 相关阅读:
    sqlserver数据库备份还原时出现3241问题
    ssms安装失败_拒绝访问0x80070005解决方法
    Linux strace命令
    争议 | 要不要去IT外包公司工作?
    sqlserver计算时间差DATEDIFF 函数
    CodeForces
    [HNOI 2016] 网络
    CodeForces
    AtCoder Beginner Contest 209
    学习4412开发板+项目实战+配套视频+每日指导
  • 原文地址:https://www.cnblogs.com/hongyin163/p/1555012.html
Copyright © 2011-2022 走看看