• 实验三 类的继承和多态性


    实验三 类的继承和多态性

    1.(1)编写一个接口ShapePara,要求: 接口中的方法: int getArea():获得图形的面积。int getCircumference():获得图形的周长

    (2)编写一个圆类Circle,要求:圆类Circle实现接口ShapePara。

    该类包含有成员变量:

    radius:public 修饰的double类型radius,表示圆的半径。

    x:private修饰的double型变量x,表示圆心的横坐标。

    y:protected修饰的double型变量y,表示圆心的纵坐标。

    包含的方法有:

    Circle(double radius) 有参构造方法。以形参表中的参数初始化半径,圆心为坐标原点。 double getRadius():获取半径为方法的返回值。void setCenter(double x, double y):利用形参表中的参数设置类Circle的圆心坐标。void setRadius(double radius):利用形参表中的参数设置类Circle的radius域。

    2.定义图形类Shape,该类中有获得面积的方法getArea();定义长方形类Rect,该类是Shape的子类,类中有矩形长和宽的变量double a,double b,设置长和宽的方法setWidth()、setHeight(),使用getArea()求矩形面积;利用getArea方法实现题1中圆面积的求解。

    package zhongqiuzuoye;
    
    public interface ShapePara {
        
        public  double getArea();
        
        public  double getCircumference();
    
    
    }
    package zhongqiuzuoye;
    
    public class Circle implements ShapePara {
        
        public double radius;
        private double x;
        public double getRadius() {
            return radius;
        }
        public void setRadius(double radius) {
            this.radius = radius;
        }
    
        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;
        }
    
        protected double y;
    
        public   Circle(double radius) {
            
        }
    
        void setCenter(double x, double y)
        {
            this.x=x;
            this.y=y;
        }
        
        public double getArea() {
        
            return 3.14*radius*radius;
        }
    
        @Override
        public double getCircumference() {
            // TODO 自动生成的方法存根
            return 0;
        }
    
    }
    package zhongqiuzuoye;
    
    public class Shape {
        
        public void getArea()
        {
            
        }
    }
    package zhongqiuzuoye;
    
    public class Rect extends Shape{
        
        private double width;
        private double 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;
        }
    
        Rect(double width,double height)         //带有两个参数的构造方法,用于将width和height属性初化;
        {
            this.width=width;
            this.height=height;
        }
        
    
        public void getArea()                    //求矩形面积的方法
        {
            System.out.println("矩形的面积为:"+width*height);
        }
    
    }
    package zhongqiuzuoye;
    
    public interface A {
        public static void main(String args[]) {    
            Rect rect=new Rect(12.76, 25.28);                
    
            System.out.println("矩形对象的宽:"+rect.getWidth()+" 高:"+rect.getHeight()+"面积为:");    
            rect.getArea();
    
    
    }
    }

  • 相关阅读:
    Python该怎么学?
    Python招聘需求
    最短路合集
    最小生成树prim算法
    最小生成树kruskal算法
    React-redux原理探索
    Redux原理探索
    头条前端面试题汇总,会持续更新
    阿里前面面试题(最全),持续更新中
    ASP.Net MVC3/4中Model验证错误信息的本地化
  • 原文地址:https://www.cnblogs.com/zs6666/p/5898942.html
Copyright © 2020-2023  润新知