博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#.NET常见问题(FAQ)-interface接口如何理解
阅读量:4673 次
发布时间:2019-06-09

本文共 731 字,大约阅读时间需要 2 分钟。

个人把interface理解为一种比较特殊的判断技巧,不是常规的变量类型比如判断字符串,判断数组,而是判断类的实例是否拥有某些属性或者方法(比如有十个女的穿一样的衣服,头上盖住,让新郎去猜哪一个是他的新娘,虽然这种应用很少见,然而却的的确确存在,唐伯虎里面他作诗,然后其中一个女的有反应,据此他认为有反应的就是他要找的对象)

 

在范例程序中,我们声明了四种司机,虽然从类型的名字来看就知道Danger_Driver是非法驾驶,但是更细的区分我们不知道,比如Truck_Driver到底是哪种类型的不清楚,如何声明一个统一的方法Drive_Judgement,不管哪种类型的司机传递进去,都能给你返回出来他是什么类型(Driver_Judgement可以理解为跟新娘筛选机一样的机器,不管什么女人,哪怕头上盖着红布,只要经过机器一检查,就能判定是不是指定的类型,我们这里不管胖子瘦子,大人小孩,只要经过这个方法一检查,就能判定有什么类型驾照,能开什么车)

 

函数的传入类型就比较特殊,是一个object(不是一个指定的类型,是任意类型),然后这个任意类型进去之后就尝试强制转换为指定接口的类型(本质是是尝试强制转换为指定类型,可以理解为判定他是否具有指定接口,如果有则转换完成,如果没有则返回NULL,当然这个应用比较特殊,我也没有想到有什么具体的应用非得这么做,对个人来说设计这一套接口就很费劲,读懂,维护都很麻烦,个人不建议使用)

 

 

更多教学视频和资料下载,欢迎关注以下信息:

我的优酷空间:

 

我的在线论坛:

 

问题交流:

QQ:910358960

邮箱:

 

 

转载于:https://www.cnblogs.com/acetaohai123/p/7622594.html

你可能感兴趣的文章
UE4 打包C++项目到win32平台报错 could not find mspdbcore.dll
查看>>
sed系列:行或者模式匹配删除特定行
查看>>
python常见面试题(三)
查看>>
回文日期(NOIP2016 普及组第二题)
查看>>
[jQuery]回到顶部
查看>>
Win7下修改Hosts文件
查看>>
Linq to sql并发与事务
查看>>
2017-06-27
查看>>
Convert DataTable to Html Table
查看>>
JavaEE复习三
查看>>
全局ajax事件
查看>>
javascript二维数组
查看>>
JavaScript 字符串属性和方法
查看>>
opencv新手注意
查看>>
Source InSight context 窗口丢失的解决办法
查看>>
cut point and bridge总结
查看>>
(5)Oracle基础--约束
查看>>
【Nginx】磁盘文件写入飞地发
查看>>
默认情况下安装的应用程序C盘后提示权限不足,当你开始介意。。。
查看>>
su root 后还是不能使用useradd ,useradd 等命令
查看>>