zoukankan      html  css  js  c++  java
  • 接口类型是否继承于System.Object的讨论?

    由于最近比较忙,好久没有来这里写东西了,以后会常常来这里记录一些自己的心得和体会的。

    看到标题可能很多人也会比较疑惑,认为这个根本没有必要讨论,而且认为这个问题也比较无聊。

    实际上我也是今天才注意到这个问题的,不知道大家想过这个问题没有?

    我一开始遇到这个问题是一个初学编程的同行提出的,他的想法是借口类型似乎应该继承于System.Object,毕竟System.Object是所有.NET中所有类型的根类型。

    实际上仔细考虑一下以上看法就占不住脚 ,从接口的定义就可以看出这一点:接口是描述可属于任何类或结构的一组相关行为。

    这个概念的意思是接口只是关于一组行为的抽象描述,本身并不包括这些行为的实现,如果他继承与任何实体的类型,那接口就包括具体的一些实现了,也就是说假如借口继承于System.Object,那么每个借口就应该包括了System.Object中的GetHashCode(),GetType(),ToString()等方法的实现了,这和接口的定义存在矛盾,也不符合接口的设计理念。

    说了这么多就是想给初学者提个醒,编程这门技术有时是需要多加思考的,仔细思考一些事情背后的原理,这样才能更快的提高自己的水平。

    结论:实际上接口类型并不继承也任何System.Object的派生类,也不继承于System.Object

  • 相关阅读:
    【分享】管理的最高境界是简单
    建立市场化风险评估机制推进地方政府信用评级建设
    手游-神雕侠侣 85侠客纪攻略(已通关)
    使用git的分支功能实现定制功能摘取与组合的想法
    组内正则培训记录
    组内Linq培训记录
    一次代码重构记录
    git代码库误操作还原记录
    关于代码重构的开始
    如何管理高手、大牛?
  • 原文地址:https://www.cnblogs.com/xuefeng1982/p/1388975.html
Copyright © 2011-2022 走看看