C#学习笔记之继承

发布时间:2020-10-03编辑:脚本学堂
本文介绍下,有关C#继承的相关知识,有需要的朋友,参考下吧。

1,C#分为实现继承和接口继承两种继承方式。

2,使健壮代码的编写容易一些,是开发C#的重要设计目标,因此C#不支持多重实现继承,但C# 允许类型派生于多个接口,

3,结构和类关于继承的总结
 ① 结构总是派生于System.ValueType,它们还可以派生于任意多个接口
 ② 类总是派生于用户选择的另一个类,他们还可以派生于任意多个接口

4,以下的三段代码实现了相同的继承方式
如果类没有指定基类,编译器就假定Object是基类   
 

复制代码 代码示例:
    class ClassA : Object 
    { 
        //代码 
    } 
     
    class ClassA : object //->object关键字,用作System.Object类的假名 
    { 
        //代码 
    } 
     
    class ClassA 
    { 
        //代码 
    } 

5,如果类也派生于接口,则用逗号分隔开基类和接口
 

复制代码 代码示例:
   class ClassA : Object, IInterface1, IInterface2 
    { 
        //代码 
    } 

6,调用函数的基类版本,用base.基类方法名()的方式。
   

复制代码 代码示例:
class myClass 
    { 
        private int a = 10; 
     
        public virtual int getValue() 
        { 
            return a; 
        } 
    } 
     
    class myChildClass : myClass 
    { 
        public override int getValue() 
        { 
            return base.getValue() * 10; 
        } 
     
        //这里方法并没有什么意义,只是为了说明base方式调用,不必非要在重载中使用 
        public int returnValue() 
        { 
            return base.getValue(); 
        } 
    }    class myClass 
    { 
        private int a = 10; 
     
        public virtual int getValue() 
        { 
            return a; 
        } 
    } 
     
    class myChildClass : myClass 
    { 
        public override int getValue() 
        { 
            return base.getValue() * 10; 
        } 
     
        //这里方法并没有什么意义,只是为了说明base方式调用,不必非要在重载中使用 
        public int returnValue() 
        { 
            return base.getValue(); 
        } 
}

就是这些了,由于是C#学习笔记,所以只记录一些c#继承的学习要点,希望对大家有所帮助。