JAVA面向对象,继承、封装、多态
用JAVA语言实现如下案例: 设计图形(Shape)类及其子类(Circle、Rectangle) (Shape有属性:Point(x,y...
用JAVA语言实现如下案例: 设计图形(Shape)类及其子类(Circle、Rectangle) (Shape 有属性: Point(x,y) 是图形位置, 1)Shape提供计算面积方法area,子类覆盖 2) Shape提供检查是否包含指定坐标的方法,子类覆盖
展开
2个回答
展开全部
package com.action;
public abstract class Sharpe {
//坐标 要看你 是什么地方的了是左上角还是中心?
//这儿按照习惯是坐上角
private Point location;
public Point getLocation() {
return location;
}
public void setLocation(Point location) {
this.location = location;
}
//图形未确定使用高中数学还无法解决。。微积分不知道有没有可以求出任意图形面积的方法
//所以是抽象的
public abstract Double SumArea();
}
--------------------------------------------------------------------------------------------
package com.action;
public class Point {
int x = 0;
int y = 0;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}
-------------------------------------------------------------------------------
package com.action;
public class Circle extends Sharpe {
public static Double pai=3.1415;
private Double ra;
@Override
public Double SumArea() {
return pai*ra*ra;
}
}
----------------------------------------------------------------------------------------------
package com.action;
public class Rectangle extends Sharpe {
private Double length;
private Double width;
@Override
public Double SumArea() {
// TODO Auto-generated method stub
return length * width;
}
public Double getLength() {
return length;
}
public void setLength(Double length) {
this.length = length;
}
public Double getWidth() {
return width;
}
public void setWidth(Double width) {
this.width = width;
}
}
以上是使用面向对象的思想完成了你所说程序 (2) Shape提供检查是否包含指定坐标的方法不明白你的意思)
以上抽象类也可以使用接口来做
public abstract class Sharpe {
//坐标 要看你 是什么地方的了是左上角还是中心?
//这儿按照习惯是坐上角
private Point location;
public Point getLocation() {
return location;
}
public void setLocation(Point location) {
this.location = location;
}
//图形未确定使用高中数学还无法解决。。微积分不知道有没有可以求出任意图形面积的方法
//所以是抽象的
public abstract Double SumArea();
}
--------------------------------------------------------------------------------------------
package com.action;
public class Point {
int x = 0;
int y = 0;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}
-------------------------------------------------------------------------------
package com.action;
public class Circle extends Sharpe {
public static Double pai=3.1415;
private Double ra;
@Override
public Double SumArea() {
return pai*ra*ra;
}
}
----------------------------------------------------------------------------------------------
package com.action;
public class Rectangle extends Sharpe {
private Double length;
private Double width;
@Override
public Double SumArea() {
// TODO Auto-generated method stub
return length * width;
}
public Double getLength() {
return length;
}
public void setLength(Double length) {
this.length = length;
}
public Double getWidth() {
return width;
}
public void setWidth(Double width) {
this.width = width;
}
}
以上是使用面向对象的思想完成了你所说程序 (2) Shape提供检查是否包含指定坐标的方法不明白你的意思)
以上抽象类也可以使用接口来做
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询