下载此文档

深入类ch5-2构造函数重载.ppt


文档分类:IT计算机 | 页数:约32页 举报非法文档有奖
1/32
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/32 下载此文档
文档列表 文档介绍
该【深入类ch5-2构造函数重载 】是由【54156456】上传分享,文档一共【32】页,该文档可以免费在线阅读,需要了解更多关于【深入类ch5-2构造函数重载 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。01
Chapter 5
深入类
主要内容
CONTENTS
01
类的多态性
或称为 函数方法(成员)的重载
03
类的继承性
02
构造函数
04
接口
8-1 方法的重载(overload)
8-1-1 重载
所谓的“重载”是指相同的方法名称,若参数个数不同,或参数个数相同、类型不同的话,方法便具有不同的功能。
范例:
01 // app8_1, 圆形类CCircle,加入字符串类型的color成员
02 class CCircle // 定义类CCircle
03 {
04 private String color;
05 private double pi=;
06 private double radius;
07
08 public void setColor(String str){ // 赋值color的方法
09 color=str;
10 }
11 public void setRadius(double r){ // 赋值radius的方法
12 radius=r;
13 }
14 public void setAll(String str, double r){ // 同时赋值
color与radius
15 color=str;
16 radius=r;
17 }
18 public void show(){ // 输出半径、颜色与圆面积
19 ("color="+color+", Radius="+radius);
20 ("area="+pi*radius*radius);
21 }
22 }
23
24 public class app8_1
25 {
26 public static void main(String args[])
27 {
28 CCircle cir1=new CCircle();
29
30 ("Red"); // 赋值cir1的color
31 (); // 赋值cir1的radius
32 ();
33
34 ("Blue",); // 同时赋值cir1的color和radius
35 ();
36 }
37 }
/* app8-1 OUTPUT-------
color=Red, Radius=
area=
color=Blue, Radius=
area=
-----------------------*/
下面的例子把app8_1的setColor()、setRadius()与setAll()三个方法用Java重载的特性,以单一方法 setCircle来取代。
从本例可看出,setColor()、setRadius()与setAll()均是在赋值对象的数据成员,这好比是家中分别买了冷气机、暖气机和除湿机一样,不但占空间,且维护上也不方便。Java的重载功能,恰可补足这方面的缺憾。
01 // app8_2, 函数的重载
02 class CCircle // 定义类CCircle
03 {
04 private String color;
05 private double pi=;
06 private double radius;
07
08 public void setCircle(String str){ // 赋值color成员
09 color=str;
10 }
11 public void setCircle(double r){ // 赋值radius成员
12 radius=r;
13 }
14 public void setCircle(String str, double r){
// 同时赋值color与radius
15 color=str;
16 radius=r;
17 }
18 public void show(){
19 ("color="+color+", Radius="+radius);
20 ("area="+pi*radius*radius);
21 }
22 }
23
24 public class app8_2
25 {
26 public static void main(String args[])
27 {
28 CCircle cir1=new CCircle();
29
30 ("Red"); // 调用第8行的setCircle() 方法
31 (); // 调用第9行的setCircle() 方法
32 ();
33
34 ("Blue",); // 调用第14行的setCircle() 方法
35 ();
36 }
37 }
/* app8-2 OUTPUT-------
color=Red, Radius=
area=
color=Blue, Radius=
area=
-----------------------*/
从上例可看出,通过方法的重载,只需有一个方法名称,却可拥有不同的功用,使用起来相当的方便。

深入类ch5-2构造函数重载 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数32
  • 收藏数0 收藏
  • 顶次数0
  • 上传人54156456
  • 文件大小2.23 MB
  • 时间2025-01-30