Net Core教程

C#中类的继承

本文主要是介绍C#中类的继承,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

开发工具与关键技术: MVC
撰写时间:2021/9/8

下面我们来讲C#中类的继承;

  1. 继承的概念:
    (1) 通过一个类来定义另一个类;
    (2) 创建新类时,不需要完全去编写类的成员,只需要新类继承已创建好的类,即可继承已有类的成员;
    (3) 被继承的类为基类(父类),新创建的类为派生类(子类);
    在这里插入图片描述在这里插入图片描述

  2. 继承的特点:
    (1) 派生类中可以添加新成员,但不能移除已继承的基类中成员,但可以使用new关键字新命名同名的成员覆盖继承的成员,并不是删除,只是不能再访问被覆盖的成员
    在这里插入图片描述
    (2) 继承存在传递性,在多重继承中,最后继承的派生类将拥有之前被继承类中的成员
    (3) 类中除了构造函数与析构函数不能被继承,其它成员都能被继承
    (4) 类可以定义虚方法、虚属性及虚索引指示器,它的派生类能够重载这些成员,从而使类可以展示出多态性
    (5) 派生类只能从一个类中继承,可以通过接口来实现多重继承
    在这里插入图片描述
    在这里插入图片描述

  3. Object类:所有类都默认继承了Object类,该类提供了4个常用方法,即Equals、GetHashCode、GetType、Tostring方法
    (1) Equals方法:用于比较两个对象是否相等,相等返回True,否则返回False,该方 法提供了两个,一个静态,具有两个参数;一个非静态,只有一个参数
    (2) GetHashCode方法:返回当前System.Object的哈希代码,每个对象都有固定的哈希值,该方法不带有任何参数,且不是静态方法,需要使用实例来调用;
    (3) GetType方法:获取当前实例的类型,返回System.Type类型的值
    (4) ToString方法: 对于对象实例,返回一个对象实例的字符串,在默认情况下将返回类类型的限定名;对于值类型,则为将值转换为字符串类型的值;任何类都可以重写 ToString 方法,返回自定义的字符串

  4. 继承中的常用关键字:
    (1) base:当子类需要调用父类中的成员时,可以借助base关键字来完成;
    在这里插入图片描述
    在这里插入图片描述
    (2)virtual:将类中成员定义成虚拟的,表示这些成员在继承后将重写;子类中的重写方法默认带有virtual修饰,具有传递性;不能修饰使用static修饰的成员;
    (3)abstract:抽象的,抽象方法必须定义在抽象类中;抽象方法不具有方法体,需要在子类中必须重新定义父类的抽象方法;抽象类中可定义抽象方法,也可以定义非抽象成员;抽象类可以定义构造方法,但抽象类无法被实例化
    (4)sealed:密封的,不能被继承,不能被重写;密封方法必须出现在子类中,并且是子类重写父类的方法,故sealed关键字必须与override关键字一起使用

以上就是C#中类的继承。

这篇关于C#中类的继承的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!