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>
"
) ;
}
查看全文
相关阅读:
LiveVideoStack音视频技术大会深圳站,多媒体技术赋能新世界
2019 Gdevops全球敏捷运维峰会-广州站火热来袭
TOP100summit 全球软件案例研究峰会,学习早期实践者的最佳技术成长路径
深度学习DeepLearning核心技术实战培训,全面掌握深度学习核心技能
QCon上海2019来袭,探讨前沿技术落地
python学习--如何实现反向迭代
python学习--生成器Generator
python学习--如何实现可迭代对象(itearable)和迭代器(iterator)
python学习--实现用户的历史记录功能deque
python学习--如何让字典变的有序
原文地址:https://www.cnblogs.com/furenjun/p/318307.html
最新文章
11181
HDU 3336 Count the string (kmp+dp)
codevs 1245 最小的N个和
BZOJ 1040: [ZJOI2008]骑士
1090 3个数和为0
jquery中prop()方法和attr()方法的区别
属性/css~属性.attr()
选择器~子元素筛选
选择器~属性
选择器~可见性筛选
热门文章
选择器~内容筛选
选择器~基本筛选
选择器~层级
数组删除内容
计算字符串字符长度
中国智能产业高峰论坛,推动智能产业规模化发展与智能技术突破
深圳 2019全球大前端技术大会,了解最新技术趋势与最佳实践
2019腾讯WE大会,WE're not alone
2019世界物联网大会,如何打造物联网新经济
2019产品运营大会·广州站火热来袭
Copyright © 2011-2022 走看看