星期六 十一月 28, 2009 00:35
cSharp继承的学习笔记-PartOne
在昨天的笔记中提到“结构本身不支持继承”,实际上有些武断。结构不能建立类型层次,但结构可以实现接口。
c# 的隐藏方法,这一块一直都觉得挺晦涩难懂。实际上,是没有理解出,它和虚函数之间的关系。下面以一个例子说明:
static void Main(string[] args)
{
testClass t = new testClass2();
t.myMethod();
t.my();
}
class testClass
{
public void myMethod()
{
Console.WriteLine("In base method");
}
public virtual void my()
{
Console.WriteLine("Virtual in base");
}
}
class testClass2 : testClass
{
public new void myMethod()
{
Console.WriteLine("In child method");
}
public override void my()
{
Console.WriteLine("override in derived");
}
}
- 有没有new 这个显式的声明隐藏方法的形式,不是必须的。如果没有,则编译器会还会警告你,它会默认的按照隐藏基类的方法执行。
- 从编译结果看来,隐藏函数和虚函数的区别是,override 虚函数后,用基类引用子类的实例并调用该函数,会显示其多态性。但,隐藏函数则会直接显示其基类中的相关函数。
————以下与笔记无关————
最近这两天的效率实在是低。昨天是相当于一整天只更新了一篇关于《对象和类》的日志,而今天只看了继承这一章的1/6 的内容。持续的低迷,精神状态是一方面的原因——午睡的时间给耽误了,加上早先的几天的熬夜,显得这几天看书效率低了好几个档次。另外,今天下午还是铁着心,跑出去买了一个PNY 的浪漫紫罗双子盘+一个昂达的方块糖P3 ,很心疼的说。提起U盘,那真是一头包的,月头才买不久的Sandisk 就神不知鬼不觉的不见了;提起这次买的P3,让我想起04 年那会,昂达刚出第一款vx505 时,我就买了。
- Category: csharp-note
- (1) Comment
cSharp继承的学习笔记-PartTwo | 邵明博的个人博客
十一月 28th, 2009 at 3:07 下午
[...] 本文承接于《cSharp继承的学习笔记-PartOne》,主要谈谈继承这一章节关于密封和接口中我认为重要的知识。 [...]