类型强制转换: 只有继承关系才能使用强制转换 is:判断变量是否指定的类型 声明一个父类变量,赋给一个子类变量,用is去判断是否子类对象,返回true as:进行类型转换,如果转换失败,返回null值,只能用与引用类型,并且与有集成关系的 重写: 对父类的虚方法进行重写,声明一个父类对象赋给一个子类...
分类:
其他好文 时间:
2014-07-19 09:26:21
阅读次数:
186
基础方面:1.简单的描述一下C# 中重写,重载,隐藏的概念C#中重写(overide)是子类继承父类后,对父类中的方法进行行为改写。重载是指方法名相同,参数不同重写和隐藏的定义:重写:基类方法声明为virtual(虚方法),派生类中使用override申明此方法的重写.隐藏:基类方法不做申明(默认为...
分类:
Web程序 时间:
2014-07-17 23:25:25
阅读次数:
357
1.虚方法(Virsual Method)虚方法是继承的,一旦在基类里把某个方法声明为虚方法,在子类里就不可能再把它声明为一个非虚方法了。在基类里把所有的方法都声明为虚方法会让最终生成的可执行代码的速度变得稍微慢一些,但好处是可以一劳永逸地确保程序的行为符合你的预期。析构器都是虚方法!从编译的角度看...
分类:
编程语言 时间:
2014-07-09 14:14:45
阅读次数:
196
虚方法 1.在父类中的虚方法有默认的实现2.子类可以重写父类的虚方法override多态 LSP(里氏替换原则) 父类变量 指向 子类对象抽象方法 1.没有方法体2.必须在抽象类中 3.子类必须重写抽象方法,除非子类也是一个抽象类 4.抽象类不能实例化 5.抽象成员的访问修饰符不能private ....
分类:
其他好文 时间:
2014-07-06 22:17:40
阅读次数:
301
QAbstractItemModelQAbstractItemModel是一个抽象类,该抽象类未实现的纯虚方法有QModelIndex QAbstractItemModel::index(int row, int column, const QModelIndex & parent = QModel...
分类:
其他好文 时间:
2014-07-06 13:26:45
阅读次数:
228
刚刚看到了C++代理模式,简单的学习了一下,当一个应用程序执行时,可以采用这种方法,至于到底怎么用,我还不知道。 A->B->C。 当应用A要执行的时候,采用代理B,B继承自协议C,实现C中的虚方法,C为一个抽象类,包含一个纯虚函数。这样的话,主函数中只需要执行A的方法就可以了。 下面用代...
分类:
编程语言 时间:
2014-07-02 19:22:40
阅读次数:
213
虚方法:就是以virtual关键字修饰并在一个或多个派生类中实现的方法。如果一个方法被virtual标记,则不可再被static、abstract和override修饰。 抽象方法:是以abstract关键字修饰的方法,抽象方法可以看做是没有实现体的虚方法,并且必须在派生类中被重写,如果一个类包括....
分类:
其他好文 时间:
2014-07-01 13:06:43
阅读次数:
235
XNA 中的 Game 类,是所有神奇事情发生的地方。几乎游戏中所有的事情都由它来操办。 它是项目中的王者,让我们深入窥探一番: 虚方法 Game 本身从众多其它地方继续了许多能力才能完成游戏中的事情。因而它必然会重写一些方法, 以更好地完成任务。我们已经看到了一些: Initialize ,如你所...
分类:
其他好文 时间:
2014-06-28 13:55:08
阅读次数:
186
不推荐List做API原因有如下两点:1.首先List 设计之初就没有设计成可扩展的,我们不能重新其任何方法。这就意味着,我们操作List的时候却不能有任何的通知机制,而Collection却提供了SetItem虚方法以供重写,以便于我们在修改成员信息或者添加成员的时候可以自定义实现通知机制。2.其...
(1) abstract方法没有具体的实现,同时必须被覆写
(2) 虚(Virtual)方法可以没有具体的实现,也不一定必须覆写(虚方法定义时,可以没有具体的实现代码,但是必须创建方法体:即必须有方法的左右花括号)。
(3) 抽象方法不可以使用base.method()方式调用,但是虚方法是可以的
//定义一个抽象方法
using System;
using System.Colle...
分类:
其他好文 时间:
2014-06-24 22:21:22
阅读次数:
331