zoukankan      html  css  js  c++  java
  • 面向对象案例

    1.求矩形、正方形和圆形的面积与周长

    package randi;
    
    import static java.lang.Math.PI;
    
    public class ShapeDemo {
    
        public static void main(String[] args) {
    
            Shape[] shas = new Shape[] { new Circle(10), new Rect(5, 6), new Squr(10) };
            Shape sha = new Shape();
    
            for (int i = 0; i < shas.length; i++) {
                sha.print(shas[i]);
            }
    
    //        Circle s1 = new Circle(10);
    //        Rect s2 = new Rect(5, 6);
    //        Squr s3 = new Squr(10);
    //
    //        sha.print(s1);
    //        sha.print(s2);
    //        sha.print(s3);
        }
    
    }
    
    class Shape {
    
        public void print(Shape sha) {
            System.out.println(sha.getName() + "面积: " + sha.getArea());
            System.out.println(sha.getName() + "周长: " + sha.getGirth());
            System.out.println("---------------");
        }
    
        public double getArea() {
            return -1;
        }
    
        public double getGirth() {
            return -1;
        }
    
        public String getName() {
            return null;
        }
    }
    
    class Circle extends Shape {
        private double radius;
    
        public Circle() {}
    
        public Circle(double radius) {
            this.radius = radius;
    
        }
    
        public double getArea() {
            return PI * radius * radius;
        }
    
        public double getGirth() {
            return PI * radius * 2;
        }
    
        public String getName() {
            return "Cir";
        }
    
    }
    
    class Rect extends Shape {
        private double length;
        private double width;
    
        public Rect() {}
    
        public Rect(double length, double width) {
            this.length = length;
            this.width = width;
    
        }
    
        public double getArea() {
            return width * length;
        }
    
        public double getGirth() {
            return (width + length) * 2;
        }
    
        public String getName() {
            return "Rect";
        }
    
    }
    
    class Squr extends Rect {
    
        public Squr() {}
    
        public Squr(double length) {
            super(length, length);
    
        }
    
        public String getName() {
            return "Squr";
        }
    
    }


  • 相关阅读:

    模块
    序列化模块
    time模块、os模块、sys模块
    re模块、collections模块、random模块
    正则表达式
    递归函数和二分查找
    匿名函数
    推推导式和内置函数
    Java引用类型与值类型——Java面向对象基础(7)
  • 原文地址:https://www.cnblogs.com/raising/p/12825837.html
Copyright © 2011-2022 走看看