代码如下:
class Program
{ public class Student//定义一个学生类,其中字段有姓名、年龄、学号 { private string Name; private string Age; private int Id; public Student(string name,string age,int id)//创立学生类的构造函数 { Name = name; Age = age; Id = id; } public void sc()//定义一个输入办法sc,别离输入姓名,年龄,学号信息 { Console.WriteLine("姓名:{0}", Name); Console.WriteLine("年龄:{0}", Age); Console.WriteLine("学号:{0}", Id); } } public class e : Student//定义一个新类e来根底学生类,换个说法就是e是学生类的子类 { private string department;//定义两个字段业余和性别 private string sex; public e(string name, string age, int id, string d,string s) : base(name, age, id) { department = d; sex = s; } new public void sc()//应用new修饰符清晰的表明了派生类暗藏了基类,如果不加new,编译会有正告 { base.sc();//调用基类的构造函数 Console.WriteLine("业余:{0}", department); Console.WriteLine("性别:{0}", sex); } } static void Main(string[] args) { e s1 = new e("张三", "22", 12, "软件工程", "男");//实例化派生类对象为s1,写入相应信息。 s1.sc(); }}
编译后果如下:
base 是指基类的对象,其特点如下。
(1)应用 base 关键字可拜访基类的字段和办法。
(2)应用 base 关键字可调用基类的构造函数。派生类继承基类中除了构造函数,析构函数之外的所有成员,然而,派生类依然能够调用间接基类的构造函数。
(3)base 不能蕴含在静态方法和动态构造函数中,也不能通过 base 拜访其余动态
(4)只能在派生类内应用 base 拜访基类被暗藏的成员。在派生类之外,不能通过派生类的对象拜访被暗藏的成员。