JAVA基础——类的继承、方法重构(计算两点间距离模型)

来源:互联网 发布:淘宝一千零一夜观看 编辑:程序博客网 时间:2024/06/18 04:34
class Point{                                 //超类
int x,y;Point(int x,int y){                      //构造方法this.x=x;this.y=y;}double distance(int x,int y) {           //超类方法int dx=this.x-x;                     //计算平面上两个点的距离              int dy=this.y-y;                                   return Math.sqrt(dx*dx+dy*dy);                     }                                                      double distance(Point p) {               //超类方法重构        return distance(p.x,p.y);            //计算平面上一个点到坐标(x,y)的距离}                                        }                                          class Point3d extends Point{                 //子类————继承超类Pointint z;                                   //增加空间坐标zPoint3d(int x,int y,int z){              //构造方法super(x,y);this.z=z;}double distance(int x,int y,int z) {     //子类方法 int dx=this.x-x;                    //计算空间上一个点到坐标(x,y,z)的距离 int dy=this.y-y; int dz=this.z-z; return Math.sqrt(dx*dx+dy*dy+dz*dz);}double distance(Point3d other) {                   //子类方法重构return distance(other.x,other.y,other.z);      //计算空间上一个点到另一个点的距离}double distance(int x,int y) {           //重构超类的同名方法double dx=this.x-x;                  //计算空间上的点到平面上的点的距离double dy=this.y-y;double dz=this.z;return Math.sqrt(dx*dx+dy*dy+dz*dz);}}public class Tryhand {                             //主函数public static void main(String []args) {Point3d p1=new Point3d(30,40,10);              //实例化Point3d p2=new Point3d(0,0,0);Point p=new Point(0,0);System.out.println("p1="+p1.x+","+p1.y+","+p1.z);            //输出各点数值System.out.println("p2="+p2.x+","+p2.y+","+p2.z);System.out.println("p="+p.x+","+p.y);System.out.println("p1.distance(p2)="+p1.distance(p2));      //通过子类方法重构实现System.out.println("p1.distance(3,4)="+p1.distance(3,4));    //通过子类对超类同名方法重构实现System.out.println("p.distance(3,4)="+p.distance(3,4));      //通过超类方法实现}}

原创粉丝点击