using System;
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
// 继承关键字
![](/Images/OutliningIndicators/None.gif)
//virtual : 声明基类的某个成员在派生类中能被覆盖 派生类继承了其基类的成员.如果派生类用同样的签名定义了一个成员,这个派生类成员就会覆盖基类成员.成员的签名包括它的名称,参数列表,参数类型和返回的类型. 如果一个派生类用同样的名称定义了一个成员,但是定义了与基类不同的参数列表,参数类型或返回类型,派生成员将会重载或者遮蔽该基类成员.如果某个基类成员仍然可用,另一个成员将会重载这个成员.如果派生成员代替了基类成员,另一个成员就会遮蔽这个成员. 能被覆盖的成员必须被声明为virtual(1).
![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
namespace FlashCards
![](/Images/OutliningIndicators/ExpandedBlockStart.gif) ![](/Images/OutliningIndicators/ContractedBlock.gif) {
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) /**//// <summary>
/// CirCle 的摘要说明。
/// </summary>
public class CirCle
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
float fxCenter,fyCenter,fRadius;
![](/Images/OutliningIndicators/InBlock.gif)
public CirCle()
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
//
// TODO: 在此处添加构造函数逻辑
//
fxCenter=0;
fyCenter=0;
fRadius=0;
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
}
public float Top
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) get {return fxCenter-fRadius;}//fx
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) set {fxCenter=value+fRadius;}
}
public float Left
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) get {return fyCenter-fRadius;} //fy
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) set {fyCenter=value+fRadius;}
}
public virtual float Area()
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
return (float)(System.Math.PI *Math.Pow((double)fRadius,2) );
![](/Images/OutliningIndicators/InBlock.gif)
}
public float Perimeter()//计算周长
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
return 2*fRadius*(float)System.Math.PI;
}
public float Radius //半径
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) get {return fRadius;}
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) set {fRadius=value;}
}
![](/Images/OutliningIndicators/InBlock.gif)
public virtual void Center(float x,float y) //virtual : 声明基类的某个成员在派生类中能被覆盖
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
fxCenter=x;
fyCenter=y;
![](/Images/OutliningIndicators/InBlock.gif)
}
![](/Images/OutliningIndicators/InBlock.gif)
}
public class Sphere:CirCle //球体,圆
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
float fCenter;
public Sphere()
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
fCenter=0;
}
public override float Area()
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
return (float)(4*Math.PI *Math.Pow((double)base.Radius ,2) ); //圆的面积
![](/Images/OutliningIndicators/InBlock.gif)
}
public new void Center(float x,float y)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
this.Center (x,y,0);
}
public void Center(float x,float y,float z)
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
base.Center(x,y) ;
fCenter=z;
}
public float Volume() //体积
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
return (float)((4/3)*System.Math.PI*Math.Pow((double)base.Radius,3));
}
public float Front
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) {
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) get {return fCenter-base.Radius ;}
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif) set {fCenter=value+base.Radius ;}
![](/Images/OutliningIndicators/InBlock.gif)
}
}
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
}
private void Button3_Click(object sender, System.EventArgs e)
![](/Images/OutliningIndicators/ExpandedBlockStart.gif) {
CirCle myCircle=new CirCle();
myCircle.Radius =2;
myCircle.Center(10,2);
Response.Write("圆的面积: " +myCircle.Radius.ToString() +"<br>");
Response.Write("圆的面积: " +myCircle.Area()+"<br>");
Response.Write("圆的周长: "+myCircle.Perimeter()+"<br>" ) ;
Sphere mySphere=new Sphere();
mySphere.Radius =10;
mySphere.Center(10,20,25) ;
Response.Write("mySphere Top :"+mySphere.Top +"<br>" ) ;
Response.Write(" Left :"+mySphere.Left +"<br>" ) ;
Response.Write(" Front :"+mySphere.Front +"<br>" ) ;
Response.Write(" volume:"+mySphere.Volume() +"<br>" ) ;
Response.Write(" surface area : "+mySphere.Area()+ "<br>" ) ;
Response.Write(" circumference : "+mySphere.Perimeter() +"<br>" ) ;
![](/Images/OutliningIndicators/InBlock.gif)
![](/Images/OutliningIndicators/InBlock.gif)
}
|