扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
通过创建一个从现有类派生的新类,我们可以扩展现有类的功能。派生类继承了基类的属性,并且我们可以在需要时添加或重写方法和属性。
在 C# 中,继承和接口实现都通过 : 运算符来定义,这等同于 Java 中的扩展和实现。注意,基类应该一直在类声明的最左边。
同 Java 一样,C# 不支持多重继承,这意味着类不能从多个类中继承。然而,我们可以为此目的而采用与 Java 相同的方式使用接口,正如我们在下一部分中将看到的。
下面的代码定义了一个名为 Point 的类,它有两个私有成员变量 x 和 y,表示点的位置。这些变量可以分别通过名为 X 和 Y 的属性来访问:
public class Point
{
private int x, y;
public Point()
{
x = 0;
y = 0;
}
public int X
{
get
{
return x;
}
set
{
x = value;
}
}
public int Y
{
get
{
return y;
}
set
{
y = value;
}
}
}
我们将从 Point 类派生一个新类(比如说名为 ColorPoint),如下所示:
public class ColorPoint : Point
于是 ColorPoint 继承了基类的所有字段和方法,我们可以根据需要向派生类中添加新的字段和方法来提供额外的特性。在这个示例中,我们添加了一个私有成员和一些访问器来为点增加颜色:
using System.Drawing;
public class ColorPoint : Point
{
private Color screenColor;
public ColorPoint()
{
screenColor = Color.Red;
}
public Color ScreenColor
{
get
{
return screenColor;
}
set
{
screenColor = value;
}
}
}
注意,派生类的构造函数隐式调用了基类(或 Java 术语中的超类)的构造函数。在继承中,所有的基类构造函数都是按照这些类出现在类层次中的顺序在派生类的构造函数之前调用的。
查看本文来源如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。