• 第五次实验报告&学习总结


    一、实验目的

      (1) 理解抽象类与接口的使用;
    
      (2)了 解包的作用,掌握包的设计方法。
    
      二、实验要求
    
      (1)掌 握使用抽象类的方法。
    
      (2)掌 握使用系统接口的技术和创建自定义接口的方法。
    
      (3) 了解Java 系统包的结构。
    
      (4)掌握创建自定 义包的方法。
    
      三、实验内容
    
      ( )抽象类的使用
    
      1. 设计一个类层次,定义一个抽象类--形状,中包括有求形状的面积的抽象方法。继承该抽象类定义三角型、矩形、圆。分别创建 一个三角形、矩形、圆存对象,将各类图形的面积输出。
       2.编程技巧
      (1)抽象类定 义的方法在具体类要实现;
      (2)使用抽 象类的引用变量可引用子类的对象;
     (3) 通过父类引用子类对象,通过该引用访问对象方法时实际用的是子类的方法。可将所有对象存入到父类定义的数组中
    

    实验代码:

    package shiyan5;
    import java.util.Scanner;
    
    abstract class Shape
    {
      public abstract void area();
      }
    class Triangle extends Shape{
                 private double a,b,c;
                 private double p;
                 private double area1=0;
         
          Triangle(double a, double b, double c, double p){
        	  this.a = a;
              this.b = b;
              this.c = c;
              this.p = (a+b+c)/2;
              area1=Math.sqrt(p*(p-a)*(p-b)*(p-c));
          }
          public void area(){
        	  System.out.println("三角形面积="+area1);	
        	  
          }
    }
    class Rectangle extends Shape{
    	private double h,w;
        private double area2=0;
        		
        Rectangle(double h,double w){
        	this.h=h;
        	this.w=w;
        	area2=h*w;
        }
        public void area(){
        	System.out.println("矩形面积="+area2);
        }
          }
    class Circle extends Shape{
    	private double r;
    	private double area3;
    	Circle(double r){
    		this.r=r;
    		area3=Math.pow(r,2)*Math.PI;
    	}
    		public void area(){
    			System.out.print("圆面积="+area3);
    		}
    }
    public class A{
    	public void main(String[] args){
    		Scanner d=new Scanner(System.in);
            System.out.print("a:" );
            double a=d.nextDouble();
            System.out.print("b:" );
            double b=d.nextDouble();
            System.out.print("c:" );
            double c=d.nextDouble();
            Triangle triangle=new Triangle(a,b,c,(a+b+c)/2);
            System.out.println("三角形面积=");
            triangle.area();
            
            System.out.print("h:" );
            double h=d.nextDouble();
            System.out.print("w:" );
            double w=d.nextDouble();
            Rectangle rectangle=new Rectangle(h,w);
            System.out.print("矩形面积=");
            rectangle.area();
            
            System.out.print("r:" );
            double r=d.nextDouble();
            Circle circle=new Circle(r);
            System.out.print("圆面积=");
            circle.area();
    	}
    }
    

    运行截图:

    (二)使用接口技术
    1定义接口Shape, 其中包括一个方法size () ,设计“直线”、“圆”、类实现Shape接口。分别创建一个“直线”、“圆”对象,将各类图形的大小输出。
    2.编程技巧
    (1) 接口中定义的方法在实现接口的具体类中要重写实现;
    (2)利用接口类型的变量可引用实现该接口的类创建的对象

    实验代码:

  • 相关阅读:
    HDU 多校对抗赛第二场 1010 Swaps and Inversions
    Android Tab -- 使用ViewPager、PagerTitleStrip/PagerTabStrip来实现
    Android Tab -- 使用ViewPager、Fragment、FragmentPagerAdapter来实现
    Android Tab -- 使用Fragment、FragmentManager来实现
    Android Tab -- 使用ViewPager、PagerAdapter来实现
    Android Tab -- 使用TabWidget、TabHost、TabActivity来实现
    Android Programming: Pushing the Limits -- Chapter 6: Services and Background Tasks
    Android Programming: Pushing the Limits -- Chapter 5: Android User Interface Operations
    Android Programming: Pushing the Limits -- Chapter 4: Android User Experience and Interface Design
    Android Programming: Pushing the Limits -- Chapter 3: Components, Manifests, and Resources
  • 原文地址:https://www.cnblogs.com/jzq93/p/11663505.html
Copyright © 2020-2023  润新知