Head First C# 中文版 图文皆译 第七章 接口和抽象类 page260
来源:互联网 发布:手机淘宝账号怎么注销 编辑:程序博客网 时间:2024/05/30 19:33
不可以实例化一个接口,但是可以创建它的引用
假设有一个接口定义一个FindFlower()方法,它要求对象有该方法。任何实现了INectarCollector接口的对象都可以。可以是Worker对象,Robot对象,甚至Dog对象也可以。
接口引用就是做这个用的。你可以用接口的引用指向实现了该接口的类的实例,你可以确保指向的对象一定包含会有你想要的方法--即使你并不怎么了解这个对象。
很显然,你不可以用new关键字来实例化接口,因为其中并没有方法、属性的实现体。如果可以实例化一个接口的话,那创建出来的对象怎么可能知道自己应该如何行为呢?
第一行是一个普通的new语句,创建一个叫做Fred的引用并把它指向一个NectarStinger对象。
第二行很有趣。它创建了一个IStingPatrol接口类型的引用变量。初看起来有点奇怪。但是看看下面:
NectarStinger ginger = fred;
上面这行代码你肯定懂--它创建一个叫做ginger的NectarStinger的引用并把它指向fred指向的对象。声明george的那一行也是一样。
到底是怎么样呢?
只有一个new语句,所以只有一个新对象被创建出来。第二个语句创建一个叫做george的引用变量,它可以指向任何实现了IStingPatrol的类的实例。
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page260
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page251
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page252
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page253
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page254
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page255
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page256
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page257
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page258
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page259
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page261
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page262
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page263
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page264
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page265
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page266
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page267
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page268
- 140个绝对值得收藏的电脑技巧(4)
- java与模式 适配器模式 Adaptor
- 行转列
- jBPM开发入门指南(1)
- CFileDialog
- Head First C# 中文版 图文皆译 第七章 接口和抽象类 page260
- 小超市型需求分析
- 图片根据数据库的时间(开始时间与结束时间)与本地时间相比,在网页上显示。
- CImage类
- Linux新增加一块硬盘
- 一个很好的比较各种CMS系统的网站
- SQL及Asp.net 的一些基本知识(二)
- 在Spring的IoC容器中装配AOP代理
- 模块设计之“模块”与“模块化”