相信大家都对面向对象的三个特征封装、继承、多态很熟悉,每个人都能说上一两句,但是大多数都仅仅是知道这些是什么,不知道CLR内部是如何实现的,所以本篇文章主要说说多态性中的一些概念已经内部实现的机理。 一、多态的概念 首先解释下什么叫多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果 ...
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计 ...
分类:
编程语言 时间:
2017-03-14 16:36:41
阅读次数:
230
函数声明和定义的区别(1) C语言编译系统是由上往下编译的.一般被调函数放在主调函数后面的话,前面就该有声明.不然C由上往下的编译系统将无法识别。正如变量必须先声明后使用一样,函数也必须在被调用之前先声明,否则无法调用!函数的声明可以与定义分离,要注意的是一个函数只能被定义一次,但可以声明多次。 函 ...
分类:
其他好文 时间:
2017-03-08 19:14:49
阅读次数:
609
今天我们试着在WebApi2实现autofac的注入,关于这方面也是看了几位园友的分享省了不少时间,所以结合着前篇的demo再新建webapi进行... demo3下载地址: http://pan.baidu.com/s/1eSCAZtC 一样开篇还是发下大概demo结构: 还是nuget安装 Au ...
一:生成器补充: 生成器只能遍历一次 二:装饰器: 函数嵌套 函数里面又定义另外函数——闭包:函数作用域 ...
分类:
编程语言 时间:
2017-03-01 22:57:11
阅读次数:
235
IMP在objc.h中的定义是: typedef id (*IMP)(id, SEL, ...); 它是一个函数的指针。它是由编译器编译生成的。当你发起一个objc消息时,它会找到那段代码执行。IMP函数指针指向了这个方法的具体的实现。我们得到这个函数的指针可以直接绕过消息的传递阶段,直接执行。 你 ...
分类:
其他好文 时间:
2017-03-01 14:06:31
阅读次数:
691
JS数据类型:number数字(NaN)、string字符串、boolean布尔值、函数类型、object对象(obj、[]、{}、null)、undefined未定义 typeof 用来判断基本数据类型,instanceof可以判断引用数据类型 显示/强制类型转换( Number()、parseI ...
分类:
其他好文 时间:
2017-02-18 19:54:25
阅读次数:
191
在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址。可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指针变量称为函数指针。 1.函数指针定义 函数类型 (*指针变量名)(形参列表); “函数类型”说明函数的返回类型, ...
分类:
其他好文 时间:
2017-02-16 14:02:27
阅读次数:
163
这里有一个(x64)例子,刚好说明寄存器在函数中的位置编排。rdi是第一个不为浮点或数据结构的参数,这里的第一个参数实质上与我们定义的函数类型的第一个参数不是对应的。 ...
分类:
其他好文 时间:
2017-02-14 19:08:43
阅读次数:
187
使用Object.prototype上的原生toString()方法判断数据类型,使用方法如下: Object.prototype.toString.call(value) 1.判断基本类型: 2.判断原生引用类型: 函数类型 日期类型 数组类型 正则表达式 自定义类型 很明显这种方法不能准确判断p ...
分类:
其他好文 时间:
2017-02-13 12:27:23
阅读次数:
125