091118 T 数组的继承

Array T[] IList IList<T>
它们之间的关系如下
T[] : Array, IList<T>, ICollection<T>, IEnumerable<T>       --这层的关系比较隐含
Array : ICloneable, IList, ICollection, IEnumerable

如下:
typeof(string[]).GetInterfaces()
结果:
{System.Type[7]}
    [0]: {Name = "ICloneable" FullName = "System.ICloneable"}
    [1]: {Name = "IList" FullName = "System.Collections.IList"}
    [2]: {Name = "ICollection" FullName = "System.Collections.ICollection"}
    [3]: {Name = "IEnumerable" FullName = "System.Collections.IEnumerable"}
    [4]: {Name = "IList`1" FullName = "System.Collections.Generic.IList`1[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}
    [5]: {Name = "ICollection`1" FullName = "System.Collections.Generic.ICollection`1[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}
    [6]: {Name = "IEnumerable`1" FullName = "System.Collections.Generic.IEnumerable`1[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"}

时间: 2024-10-14 14:51:26

091118 T 数组的继承的相关文章

Jquery源码分析---jQuery类数组的分析

4.1.类数组构建 从上节可以看出jquery构建函数完成了查找或转换 或其它的功能,其结果就是查找到元素.Dom树查找,html转换成Dom元素,还是 直接传入Dom元素都不过是方式而已.找到这些元素就得找个地方去存储起来. 存储有序数据的地方(集合)在JS中最好的当然是数组.那么又如何在 jQuery内面实现数组呢?可以采用如下的方式: jQuery.fn.prototype=new Array(); 在上一节中 的this.setArray(arr)函数中加上 Array.apply (t

(教学思路 C#集合一)集合的概述、动态数组ArrayList

这一节我们来学习集合,什么是集合呢? 集合就如同数组,用来存储和管理一组特定类型的数据对象,除了基本的数据处理功能,集合直 接提供了各种数据结构及算法的实现,如队列.链表.排序等,可以让你轻易地完成复杂的数据操作.在使用数组和集合时要先加入 system.collections命名空间,它提供了支持各种类型集合的接口及类.集合本身上也是一种类型,基本上可以将其作为用来存储一组数据对 象的容器,由于c#面向对象的特性,管理数据对象的集合同样被实现成为对象,而存储在集合中的数据对象则被称为集合元素.

JavaScript 指南 - 继承与原型链

MDN  Web技术文档  JavaScript  JavaScript 指南  继承与原型链 继承与原型链 4 名贡献者:        在本文章中 基于原型链的继承 继承属性 继承方法 使用不同的方法来创建对象和生成原型链 使用普通语法创建对象 使用构造方法创建对象 使用Object.create创建对象 性能 不好的实践:扩展原生对象的原型 结论 对于那些熟悉基于类的面向对象语言(java或者c++)的开发者来说,JavaScript的语法是比较怪异的, 这是由于javascript是一门

深入理解JS继承和原型链的问题_javascript技巧

对于那些熟悉基于类的面向对象语言(Java 或者 C++)的开发者来说,JavaScript 的语法是比较怪异的,这是由于 JavaScript 是一门动态语言,而且它没有类的概念( ES6 新增了class 关键字,但只是语法糖,JavaScript 仍旧是基于原型). 涉及到继承这一块,Javascript 只有一种结构,那就是:对象.在 javaScript 中,每个对象都有一个指向它的原型(prototype)对象的内部链接.这个原型对象又有自己的原型,直到某个对象的原型为null 为止

JavaScript从数组的indexOf()深入之Object的Property机制_javascript技巧

在JavaScript中,数组可以使用Array构造函数来创建,或使用[]快速创建,这也是首选的方法.数组是继承自Object的原型,并且他对typeof没有特殊的返回值,他只返回'object'. js中,可以说万物皆对象(object),一个数组也是一个对象(array). 很多对象都有很多很方便的方法 比如数组的push,concat,slice等等,但是如果一些对象,它没有实现这些方法,我们还是想使用这些功能.那该怎么办呢? 1.很多方法都提供了非常高效的实现, 我们可以仿照它们的实现.

JS数组学习笔记

原文:JS数组学习笔记 最近在备课数组,发现很多ES5的方法平时很少用到.细节比较多,自己做了大量例子和整理,希望对大家了解JavaScript中的Array有所帮助. 概念 数组是值的有序集合.每个值叫做元素,每个元素在数组中都有数字位置编号,也就是索引.JS中的数组是弱类型的,数组中可以含有不同类型的元素.数组元素甚至可以是对象或其它数组. JS引擎一般会优化数组,按索引访问数组常常比访问一般对象属性明显迅速. 数组长度范围 from 0 to 4,294,967,295(2^23 - 1)

深入探密Javascript数组方法_基础知识

在JavaScript中,数组可以使用Array构造函数来创建,或使用[]快速创建,这也是首选的方法.数组是继承自Object的原型,并且他对typeof没有特殊的返回值,他只返回'object'. 1. Array.prototype.slice方法 数组的 slice 方法通常用来从一个数组中抽取片断.不过,它还有将"类数组"(比如arguments和​HTMLCollection​)转换为真正数组的本领. 复制代码 代码如下:  var nodesArr = Array.prot

一个PHP数据库操作类源码

<?phpclass Core{  /*对数组进行继承*/  static function inHerit($arr_orgin,$arr_output){    return array_merge($arr_orgin,$arr_output);   }   /*打印错误*/  static function throwError($errmsg){    echo '<p>error:'.$errmsg.'</p>';    exit();  }}?><?

JavaScript中的Reflect对象详解(ES6新特性)_javascript技巧

Reflect介绍: Reflect这个对象在我的node(v4.4.3)中还没有实现, babel(6.7.7)也没有实现 ,新版本的chrome是支持的, ff比较早就支持Proxy和Reflect了,要让node支持Reflect可以安装harmony-reflect ; Reflect不是构造函数, 要使用的时候直接通过Reflect.method()调用, Reflect有的方法和Proxy差不多, 而且多数Reflect方法原生的Object已经重新实现了. 什么要使用Reflect