求大神解决一下数据结构的问题

莫冬冬 2017-04-11 06:14:10
public class ServiceWindow
{
IBankQueue bankQ;
//服务队列属性
public IBankQueue BankQ
{
get
{
return bankQ;

}
set
{
bankQ = value;
}
}
这个是银行排队叫号的代码


请问 IBankQueue bankQ;这一个表示什么,为什么可以这样创建

其中IBankQueue是一个接口
...全文
150 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyingdream123 2017-04-12
  • 打赏
  • 举报
回复
这就是面向接口编程,只要实现了IBankQueue 接口的类,都可以给属性BankQ赋值。利用接口而不用具体的类,主要好处是扩展性强
songbing774933 2017-04-12
  • 打赏
  • 举报
回复
interface IQueue{} class MyQueue:IQueue{} IQueue queue = new MyQueue(); 楼主应该学习什么叫接口,以及接口的作用。
吃货程序员 2017-04-12
  • 打赏
  • 举报
回复
将IBankQueue接口注入到ServiceWindow类里面 下次你可以将其他的接口注入到ServiceWindow里面 不觉得这样扩展性上好点嘛 而且这次是ServiceWindow要实现IBankQueue的方法 那下次如果其他的类要实现IBankQueue的方法你采用相同的方式把IBankQueue引入进去就好了 这叫依赖注入 一种设计模式 当然我说的这些肯能不是很全面。但是我觉得我说的应该是比较方便理解的。
  • 打赏
  • 举报
回复
有的人一看就是整天在那里问别人‘为什么可以叫xxx概念’这种思路,每天拿个书在上面画各种线,抠字眼儿。实际上书上的反复的讲解东西而他总是看不进去,他反而还认为只有自己是特别会学习,就是因为他看不进去“方法”而只想不劳而获地纠结“哪本书上是最权威的名词儿解释”。 没有什么真正的技能是靠自顶向下抠字眼儿、进行名词分解背诵(据好像中学生的应付考试)的方式而能变为自己的设计能力。 书上的东西你理解了30%,就应该反复编写测试程序,从不同角度测试其是否真正实现了不同种类的队列,最终才能逐步理解。 涉及到设计问题,一个简单的概念,可能你需要5年才能真正明白,而不是用1分钟认识了那些字眼儿就好像是明白了似地。那么这5年中,不要反反复复纠缠字眼儿上,要反反复复地去研究一个看似简单的概念是否是对自己的设计知识具有指导意义、能规范什么设计过程。这些都在于自己。
  • 打赏
  • 举报
回复
“为什么可以这样创建”? 这是什么意思呢?人家定义一个接口、用来声明一个属性,怎么就违法了呢? 如果你要知道为什么,不是靠胡乱猜,而是仔细研究源代码,看看里分别别都有哪些排队类型的多态情况,是不是都是抽象为这个接口。知道了内部的机制才知道为什么。如果只知道名词儿分解,则是等着别人替自己学习的节奏。
angel6709 2017-04-12
  • 打赏
  • 举报
回复
回去看C#入门书籍,面壁思过去
stherix 2017-04-11
  • 打赏
  • 举报
回复
这是一个属性(property) 一个属性可以有一个读访问器(get)和一个写访问器(set) 其实
IBankQueue bankQ;
        //服务队列属性
        public IBankQueue BankQ
        {
            get
            {
                return bankQ;

            }
            set
            {
                bankQ = value;
            }
        }
等价于
public IBankQueue BankQ {get; set;}

110,549

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧