| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 587 人关注过本帖
标题:关于类中调用的结果的问题?
只看楼主 加入收藏
water123456
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:3208
专家分:5
注 册:2006-2-21
收藏
 问题点数:0 回复次数:9 
关于类中调用的结果的问题?

using System;
class Vehichle;
{
public int wheels;
protected float weight;
public Vehichle(){;}//什么意思?不明白?
public Vehicle(int w,float g)
{
wheels=w;
weight=g;
}
public void Show()
{
Console.WriteLine("the wheel of vehicle if:{0},wheels");
Console.WriteLine("the wheel of vehicle if:{0},weight");
}
}

class Car:Vehicle
{
int passengers;
public Car(int w,float g,int p):base(w,g) //下面的传递的参数到底运行的是Car还是base里的呀?
{
wheels=w;
weight=g;
passengers=p;
}
new public void Show()
{
Console.WriteLine("the wheel 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);//它传递的参数不是4,5吗?为什么会得到下面的结果呀?
Car c1=new Car(4,2,4);
v1.show();
c1.show();
}
}

运行结果:
the wheel of vehicle is:0
the weight of vehicle is:0

the wheel of car is:4//下面的几个还好像有点明白.
the weight of car is:2
the Passengers of car is:4

搜索更多相关主题的帖子: 结果 
2006-03-19 12:19
water123456
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:3208
专家分:5
注 册:2006-2-21
收藏
得分:0 
怎么没有人回答呀?

让我们风风火火的过一生,别平平淡淡过一年。
2006-03-19 18:59
water123456
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:3208
专家分:5
注 册:2006-2-21
收藏
得分:0 
怎么没有人回答呀?

让我们风风火火的过一生,别平平淡淡过一年。
2006-03-20 11:18
夜空的星星
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2006-3-17
收藏
得分:0 
public Vehichle(){;}//
这个是默认的构造函数.

qq:58926957 技术群:22185706
2006-03-20 13:14
夜空的星星
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2006-3-17
收藏
得分:0 

楼主的程序我调试过,有点问题,我运行的结果和楼主有点不同:
using System;
namespace T
{
class Vehichle
{
public int wheels;
protected float weight;
public Vehichle() { ;}//什么意思?不明白?
public Vehichle(int w, float g)
{
wheels = w;
weight = g;
}
public void Show()
{
Console.WriteLine("the wheel of vehicle if:{0}",wheels);
Console.WriteLine("the wheel of vehicle if:{0}",weight);
}
}

class Car : Vehichle
{
int passengers;
public Car(int w, float g, int p)
: base(w, g) //下面的传递的参数到底运行的是Car还是base里的呀?
{
wheels = w;
weight = g;
passengers = p;
}
new public void Show()
{
Console.WriteLine("the wheel of car is:{0}",wheels);
Console.WriteLine("the weight of car is:{0}",weight);
Console.WriteLine("the Passengers of car is:{0}",passengers);
}
public static void Main()
{

T.Vehichle v1 = new T.Vehichle(4, 5);//它传递的参数不是4,5吗?为什么会得到下面的结果呀?
Car c1 = new Car(4, 2, 4);
v1.Show();
c1.Show();
}
}
}
运行结果:
the wheel of vehicle if:4
the wheel of vehicle if:5
the wheel of car is:4
the wheel of car is:2
the Passengers of car is:4


qq:58926957 技术群:22185706
2006-03-20 13:31
virusswb
Rank: 1
等 级:新手上路
威 望:1
帖 子:342
专家分:0
注 册:2005-8-6
收藏
得分:0 
T.Vehichle v1 = new T.Vehichle(4, 5);//它传递的参数不是4,5吗?为什么会得到下面的结果呀?
Car c1 = new Car(4, 2, 4);//在构造CAR的时候还是要调用它的基类VEHICHLE的构造函数,由
v1.Show(); //于你没有给出基类的参数,基类构造就会调用基类的默认构造
c1.Show(); //函数VEHICHLE(),就是你写的public Vehichle() { ;}
//这一句,它就是基类的默认构造函数,它什么时候都没有做.

jorden008@
2006-03-20 15:27
virusswb
Rank: 1
等 级:新手上路
威 望:1
帖 子:342
专家分:0
注 册:2005-8-6
收藏
得分:0 

所以没有传值给基类,就都是0


jorden008@
2006-03-20 15:29
夜空的星星
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2006-3-17
收藏
得分:0 
基类Vehichle的默认构造函数看起来的确是什么都没有做,但是其实是有做的,比如int类型的wheels置0,还有float类型的数野置0
在C#里面,即使连int这种类型也有它自己的默认构造函数
T.Vehichle v1 = new T.Vehichle(4, 5);//它传递的参数不是4,5吗?为什么会得到下面的结果呀?
Car c1 = new Car(4, 2, 4);//输出结果是4,5啊,没错,我运行的结果,就在上面,你看下
v1.Show(); //你输出的0,0,是不可能的
c1.Show();

qq:58926957 技术群:22185706
2006-03-20 19:08
smiles
Rank: 1
等 级:新手上路
帖 子:123
专家分:0
注 册:2005-8-8
收藏
得分:0 
vehicle V1=new Vehicle(4,5);//它传递的参数不是4,5吗?为什么会得到下面的结果呀
v1.Show();

大小写错了吧

2006-03-21 09:36
water123456
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:3208
专家分:5
注 册:2006-2-21
收藏
得分:0 
可能是在抄的时候,我抄错了,哈哈,谢谢各位的回答.

可是我还有一个问题.
Car c1 = new Car(4, 2, 4);继承的是 public Car(int w,float g,int p):base(w,g) //下面的传递的参数到底运行的是Car还是base里的呀?
{
wheels=w;
weight=g;
passengers=p;
}
不明白,wheels和weight不是从基类中继承过来的吗?到底是(4,2,4)是传给了谁?那个base()是什么作用.能回答一下吗?
谢谢各位的回答了.

让我们风风火火的过一生,别平平淡淡过一年。
2006-03-21 12:55
快速回复:关于类中调用的结果的问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016955 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved