面向对象——封装

封装(Encapsulation):是面向对象方法的三大特征之一,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。
任务:判断某个点与圆的关系。
package com_days;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
//“圆”(circle)类,圆心为“点”point类,构造一圆,求圆的周长和面积, 并判断某点与圆的关系。
//Scanner函数调用
Scanner scanner = new Scanner(System.in);
//实例化圆对象
Circle o = new Circle();
System.out.println("请输入半径值r:");
int r =scanner.nextInt();
o.setRadius(r);//半径赋值
System.out.println("请输入圆心x坐标:");
int x =scanner.nextInt();
o.point.setX(x);//圆心x坐标赋值
System.out.println("请输入圆心y坐标:");
int y =scanner.nextInt();
o.point.setY(y);//圆心y坐标赋值
//实例化点坐标
Point p1 = new Point();
System.out.println("请输入p点x坐标:");
int x1 =scanner.nextInt();
p1.setX(x1);//点p1 X坐标赋值
System.out.println("请输入p点y坐标:");
int y1 =scanner.nextInt();
p1.setY(y1);//点p1 Y坐标赋值
//计算周长
int L = (int) (2*Math.PI*o.getRadius());
System.out.println("圆的周长为:"+L+" cm");
//计算面积
int S = (int) (Math.PI*Math.pow(o.getRadius(), 2));
System.out.println("圆的面积为:"+S+" cm^2");
//判断点p1与圆o的关系
if (Math.pow((p1.getX()-o.point.getX()), 2)+Math.pow((p1.getY()-o.point.getY()), 2)
System.out.println("点p1在圆内!");
}else if(Math.pow((p1.getX()-o.point.getX()), 2)+Math.pow((p1.getY()-o.point.getY()),2) >Math.pow(o.getRadius(), 2)) {
System.out.println("点p1在圆外!");
     }else {
                   System.out.println("点p1在圆上!");
}
}
}
// 构建圆类
class Circle{
int radius;//半径
Point point = new Point();//实例化圆心
//空参数构造函数
public Circle() {
super();
}
//使用set、get方法
public int getRadius() {
return radius;
}
public void setRadius(int radius) {
this.radius = radius;
}
public Point getPoint() {
return point;
}
public void setPoint(Point point) {
this.point = point;
}
}
// 构建点类
class Point{
int x;
int y;
//空参数构造函数
public Point() {
super();
}
//使用set、get方法
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;
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值