继承是面向对象程序设计的主要特征之一,它可以让你重用代码,可以节省程序设计的时间。
1.Object类的作用。
Object(object为别名) 是所有类的基类,在C#中所有的类都直接或间接继承于Object,如果在一个类的声明中没有指定它继承于哪个类则是继承于Object类。
2.类继承的实现。
以下定义两个类:
class Parent
{
//默认的构造函数
public Parent()
{
Console.WriteLine("程序创建了一个父类....");
}
//带参数的构造函数
public Parent(String str)
{
Console.WriteLine(str);
}
//一个方法
public void print()
{
Console.WriteLine("你调用了一个父类方法....");
}
}
Child类继承于Parent类
using System;
public class Child : Parent
{
//默认的构造函数
public Child():base("在创建子类时候先调用父类的构造函数");
{
Console.WriteLine("程序创建了一个子类....");
}
new public void print()
{
Console.WriteLine("你调用了一个子类方法.....");
}
}
using System;
public class Sence
{
public static void Main()
{
//实例化了一个父类
Parent P=new Parent();
//实例化了一个子类
Child C= new Child();
Console.ReadLine();
}
}
程序结果:
程序创建了一个父类...
在创建子类时候先调用父类的构造函数
程序创建了一个子类....
2.类的初始化
(1)类在创建对象时,先调用其构造函数进行初始化。如:Parent P=new Parent();
(2)子类在初始化的时候是先调用父类的构造函数,再调用自己的构造函数。但父类有多个构造函数时也可指定要调用哪一个。
如:public Child():base("在创建子类时候先调用父类的构造函数")调用父类的带参数构造函数。
3.在子类中可调用父类的成员
(1)通过"base"关健字如:public Child():base("在创建子类时候先调用父类的构造函数")。
(2)也可以通过类型的转换:
Child = new Child()
Parent Pa= (Parent) C
Pa.print()
4.子类对父类成员的覆盖
在上述中子类的print()方法是对父类方法print()的覆盖:new print()