设计一个表示二维平面上的点的类 Point,包含表示坐标位置的 protected 类型的成员变量 x 和 y,以及获取和设置 x 和 y 的值的 public 类型的方法: getx()、gety()、setx()、sety()。Point 类的构造方法要有多种形式。 可以输入Java代码,也可以将代码写在纸上拍照上传。
时间: 2023-03-29 16:02:08 浏览: 297
Point 类的 Java 代码如下:
```
public class Point {
protected int x;
protected int y;
public Point() {
this.x = ;
this.y = ;
}
public Point(int x, int y) {
this.x = x;
this.y = y;
}
public int getx() {
return this.x;
}
public int gety() {
return this.y;
}
public void setx(int x) {
this.x = x;
}
public void sety(int y) {
this.y = y;
}
}
```
以上是关于 Point 类的设计,其中包含了多种构造方法,可以根据需要进行选择。同时,该类还包含了获取和设置 x 和 y 坐标的方法,以及对应的成员变量。
相关问题
用Java,设计一个表示二维平面上点的类Point,具有表示坐标位置的protected类型的成员变量x和y,获取和设置x和y值的public方法
在Java中,我们可以创建一个名为`Point`的类来表示二维平面上的点。这个类将包含两个`protected`类型的成员变量`x`和`y`,分别代表点的横纵坐标。同时,为了方便外部对坐标进行操作,我们将提供`getters`和`setters`方法。以下是类的设计:
```java
public class Point {
// protected类型变量,表示点的坐标
protected double x;
protected double y;
// 构造函数,初始化坐标
public Point(double x, double y) {
this.x = x;
this.y = y;
}
// Getter方法,用于获取x坐标
public double getX() {
return x;
}
// Setter方法,用于设置x坐标
public void setX(double newX) {
this.x = newX;
}
// 获取y坐标的getter方法
public double getY() {
return y;
}
// 设置y坐标的setter方法
public void setY(double newY) {
this.y = newY;
}
}
```
在这个`Point`类中,`getX()`和`getY()`方法用于获取坐标值,而`setX(double newX)`和`setY(double newY)`方法用于设置新的坐标值。由于坐标是保护属性(`protected`),它们可以被该类本身以及其他在同一包下的类访问。
编写一个Java Application程序,该程序有Point类、Circle类、Cylinder类以及测试类。 (1)设计一个表示二维平面上点的类Point,包含有表示坐标位置的protected类型的成员变量x和y,获取和设置x和y值的public方法以
及计算两点距离的方法。
public class Point {
protected double x;
protected double y;
public Point(double x, double y) {
this.x = x;
this.y = y;
}
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
public double distance(Point p) {
return Math.sqrt(Math.pow(x - p.getX(), 2) + Math.pow(y - p.getY(), 2));
}
}
(2)设计一个表示圆的类Circle,包含有一个表示圆心的protected类型的成员变量center和一个表示半径的protected类型的成员变量radius,获取和设置center和radius值的public方法以及计算圆面积的方法。
public class Circle {
protected Point center;
protected double radius;
public Circle(Point center, double radius) {
this.center = center;
this.radius = radius;
}
public Point getCenter() {
return center;
}
public void setCenter(Point center) {
this.center = center;
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public double area() {
return Math.PI * Math.pow(radius, 2);
}
}
(3)设计一个表示圆柱的类Cylinder,继承自Circle类,包含有一个表示高度的protected类型的成员变量height,获取和设置height值的public方法以及计算圆柱体积的方法。
public class Cylinder extends Circle {
protected double height;
public Cylinder(Point center, double radius, double height) {
super(center, radius);
this.height = height;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
public double volume() {
return super.area() * height;
}
}
(4)设计一个测试类Test,创建一个圆柱对象并输出其圆心坐标、半径、高度、面积和体积。
public class Test {
public static void main(String[] args) {
Point center = new Point(0, 0);
double radius = 5;
double height = 10;
Cylinder cylinder = new Cylinder(center, radius, height);
System.out.println("圆心坐标:" + cylinder.getCenter().getX() + "," + cylinder.getCenter().getY());
System.out.println("半径:" + cylinder.getRadius());
System.out.println("高度:" + cylinder.getHeight());
System.out.println("面积:" + cylinder.area());
System.out.println("体积:" + cylinder.volume());
}
}
阅读全文