c#不包含采用“0”的构造函数
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespa...
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace mlh130315
{
public class human //类
{
float x; //字段
float y;
float z;
float X
{
get
{ return x; }
set
{
if (value > 0)
x = value;
else x = 0;
}
}
public float Y
{
get
{ return y; }
set
{
if (value > 0)
y = value;
else y = 0;
}
}
public float Z
{
get
{ return z; }
set
{
if (value > 0)
z = value;
else z = 0;
}
}
public human(float x,float y,float z)//构造函数
{
this.X= x;
this.Y= y;
this.Z = z;
// Console.WriteLine("I am father");
}
public float add()//方法
{
return x + y + z;
}
}
public class shuman : human
{
float x;
float y;
float z;
public shuman (float x,float y,float z)
{
this.x = x;
this.y = y;
this.z = z;
// Console.WriteLine("I am son !");
}
}
class Program
{
static void Main(string[] args)
{
human ahuman = new human(1, 2, 3);
Console.WriteLine(ahuman.add());
shuman bhum = new shuman(1, 2, 3);
Console.WriteLine(bhum.add());
}
}
} 展开
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace mlh130315
{
public class human //类
{
float x; //字段
float y;
float z;
float X
{
get
{ return x; }
set
{
if (value > 0)
x = value;
else x = 0;
}
}
public float Y
{
get
{ return y; }
set
{
if (value > 0)
y = value;
else y = 0;
}
}
public float Z
{
get
{ return z; }
set
{
if (value > 0)
z = value;
else z = 0;
}
}
public human(float x,float y,float z)//构造函数
{
this.X= x;
this.Y= y;
this.Z = z;
// Console.WriteLine("I am father");
}
public float add()//方法
{
return x + y + z;
}
}
public class shuman : human
{
float x;
float y;
float z;
public shuman (float x,float y,float z)
{
this.x = x;
this.y = y;
this.z = z;
// Console.WriteLine("I am son !");
}
}
class Program
{
static void Main(string[] args)
{
human ahuman = new human(1, 2, 3);
Console.WriteLine(ahuman.add());
shuman bhum = new shuman(1, 2, 3);
Console.WriteLine(bhum.add());
}
}
} 展开
5个回答
展开全部
你好,子类继承父类,构造函数是默认调用父类的无参的构造函数,
子类的构造函数默认都调用了
public Shuman(float x, float y, float z):base() {}
你需要在子类的带参构造函数调用父类的同样签名的构造函数
或者直接在父类显示声明无参构造函数
public Shuman(float x, float y, float z)
: base(x, y, z)
{
}
而且你无需在shuman里加上赋值操作,自动继承了父类的属性了。
有点乱,反正两个办法,一个是父类直接声明一个无参构造函数,而是子类指明调用的是父类的哪个构造函数
子类的构造函数默认都调用了
public Shuman(float x, float y, float z):base() {}
你需要在子类的带参构造函数调用父类的同样签名的构造函数
或者直接在父类显示声明无参构造函数
public Shuman(float x, float y, float z)
: base(x, y, z)
{
}
而且你无需在shuman里加上赋值操作,自动继承了父类的属性了。
有点乱,反正两个办法,一个是父类直接声明一个无参构造函数,而是子类指明调用的是父类的哪个构造函数
展开全部
子类继承父类,构造函数是默认调用父类的无参的构造函数,子类的构造函数默认都调用了。
public Shuman(float x, float y, float z):base() {}
需要在子类的带参构造函数调用父类的同样签名的构造函数,或者直接在父类显示声明无参构造函数。
public Shuman(float x, float y, float z)
: base(x, y, z)
{
}
而且无需在shuman里加上赋值操作,自动继承了父类的属性了。
public Shuman(float x, float y, float z):base() {}
需要在子类的带参构造函数调用父类的同样签名的构造函数,或者直接在父类显示声明无参构造函数。
public Shuman(float x, float y, float z)
: base(x, y, z)
{
}
而且无需在shuman里加上赋值操作,自动继承了父类的属性了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-03-15
展开全部
两种做法:1. 在shuman中,改为 C#中的继承,父类,与子类具有相同参数的构造函数时,用base........代表父类。
public shuman(float x,float y,float z)
: base(x,y,z) {
}
2.
在human中 手动添加无参的构造函数
public shuman(float x,float y,float z)
: base(x,y,z) {
}
2.
在human中 手动添加无参的构造函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public class human //类
{
父类中必须有无参构造函数
public human(){}
}
{
父类中必须有无参构造函数
public human(){}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-03-15
展开全部
public human()
{
}
添加多一个就没事了
{
}
添加多一个就没事了
追问
什么意思,还是不懂,麻烦说清楚点
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询