• java新手笔记16 面积


    1.图形类

    package com.yfs.javase;
    
    public class Shape {
    	//计算面积方法
    	public double getArea() {
    		System.out.println("计算面积");
    		return 0;
    	}
    
    }
    

     2.圆

    package com.yfs.javase;
    
    public class Circle extends Shape {
    	
    	private double r;
    	
    	public Circle(double r) {
    		this.r = r;
    		System.out.println("创建圆形面积");
    	}
    	
    	public double getArea() {//覆盖父类的方法
    		System.out.println("计算圆形面积...");
    		return 3.14 * r * r;
    	}
    
    }
    

     3.矩形

    package com.yfs.javase;
    
    public class Rangton  extends Shape {
    	
    	private double width;
    	private double length;
    	
    	public Rangton(double width, double length) {
    		this.width = width;
    		this.length = length;
    		System.out.println("创建矩形面积");
    	}
    	
    	public double getArea() {
    		System.out.println("计算矩形面积...");
    		return width * length;
    	}
    
    }
    

     4.三角形

    package com.yfs.javase;
    
    public class Trantangle  extends Shape {
    	
    	private double height;
    	private double width;
    	
    	public Trantangle(double height, double width) {
    		this.height = height;
    		this.width = width;
    		System.out.println("创建三角形面积");
    	}
    	
    	public double getArea() {
    		System.out.println("计算三角形面积...");
    		return 1.0 / 2 * width * height;
    	}
    
    
    }
    

     5.测试

    package com.yfs.javase;
    
    import java.util.Random;
    
    public class Test1 {
    
    	/**
    	 * 编写一个图形类,提供计算面积的方法。
    	 * 通过继承图形类,封装三角形,圆形,正方形类,
    	 * 覆盖父类的方法。在测试类里随机产生10个图形,
    	 * 面积求和。
    	 */
    	public static void main(String[] args) {
    		Shape[]  shapes = new Shape[10];//存放子类对象
    		Random ran = new Random();
    		double sum = 0;
    		//创建随即图形
    		for (int i = 0; i < shapes.length; i++) {
    			int r = ran.nextInt(101);
    			if(r > 65) {
    				shapes[i] = new Circle(ran.nextInt(10));
    			} else if( r > 35 ){
    				shapes[i] = new Rangton(ran.nextInt(10),ran.nextInt(10));
    				//shapes[i].setWidth();
    			} else {
    				shapes[i] = new Trantangle(ran.nextInt(10), ran.nextInt(10));
    			}
    		}
    		System.out.println("================");
    		//计算随机图形面积
    		for (int i = 0; i < shapes.length; i++) {
    //			Circle c = (Circle)shapes[i];
    //			sum += c.getArea();
    			sum += shapes[i].getArea();//子类对象计算面积
    		}
    		System.out.println("sum = " + sum);
    
    	}
    
    }
    
  • 相关阅读:
    [Clr via C#读书笔记]Cp4类型基础
    [Clr via C#读书笔记]Cp3共享程序集和强命名程
    [Clr via C#读书笔记]Cp2生成打包部署和管理应用程序和类型
    [Clr via C#读书笔记]Cp1CLR执行模型
    试用Markdown来写东西
    字符编码的总结
    常去的网站
    Click Once使用总结
    【LevelDB源码阅读】Slice
    【程序员面试金典】面试题 01.05. 一次编辑
  • 原文地址:https://www.cnblogs.com/feilongblog/p/4675533.html
Copyright © 2020-2023  润新知