在C#中子类显示调用父类中的构造函数有什么作用?(有代码参考)一下是我写了一个子类调用父类构造函数的代码,我一直想不明白,子类调用父类中的构造函数有什么有用?既然子类已经继承了父类 那么在调用父类中的构造函数对父类进行初始化有什么意义啊?-----------》纠结中??(没分了!大家多担待啊!谢谢大家了啊!!)
这是一个父类using System;
using System.Collections.Generic;
using System.Text;namespace Person
{
/// <summary>
/// 父类
/// </summary>
class Person
{
/// <summary>
/// 工号
/// </summary>
public int ID { set; get; }
/// <summary>
/// 姓名
/// </summary>
public string Name { get; set; }
/// <summary>
/// 性别
/// </summary>
public string Gender {get;set;} /// <summary>
/// 父类中的构造函数
/// </summary>
/// <param name="id">工号</param>
/// <param name="naem">姓名</param>
/// <param name="gender">性别</param>
public Person(int id,string name,string gender)
{
this.ID = id;
this.Name = name;
this.Gender = gender;
Console.WriteLine("调用了父类中的有参构造函数");
}
}
}这是一个子类using System;
using System.Collections.Generic;
using System.Text;namespace Person
{
/// <summary>
/// 子类
/// </summary>
class Student:Person
{
/// <summary>
/// 人气值
/// </summary>
public int RenQi { get; set; } /// <summary>
/// 只是子类中的构造函数
/// </summary>
/// <param name="id">工号</param>
/// <param name="name">姓名</param>
/// <param name="gender">性别</param>
/// <param name="renQi">人气值</param>
public Student(int id, string name,string gender,int renQi):base(id,name,gender)
{
this.ID = id;
this.Name = name;
this.Gender =gender;
this.RenQi = renQi;
} /// <summary>
/// 调用子类中的方法显示信息
/// </summary>
public void ShowInfo()
{
Console.WriteLine("大家好!我是:{0},我的工号:{1},性别:"
+"{2},我的人气值:{3}",base.Name,base.ID,base.Gender,this.RenQi);
}
}
}这是Main方法using System;
using System.Collections.Generic;
using System.Text;namespace Person
{
class Program
{
static void Main(string[] args)
{
//实例化Student类
Student stu = new Student(123, "小小", "男", 232);
//调用Student类中的方法显示信息
stu.ShowInfo();
}
}
}
这是一个父类using System;
using System.Collections.Generic;
using System.Text;namespace Person
{
/// <summary>
/// 父类
/// </summary>
class Person
{
/// <summary>
/// 工号
/// </summary>
public int ID { set; get; }
/// <summary>
/// 姓名
/// </summary>
public string Name { get; set; }
/// <summary>
/// 性别
/// </summary>
public string Gender {get;set;} /// <summary>
/// 父类中的构造函数
/// </summary>
/// <param name="id">工号</param>
/// <param name="naem">姓名</param>
/// <param name="gender">性别</param>
public Person(int id,string name,string gender)
{
this.ID = id;
this.Name = name;
this.Gender = gender;
Console.WriteLine("调用了父类中的有参构造函数");
}
}
}这是一个子类using System;
using System.Collections.Generic;
using System.Text;namespace Person
{
/// <summary>
/// 子类
/// </summary>
class Student:Person
{
/// <summary>
/// 人气值
/// </summary>
public int RenQi { get; set; } /// <summary>
/// 只是子类中的构造函数
/// </summary>
/// <param name="id">工号</param>
/// <param name="name">姓名</param>
/// <param name="gender">性别</param>
/// <param name="renQi">人气值</param>
public Student(int id, string name,string gender,int renQi):base(id,name,gender)
{
this.ID = id;
this.Name = name;
this.Gender =gender;
this.RenQi = renQi;
} /// <summary>
/// 调用子类中的方法显示信息
/// </summary>
public void ShowInfo()
{
Console.WriteLine("大家好!我是:{0},我的工号:{1},性别:"
+"{2},我的人气值:{3}",base.Name,base.ID,base.Gender,this.RenQi);
}
}
}这是Main方法using System;
using System.Collections.Generic;
using System.Text;namespace Person
{
class Program
{
static void Main(string[] args)
{
//实例化Student类
Student stu = new Student(123, "小小", "男", 232);
//调用Student类中的方法显示信息
stu.ShowInfo();
}
}
}
解决方案 »
- 启动调试与开始执行(不调试)比较中一个奇怪的现象
- [急]Remoting + MSSQL 服务端程序[疑难杂症]?
- 水晶报表中如何动态插入图片,顶有分!
- 2000分求解:在WebBrowser控件中找开网页后,获取验证码图片并显示在PictureBox中,在线等...
- 写了一个存储过程,时间段内的SELECT语句,有问题,请指教!
- 如何做一个类似于sqlserver创建视图时那种连接字段的连接线,线上还能写条件?
- 怎么样写这条SQL语句
- 连接操作超时
- c# 如何在双引号里面添加变量
- wpf获取DataGridCheckBoxColumn选中为true的行数
- 求解。。。
- 没有为任何调用堆栈框架加载任何符号。无法显示源代码
public Student(int id, string name,string gender,int renQi):base(id,name,gender)
{
this.RenQi = renQi;
}可以充分重用父类构造函数逻辑。