C#中new关键字的用法及理解

usingSystem;classVehicle//定义汽车类{publicintwheels;protectedfloatweight;publicVehicle(){... using System;
class Vehicle//定义汽车类
{
public int wheels;
protected float weight;
public Vehicle()
{
;
}
public Vehicle(int w, float g)
{
wheels = w;
weight = g;
}
public void Show()
{
Console.WriteLine("the wheel of vehicle is :{0}", wheels);
Console.WriteLine("the weight of vehicle is :{0}", weight);
}
}
class train//定义火车类
{
public int num;
private int passengers;
private float weight;
public train()
{
;
}
public train(int n, int p, float w)
{
num = n; passengers = p; weight = w;
}
public void Show()
{
Console.WriteLine("the num of train is:{0}", num);
Console.WriteLine("the weight of train is:{0}", weight);
Console.WriteLine("the passengers of train is:{0}", passengers);
}
}
class Car : Vehicle
{
int passengers;
public Car(int w, float g, int p)
: base(w, g)
{
wheels = w;
weight = g;
passengers = p;
}
new public void Show()
{
Console.WriteLine("the wheels of Car is:{0}", wheels);
Console.WriteLine("the weight of Car is:{0}", weight);
Console.WriteLine("the passengers of Car is:{0}", passengers);
}
}
class Test
{
public static void Main()
{
Vehicle v1 = new Vehicle(4, 5);
train t1 = new train();
train t2 = new train(10, 100, 100);
Car c1 = new Car(4, 2, 4);
v1.Show();
t1.Show();
t2.Show();
c1.Show();
Console.Read();
}
}
这句话 new public void Show()
中的new 是什么意思,有什么作用
展开
 我来答
百度网友b4009d6
2018-12-03 · TA获得超过267个赞
知道答主
回答量:11
采纳率:0%
帮助的人:7966
展开全部

new public void Show()中的new是隐藏基类Show作用。

在子类Show中写一个和基类Show一样名字的非虚方法,会让基类中的函数被隐藏,编译后会提示要求使用New关键字来显示的隐藏基类的方法。

C#中new关键字的用法

1.new 运算符 用于创建对象和调用构造函数。 

2.new 修饰符 用于隐藏基类成员的继承成员。 

3.new 约束 用于在泛型声明中约束可能用作类型参数的参数的类型。

扩展资料

1.方法的重载

重载:指的是同一个类中有两个或多个名字相同但是参数不同的方法,(注:返回值不能区别函数是否重载),重载没有关键字。

作用:允许你以相同的名称不同的参数来调用多个方法

2.方法的重写

重写:是指子类对父类中虚函数或抽象函数的“覆盖”。

特点:

(1)重写的父类中的方法必须用 virtual、abstract 或 override 修饰,且不能重写非虚方法或静态方法。               

(2)override的方法和virtual的方法必须具有相同的访问级别修饰符。

3.方法的隐藏(New)

隐藏:在子类中写一个和基类一样名字(参数不同也算)的非虚方法,会让基类中的函数被隐藏,编译后会提示要求使用New关键字来显示的隐藏基类的方法。

参考资料

https://baike.baidu.com/item/重载

网页链接

QQ__896372035
推荐于2017-11-24 · TA获得超过469个赞
知道小有建树答主
回答量:1006
采纳率:0%
帮助的人:472万
展开全部

(1)new 运算符 用于创建对象和调用构造函数。
(2)new 修饰符 用于隐藏基类成员的继承成员。
(3)new 约束 用于在泛型声明中约束可能用作类型参数的参数的类型。

new 运算符
1.用于创建对象和调用构造函数
例:Class_Test MyClass = new Class_Test();
2.也用于为值类型调用默认的构造函数
例:int myInt = new int();
myInt 初始化为 0,它是 int 类型的默认值。该语句的效果等同于:int myInt = 0;
3.不能重载 new 运算符。
4.如果 new 运算符分配内存失败,则它将引发 OutOfMemoryException 异常。

new 修饰符
使用 new 修饰符显式隐藏从基类继承的成员。若要隐藏继承的成员,请使用相同名称在派生类中声明该成员,并用 new 修饰符修饰它。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式