java 语言程序设计 第十三章 13.5
来源:互联网 发布:udp端口号可用范围 编辑:程序博客网 时间:2024/05/20 02:55
程序小白,希望和大家多交流,共同学习
(只是将13.1的内容加以修改,具体的就是 implements Comparable;
然后我又在Rectangle类中重写了toString()方法,下面还给了一个关于Rectangle类的测试类。)
public abstract class CompareGeometricObject implements Comparable<CompareGeometricObject>{ private String color; private boolean filled; private java.util.Date dateCreated; protected CompareGeometricObject() { dateCreated = new java.util.Date(); } protected CompareGeometricObject(String color, boolean filled) { this.color = color; this.filled = filled; dateCreated = new java.util.Date(); } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public boolean isFilled() { return filled; } public void setFilled(boolean filled) { this.filled = filled; } public java.util.Date getDateCreated() { return dateCreated; } @Override public String toString() { return "Created on " + dateCreated + "\nColor : " + color + "\n and Filled : " + filled; } @Override public int compareTo(CompareGeometricObject o) { if (getArea() < o.getArea()) { return -1; } else if (getArea() > o.getArea()) { return 1; } else return 0; } public static CompareGeometricObject max(CompareGeometricObject o1, CompareGeometricObject o2) { if (o1.compareTo(o2) > 0) { return o1; } else return o2; } public abstract double getArea(); public abstract double getPerimeter();}
public class CompareMyRectangle extends CompareGeometricObject{ private double width; private double height; public CompareMyRectangle() { } public CompareMyRectangle(double width, double height) { this(width, height, "white", false); } public CompareMyRectangle(double width, double height, String color, boolean filled) { super(color, filled); this.width = width; this.height = height; } public double getWidth() { return width; } public void setWidth(double width) { this.width = width; } public double getHeight() { return height; } public void setHeight(double height) { this.height = height; } @Override public double getArea() { return width * height; } @Override public double getPerimeter() { return 2 * (width + height); } @Override public String toString() { return super.toString() + "\nMy Rectangle Width : " + getWidth() + " Height : " + getHeight(); }}
import java.util.Scanner;public class TestCompareRectangle{ public static void main(String [] args) { Scanner input = new Scanner(System.in); System.out.print("Create the first Rectangle (enter width, height): "); double firstWidth = input.nextDouble(); double firstHeight = input.nextDouble(); System.out.print("Crate the second Rectangle (enter width, height): "); double secondWidth = input.nextDouble(); double secondHeight = input.nextDouble(); CompareMyRectangle rectangle1 = new CompareMyRectangle(firstWidth, firstHeight); CompareMyRectangle rectangle2 = new CompareMyRectangle(secondWidth, secondHeight); System.out.println(CompareGeometricObject.max(rectangle1, rectangle2).toString()); // 可以看出此处的 max 返回的是 CompareMyRectangle 的一个实例 }}
阅读全文
0 0
- java 语言程序设计 第十三章 13.5
- java语言程序设计 第十三章 (13.6、13.7)
- java语言程序设计 第十三章 (13.17、13.18)
- java语言程序设计基础篇第十三章编程练习题
- java语言程序设计 第十三章 抽象类与接口 (13.1)
- java语言程序设计 第十三章 (13.9、13.10、13.11、13.12)
- java语言程序设计 第十三章 (13.13、13.14、13.15、13.16)
- java语言程序设计 第十三章 抽象类与接口 (13.2、13.3、13.4)
- java语言程序设计 第十一章 11.3
- Java语言程序设计 第13章
- Java语言程序设计
- Java语言程序设计
- 学习笔记:第12章 Java语言程序设计
- 《java语言程序设计》第二章学习总结
- 《java语言程序设计》第三章学习总结
- 《java语言程序设计》第四章学习总结
- 《java语言程序设计》第五章学习总结
- 《java语言程序设计》第六章学习总结
- android精选源码,erp交互效果摩天轮高仿斗鱼直播View炫酷进度条源码
- sharding-jdbc
- ServletResponse接口中的sendRedirect()方法和forward()方法的区别
- 5.7
- linux 升级curl
- java 语言程序设计 第十三章 13.5
- 刷LeetCode(10)——Regular Expression Matching
- 推荐每个程序员都看的技术演讲
- 趣图:印度大学生的编程水平如何
- 1682亿背后丨一分钟看懂天猫双11
- Magento获取商品图片(getImage)的方法
- Python的变量以及Python的除法
- Qt modbus_client(TCP、信号、槽、字符编码)
- 二叉树