代码如下:
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 访问基类被隐藏的成员。在派生类之外,不能通过派生类的对象访问被隐藏的成员。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。