了解c#中的基础
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了了解c#中的基础,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1735字,纯文字阅读大概需要3分钟。
内容图文
![了解c#中的基础](/upload/InfoBanner/zyjiaocheng/756/134e831388ad4feaaa785740af9046f6.jpg)
我正在尝试理解基础构造函数的实现.考虑这种情况
如果我有基础运动
public class Sport
{
public int Id { get; set; }
public string Name { get; set; }
public Sport()
{
Console.WriteLine("Sport object is just created");
}
public Sport(int id, string name)
{
Console.WriteLine("Sport object with two params created");
}
}
现在我有继承Sport类的篮球课,我想在篮球对象初始化中使用带有两个参数的第二个构造函数.
public class Basketball : Sport
{
public Basketball : base ( ???? )
{
?????
}
}
首先,我想使用私有字段int _Id和string _Name,并在构造函数调用中使用它们
public Basketball : base ( int _Id, string _Name )
{
Id = _Id;
Name = _Name;
}
但这对使用继承没有意义,所以请在这个例子中解释我.
更新
谢谢大家,我正在使用这样的代码,没关系.
public Basketball(int id, string name) : base (id, name)
{
Id = id;
Name = name;
}
只是为了确保,在这一行公共篮球(int id,字符串名称):base(id,name)我声明变量id,name,因为我的原始是大写的变量,并且在base(id,name)上使用as params )打我的基础构造.
谢谢大家.非常有帮助/
解决方法:
如果基类构造函数没有任何默认的无参数构造函数,则必须将derives类的值或变量传递给基类构造函数.
您不需要在基础构造函数调用中声明任何内容
base关键字的主要目的是调用基类构造函数.
通常,如果您没有声明自己的任何构造函数,编译器会为您创建一个默认构造函数.
但是,如果您定义自己的具有参数的构造函数,则编译器不会创建默认的无参数构造函数.
因此,如果您没有在基类中声明的默认构造函数并且想要调用具有参数的基类构造函数,则必须调用该基类构造函数并通过base关键字传递所需的值
像这样做
public Basketball() : base (1,"user")
要么
public Basketball(int id,string n) : base (id,n)
要么
public Basketball(int id,string n) : base ()
要么
public Basketball() : base ()
类似于
public Basketball()//calls base class parameterless constructor by default
这完全取决于在实例化派生类时您希望类的行为方式
内容总结
以上是互联网集市为您收集整理的了解c#中的基础全部内容,希望文章能够帮你解决了解c#中的基础所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。