接口类和类实例的比较

来源:互联网 发布:淘宝尾款什么时候付 编辑:程序博客网 时间:2024/06/07 09:56

(1)实现接口的类 实例 = new 实现接口的类() 

(2)接口    实例   =   new    实现接口的类() ;

接口是不能实例化的,这里的接口实例化可以这样理解,实现接口的类是该接口的一个子类,可以将子类的实例赋值给其父类,也即接口,就像抽象类不能被实例化而实现其全部方法的子类可以被实例化并被赋值给它一样!具体过程如下:

1、接口 实例 应该理解为:接口  声明一个接口的引用。
2、new 实现接口的类();应理解为创建了一个类的实例。
3、将创建的类的实例的地址赋给接口的引用 。

可以理解为引用变量之间的赋值。

接口的好处:

考虑安全性的话或者说统一化的时候就用接口。接口可以隐藏类的类型,使用起来很方便。  
接口实现了多态性,多重继承。在C#中只支持单继承,如果一个子类想从多个父类中继承的时候,只有通过接口在实现其定义的方法和属性等,实现了多态性,达到了代码重用!

接口继承意味着一个类型继承的是接口中的方法签名,而非方法实现。当一个类型继承了一个接口时,它只是在许诺提供其中的方法实现;如果类型没有提供接口方法的实现,那么类型将被认为是抽象的,从而不可能被执行实例化。 
接口仅仅是一个包含着一组虚方法的抽象类型,接口方法不能包括任何实现,因此接口是不完整的(抽象的)

用接口就是让实例和实现类的耦合度降低。让程序更加容扩展。
当调用时不用关系自己使用的是什么类 只需要知道你要用什么方法就行了。

接口的一个应用:

接口 实例 = new 实现接口的类A() 
接口 实例 = new 实现接口的类B() 
接口 实例 = new 实现接口的类C() 
这样的逻辑就是说,我们需要某个类,所以我们每次实例化它。

如果把 ABC这三个类,再用一个类封D装起来,会怎么样呢?

接口 实例 = D.A
接口 实例 = D.B
接口 实例 = D.C

我们还是需要某个类,但是,我们不需要每次都实例化了,只需要找D“拿”就行。


转载自飞翔-方向 积累 沉淀的博客,地址是:http://www.cnblogs.com/mytechblog/articles/1906999.html

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 ps性能调不了是怎么办 苹果6p照相模糊怎么办 相框玻璃碎了怎么办 word文档加密后忘记密码怎么办 手机wps密码忘了怎么办 苹果手表忘了密码怎么办 苹果系统忘了密码怎么办 ps画板建小了怎么办 wps表格密码忘了怎么办 word文档变成虚的怎么办 wps论文中表格跨页怎么办 word文档复制过来有边框怎么办 wps表格跨页断开怎么办 锅的铆钉老是松怎么办 文胸不知道怎么染色了怎么办 未后的信息我该怎么办? 做leep手术后大出血怎么办 眼线笔出不了水怎么办 手机字体变成空心字怎么办 平安树树枝黑了怎么办 柳树被虫钻洞了怎么办 柳树叶子上有虫子怎么办 小金鱼翻肚皮了怎么办 秋天树叶没了小鸟怎么办 去国外旅游不会英语怎么办 橡皮树长了2米高怎么办 榕树盆景长的高怎么办? 2岁宝宝看书弯腰低头怎么办 excel表格打开很慢怎么办 3d模型有红线框怎么办 电视页面加载时错误怎么办 投屏显示加载视频错误怎么办 word遇到问题需要关闭怎么办 画眼线看不出来怎么办 14岁眼皮很松怎么办啊 ps存不了psd格式怎么办 花草上有白色物怎么办 ps抠出来有白边头发怎么办 脸上结痂掉了有红印怎么办 海棠花瓣干枯怎么办茎变软 微信上的图片打不开怎么办