CLR总是知道托管堆上的对象是什么类型,这是CLR类型安全的前提。托管堆上的每个对象都有一个"类型对象指针",指向托管堆上Type对象的一个实例。我们总是可以通过System.Object的GetType实例方法,获取对象类型。而且,GetType是非虚方法,这样子类就不能重写该方法,子类就没有办法...
分类:
其他好文 时间:
2014-09-26 11:44:38
阅读次数:
114
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Test
{
//从设计角度考量,通常将子类中共有的但却容易变化的特征抽取为虚函数在父类中定义,而在子类中通过覆写来重新实现其操作。
class A
{
publi...
分类:
其他好文 时间:
2014-09-19 17:39:45
阅读次数:
148
公开课第一天主要是讲游戏的基本架构,各种类的编写,最终在窗体上绘制了一个玩家坦克,并且可以控制移动,而且不出超出屏幕。1.注意类的抽象 GameObject-》FatherTank-》PlayerTank2.注意类中的虚方法和抽象方法的使用3.窗体不闪烁问题的解决4.重绘问题处理,使用Timer每隔...
分类:
其他好文 时间:
2014-09-18 23:45:34
阅读次数:
239
JVM中相关方法的调用的指令
invokestatic
调用静态方法。
invokespecial
用于调用构造器方法、私有方法、父类方法。
invokevirtual
用于调用类的所有虚方法。
invokeinterface
用于调用接口方法。
解析(resolution)与分派(dispatch)
解析
解析调用一定是个静态的过程,在编译期间就完全确定,在类装载的解析阶段...
分类:
其他好文 时间:
2014-08-28 13:24:09
阅读次数:
308
在面向对象的编程中,俩种截然不同的继承类型:实现继承和接口继承。实现继承:表示一个类型派生于一个基类型,它拥有该基类型的所有成员字段和函数。接口继承:表示一个类型只继承了函数的签名,没有继承任何实现代码。C#不支持多重实现继承C#类可以派生自另一个类和任意多个接口虚方法把一个基类函数声明为virtu...
分类:
其他好文 时间:
2014-08-25 16:44:24
阅读次数:
183
继承就是父子关系 你老爸把他想留给你的东西留给你 ,你就继承了他那部分,比如财富。 所以老爸有财富,你也有了。如果有些东西他不想给你 虚方法,需要你自己获得,你就得重写override这个方法,你老爸有好几个子女 ,如果每个子女都override了或new了老爸的方法 ,那就是多态。比如知识 这个是...
分类:
其他好文 时间:
2014-08-23 21:28:51
阅读次数:
160
多态的实现可以采用和继承类似的方法。首先定义一个抽象类,其中调用一些虚方法,虚方法在抽象类中没用定义,而是通过其具体的实现类来实现。
如下面的例子:
Object.extend=function(destination,source){
for(property in source){
destination[property]=source[property];
}
return ...
分类:
Web程序 时间:
2014-08-22 08:11:45
阅读次数:
245
C++允许模版化类中的单个方法,这些方法可以在一个类模版中,也可以在一个非模版化的类中。
在编写一个模版化的类方法时,实际上是为不同类型编写不同版本的方法,在类模版中,方法模版对赋值运算符和复制构造函数非常有用。
要注意的是,不能用方法模版编写虚方法和析构函数。
1.一个普通类中的方法模版例子:
#include
using namespace std;
class man{
priva...
分类:
编程语言 时间:
2014-08-20 12:39:22
阅读次数:
261
笔记来自《C#图解教程》
每个.cs文件至少需要包含一个和文件名相同的类
析构函数:执行在类的实例被销毁之前需要的清理或释放非托管资料的行为。
每个类只能有一个析构函数;
不能带参数;
不能带访问修饰符。
虚方法/覆写方法(需要在派生类中重写基类的某些方法时)
virtual/override
访问修饰符:
public完全公开
private类内部(默认)
...
分类:
其他好文 时间:
2014-08-17 22:51:55
阅读次数:
381
扩展原有类型的机制(手段)有类的继承,还有 C# 中的扩展方法。
类的继承通过增加新成员,可以扩展原有类型的数据成员(fields);可以定义新方法或重写被继承类的虚方法来扩展原有类型的方法成员(methods)。但继承机制也存在自己的问题,如果原有类型声明为封闭类型(sealed class...
分类:
其他好文 时间:
2014-08-08 23:55:26
阅读次数:
374