zoukankan
html css js c++ java
类的覆盖
using
System;
//
继承关键字
//
virtual : 声明基类的某个成员在派生类中能被覆盖
派生类继承了其基类的成员.如果派生类用同样的签名定义了一个成员,这个派生类成员就会覆盖基类成员.成员的签名包括它的名称,参数列表,参数类型和返回的类型.
如果一个派生类用同样的名称定义了一个成员,但是定义了与基类不同的参数列表,参数类型或返回类型,派生成员将会重载或者遮蔽该基类成员.如果某个基类成员仍然可用,另一个成员将会重载这个成员.如果派生成员代替了基类成员,另一个成员就会遮蔽这个成员.
能被覆盖的成员必须被声明为virtual(1).
namespace
FlashCards
{
/**/
///
<summary>
///
CirCle 的摘要说明。
///
</summary>
public
class
CirCle
{
float
fxCenter,fyCenter,fRadius;
public
CirCle()
{
//
//
TODO: 在此处添加构造函数逻辑
//
fxCenter
=
0
;
fyCenter
=
0
;
fRadius
=
0
;
}
public
float
Top
{
get
{
return
fxCenter
-
fRadius;}
//
fx
set
{fxCenter
=
value
+
fRadius;}
}
public
float
Left
{
get
{
return
fyCenter
-
fRadius;}
//
fy
set
{fyCenter
=
value
+
fRadius;}
}
public
virtual
float
Area()
{
return
(
float
)(System.Math.PI
*
Math.Pow((
double
)fRadius,
2
) );
}
public
float
Perimeter()
//
计算周长
{
return
2
*
fRadius
*
(
float
)System.Math.PI;
}
public
float
Radius
//
半径
{
get
{
return
fRadius;}
set
{fRadius
=
value;}
}
public
virtual
void
Center(
float
x,
float
y)
//
virtual : 声明基类的某个成员在派生类中能被覆盖
{
fxCenter
=
x;
fyCenter
=
y;
}
}
public
class
Sphere:CirCle
//
球体,圆
{
float
fCenter;
public
Sphere()
{
fCenter
=
0
;
}
public
override
float
Area()
{
return
(
float
)(
4
*
Math.PI
*
Math.Pow((
double
)
base
.Radius ,
2
) );
//
圆的面积
}
public
new
void
Center(
float
x,
float
y)
{
this
.Center (x,y,
0
);
}
public
void
Center(
float
x,
float
y,
float
z)
{
base
.Center(x,y) ;
fCenter
=
z;
}
public
float
Volume()
//
体积
{
return
(
float
)((
4
/
3
)
*
System.Math.PI
*
Math.Pow((
double
)
base
.Radius,
3
));
}
public
float
Front
{
get
{
return
fCenter
-
base
.Radius ;}
set
{fCenter
=
value
+
base
.Radius ;}
}
}
}
private
void
Button3_Click(
object
sender, System.EventArgs e)
{
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>
"
) ;
}
查看全文
相关阅读:
tomcat shutdown后,进程还存在linux系统中的解决办法
nginx反向代理tcp协议的80端口
redis集群搭建中遇到的一些问题
《将博客搬至CSDN》
最短路路径(1.1版待更新)
线段树
SDUT 3341 数据结构实验之二叉树二:遍历二叉树
二叉树的遍历
爆头题HDU
图的入度和出度以及图的新的存储形式
原文地址:https://www.cnblogs.com/furenjun/p/318307.html
最新文章
Wash Gym
Hotel POJ
Tunnel Warfare HDU
Can you answer these queries? HDU
Balanced Lineup POJ
codeforces 758C
codeforces 954C
codeforces 850 A
codeforces 257 C
codeforces 1087 C
热门文章
C++成员函数调用
codeforces 618 C. Constellation
Ubuntu 16.04 安装hplip和hplip-plugin
codeforces 1028C
inux下查看最消耗CPU、内存的进程
调整/home和/root空间容量
haproxy开启日志功能
vsftp安装错误总结
gitolite安装及配置
phpRedisAdmin安装
Copyright © 2011-2022 走看看