深入类c费h5-2构造函数重载.pptVIP

  • 5
  • 0
  • 约8.54千字
  • 约 32页
  • 2018-12-25 发布于福建
  • 举报
深入类c费h5-2构造函数重载

主要内容 类的多态性 或称为 函数方法(成员)的重载 构造函数 类的继承性 接口 多态使程序简洁,为程序员带来很大便利。在面向对象编程中,当程序要实现多个相近的功能时,就给相应的方法起一个共同的名字,用不同的参数代表不同的功能。这样,在使用方法时不论传递什么参数,只要能被程序识别就可以得到确定的结果。 类的多态性体现在方法的重载(overload)上,包括成员方法和构造方法的重载。 * * Chapter 5 深入类 8-1 方法的重载(overload) 8-1-1 重载 所谓的“重载”是指相同的方法名称,若参数个数不同,或参数个数相同、类型不同的话,方法便具有不同的功能。 范例: 01 // app8_1, 圆形类CCircle,加入字符串类型的color成员 02 class CCircle // 定义类CCircle 03 { 04 private String color; 05 private double pi=3.14; 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 System.out.println(color=+color+, Radius=+radius); 20 System.out.println(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 cir1.setColor(Red); // 赋值cir1的color 31 cir1.setRadius(2.0); // 赋值cir1的radius 32 cir1.show(); 33 34 cir1.setAll(Blue,4.0); // 同时赋值cir1的color和radius 35 cir1.show(); 36 } 37 } /* app8-1 OUTPUT------- color=Red, Radius=2.0 area=12.56 color=Blue, Radius=4.0 area=50.24 ------------------------*/ 下面的例子把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=3.14; 06 private double radius; 07 08 public void set

文档评论(0)

1亿VIP精品文档

相关文档