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>
"
) ;
}
查看全文
相关阅读:
vuex 使用
vue之路由嵌套
vue 之路由跳转及传参
vue 的组件通讯
vue 的 axios 安装
vue3.0脚手架 创建项目
淘宝页面初始化的css代码
关闭当前浏览器窗口
BOM
单双引号和转义字符
原文地址:https://www.cnblogs.com/furenjun/p/318307.html
最新文章
python之字符编码(二)
Python之字符编码(一)
iOS开发之组件化架构漫谈
iOS图片加载新框架
微信小程序事件始末及相关资料整理
借大神之洪荒,完自身之梦想
如何快速的开发一个完整的iOS直播app
记一下永远背不下来的单行省略和多行省略代码
React实现块依次从下到上进入的动画
React-使用react-move实现从下到上进入的动画 +使用react-intl实现国际化
热门文章
React-基于react-transition-group 实现从下到上进入的入场动画
Jenkins 自动化部署
Git常用命令整理
react+antd+antd pro+dva ---> table 升降序及筛选的使用(排序+筛选)
react+antd+dva ---> Echarts-for-react 图表的使用(柱状图+多环形图)
react+antd+dva --->TreeSelect 树选择器组件的不联动+多选+初始值渲染
Browserify
ES6 新增的关键字 yield
css3 弹性盒布局的使用-Flex
css3 动画
Copyright © 2011-2022 走看看