当前位置: 编程技术>.net/c#/asp.net
C#学习笔记之继承
来源: 互联网 发布时间:2014-08-30
本文导语: 1,C#分为实现继承和接口继承两种继承方式。 2,使健壮代码的编写容易一些,是开发C#的重要设计目标,因此C#不支持多重实现继承,但C# 允许类型派生于多个接口, 3,结构和类关于继承的总结 ① 结构总是派生于System.ValueT...
1,C#分为实现继承和接口继承两种继承方式。
2,使健壮代码的编写容易一些,是开发C#的重要设计目标,因此C#不支持多重实现继承,但C# 允许类型派生于多个接口,
3,结构和类关于继承的总结
① 结构总是派生于System.ValueType,它们还可以派生于任意多个接口
② 类总是派生于用户选择的另一个类,他们还可以派生于任意多个接口
4,以下的三段代码实现了相同的继承方式
如果类没有指定基类,编译器就假定Object是基类
代码示例:
class ClassA : Object
{
//代码
}
class ClassA : object //->object关键字,用作System.Object类的假名
{
//代码
}
class ClassA
{
//代码
}
{
//代码
}
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();
}
}
{
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#继承的学习要点,希望对大家有所帮助。