zoukankan      html  css  js  c++  java
  • 第七周学习总结暨第五周实验报告

    (一)设计一个类层次,定义一个抽象类--形状,其中包括有求形状的面积的抽象方法。 继承该抽象类定义三角型、矩形、圆。 分别创建一个三角形、矩形、圆存对象,将各类图形的面积输出。
    注:三角形面积s=sqrt(p(p-a)(p-b)*(p-c)) 其中,a,b,c为三条边,p=(a+b+c)/2
    一:实验代码

    package demo;
    
    public abstract class shape {
       abstract public double Area();
    }
    class Triangle extends shape{
    
    	private double a,b,c;
    	public Triangle(double a,double b,double c) {
    		this.a=a;this.b=b;this.c=c;
    	}
    	public double Area() {
    		double p=(a+b+c)/2;
    		return Math.sqrt(p*(p-a)*(p-b)*(p-c));
    	}
    }
    class Rectangle extends shape{
         private double width,height;
         public Rectangle(double height,double width) {
        	 this.height=height;
        	 this.width=width;
         }
    	
    	public double Area() {
    		
    		return width*height;
    	}
    	
    }
    
    class Circle extends shape{
    	private double r;
    	public Circle(double r) {
    		this.r=r;
    	}
    	public double Area(){
    		return 3.14*r*r;
    	}
    }
    

    二:运行截图


    (二)定义接口Shape,其中包括一个方法size(),设计“直线”、“圆”、类实现Shape接口。分别创建一个“直线”、“圆”对象,将各类图形的大小输出。
    一:实验代码

    package demo;
    
    
    public interface shape {
       double size();
    }
    class Line implements shape{
      private double x1,x2,y1,y2;
      
       public Line(double x1,double x2,double y1,double y2) {
    	   this.x1=x1;this.x2=x2;
    	   this.y1=y1;this.y2=y2;
       }
    	
    
    
    	public double size() {
    		
    		return Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
    	}
    	
    }
    class Circle implements shape{
        private double radius;
        
    	public Circle(double r) {
    		this.radius=r;
    	}
       
    
    	public double size() {
    		
    		return 3.14*radius*radius;
    	}
    	
    }
    

    二:运行截图

    本周学习总结

    (1)对于接口与抽象方法实际运用有了了解(抽象类作为模板,接口作为标准),我对这两种方法利用这两个题目有了深刻的了解,就是对某一类的共性定义在接口或抽象类中且共同使用此属性。
    (2)学习了新的关键词(object且为最大的父类)的了解
    (3)对抽象类与接口的使用方法与步骤在大脑中有了模式。


    感觉刻意的要求自己还是有收获的。

  • 相关阅读:
    asp.net mvc简单分页实例
    aspnetpager使用介绍
    sql server 横向转丛向及FOR XML PATH使用
    js apply使用
    js call使用
    C# JavaScriptSerializer 序列化集合
    【BZOJ4103】[Thu Summer Camp 2015]异或运算 可持久化Trie树
    【BZOJ4177】Mike的农场 最小割
    【BZOJ4205】卡牌配对 最大流
    【BZOJ4358】permu kd-tree
  • 原文地址:https://www.cnblogs.com/chenxinxin/p/11649507.html
Copyright © 2011-2022 走看看