返回首页
当前位置: 主页 > 网络编程 > .Net实例教程 >

c#中base和new使用教程

时间:2012-05-02 22:20来源:知行网www.zhixing123.cn 编辑:麦田守望者

New:子类的成员会覆盖父类的成员,编译器会提示一个警告,但是不会报错。如果对子类的成员使用new关键字,则可以关闭这个警告。

Base:当子类中调用被覆盖的父类时,使用。

因为原本父类的方法可能被子类覆盖了,所以如果此时想使用父类的方法,可以用使用base.

Eg:

using System;

using System.Collections.Generic;

using System.Text;

namespace ConsoleApplication1

{

class a

{

public a()

{

Console.WriteLine("this is default constructor");

}

public void display()

{

Console.WriteLine("parent display");

}

}

class b :a

{

new public void display()

{

base.display();

Console.WriteLine("child display");

}

}

classProgram

{

static void Main(string[] args)

{

b objb = new b();

objb.display();

Console.ReadKey();

}

}

}

============

using System;

using System.Collections.Generic;

using System.Text;

namespace ConsoleApplication1

{

public classanimal

{

public animal()

{

Console.WriteLine("animal constructor");

}

public void walk()

{

Console.WriteLine("animal walk");

}

public void sleep()

{

Console.WriteLine("animal sleep");

}

}

public classdog : animal

{

public dog()

{

Console.WriteLine("dog constructor");

}

public new void walk()

{

Console.WriteLine("dog walk");

}

private void sleep()

{

Console.WriteLine("dog walk");

}

}

public classpekinese : dog

{

public pekinese()

{

Console.WriteLine("pekinese constructor");

}

}

classProgram

{

static void Main(string[] args)

{

dog d = new dog();

animal ani = d;

pekinese pek = new pekinese();

ani.walk();

d.walk();

pek.walk();

ani.sleep();

pek.sleep();

Console.ReadKey();

}

}

}

运行结果:

animal constructor

dog constructor

animal constructor

dog constructor

pekinese constructor

animal walk

dog walk

dog walk

animal sleep

animal sleep
 

顶一下
(0)
0%
踩一下
(0)
0%
标签(Tag):C# C#实例教程 c#基础教程 C#源代码 c#技巧
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片