如何创建继承Ellipse类的子类

Ino*_*nox 4 c# wpf inheritance windows-phone-8

我是C#语言的新手,我在创建一个继承某类属性的子类时遇到了一些麻烦.我正在使用Visual Studio 2012来创建Windows Phone 8应用程序.

我继承像Button或TextBox这样的类没有问题,但是我不能让它继承Ellipse类.我可以继承Shape类,从中派生Ellipse,但不能继承Ellipse本身.

我的想法是为我创建的省略号添加一些属性,因此我可以跟踪用户按这些省略号的顺序.我可以使用另一个类,或者使用Ellipse本身(并使用它已经存在的属性),但出于学习目的,我想知道为什么我不能(或我怎么能)继承Ellipse类.

public partial class Ball : Ellipse
{
     ...
}
Run Code Online (Sandbox Code Playgroud)

D S*_*ley 6

你不能. Ellipsesealed.

你可以包装它,但你不能继承它.

public class MyEllipse: Shape
{
   private Ellipse _Ellipse;

   // pass through overridden Shape methods/properties to the underlying Ellipse

   // add custom methods/properties.
}
Run Code Online (Sandbox Code Playgroud)


Jer*_*vel 5

Ellipse定义为sealed:

public sealed class Ellipse : Shape
Run Code Online (Sandbox Code Playgroud)

sealed 手段

应用于类时,sealed修饰符会阻止其他类继承它.