在讲解我们的小例子之前,让我们先对继承有个大概的了解。
1、含义:当一个类A能够获取另一个类B中所有非私有的数据和操作的定义作为自己的部分或全部成分时,就称这两个类之间具有继承关系。被继承的类B称为父类或超类、基类,继承了父类或超类的数据和操作的类A称为子类、派生类。
2、继承的语法格式
3、如何用base关键字在派生类中访问基类成员和父类成员的方法和属性。
一、定义一个类Person:
- <span style="font-family:Microsoft YaHei;font-size:18px;">public class Person
- {
- protected string name;
- protected string ID;
- public Person()
- {
- name = "zhouzhou";
- ID = "130552199301152555";
- }
- public virtual void GetInfo()
- {
- Console.WriteLine("姓名:{0}", name);
- Console.WriteLine("身份证号:{0}", ID);
- }
- }</span>
二、创建一个子类:
- <span style="font-family:Microsoft YaHei;font-size:18px;">public class Student : Person //声明student是person的子类
- {
- private string StudentNo = "123456";
- public Student():base() //用base关键字调用基类的构造函数
- {
- Console.WriteLine("我的名字叫周周。");
- }
- public override void GetInfo()
- {
- base.GetInfo(); //用base关键字调用父类的方法
- Console.WriteLine("学号:{0}", StudentNo);
- }
- }</span>
三、将student类实例化。
- <span style="font-family:Microsoft YaHei;font-size:18px;">static void Main(string[] args)
- {
- Student zhouzhou = new Student();
- zhouzhou.GetInfo();
- }</span>
这里主要想说一下怎样在派生类中重写基类的方法,首先要在基类中声明的方法前virtual关键字,然后在派生类中的方法前加上override关键字即可。
如果派生类中的成员变量和基类的成员变量名称相同访问的时候要加上关键字new。而访问重写的方法就要用到关键字base关键字。