zoukankan      html  css  js  c++  java
  • 第七周课程总结及实验报告

    实验报告
    学习总结:
    equals方法:
    (1)equals()是Object中的方法,作用在于检测一个对象是否等于另一个对象。
    (2)在Object类中equals()方法是判断两个对象是否有相同的引用 ,即是否是相同的对象。
    (3)String重写equals()方法,String的equals()方法用途比较两个字符对象的字符序列是否相同

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

    2.编程技巧

    (1) 抽象类定义的方法在具体类要实现;

    (2) 使用抽象类的引用变量可引用子类的对象;

    (3) 通过父类引用子类对象,通过该引用访问对象方法时实际用的是子类的方法。可将所有对象存入到父类定义的数组中。

    实验代码

    package Output;
    
      abstract class Shuchu{
          public abstract double area();
      }
    
    package Output;
    import java.util.*;
    
    class triangle extends Shuchu{
             private double a;
             private double b;
             private double c;
             private double p;
             public triangle(double a,double b,double c) {
                 setA(a);
                 setB(b);
                 setC(c);
                 setP((a+b+c)/2);
             }
             public double area() {
                 return Math.sqrt(getP()*(getP()-getA())*(getP()-getB())*(getP()-getC()));
             }
             public double getA() {
                 return a;
             }
             public void setA(double a) {
                 this.a=a;
             }
             public double getB() {
                 return b;
             }
             public void setB(double b) {
                 this.b=b;
             }
             public double getC() {
                 return c;
             }
             public void setC(double c) {
                 this.c = c;
             }     
             public double getP() {
                 return p;
             }
             public void setP(double p) {
                this.p = p;
             }
             public void output1() {
                System.out.println("三角形面积:"+area());
             }
         }
         class rectangle extends Shuchu{
             private double a;
             private double b;
             public double area() {
                 return a*b;
             }
            public rectangle(double a,double b) {
                 setA(a);
                 setB(b);
             }
             public double getA() {
                 return a;
             }
             public void setA(double a) {
                 this.a = a;
             }
             public double getB() {
                return b;
             }
             public void setB(double b) {
                 this.b = b;
             }
    
             public void output2() {
                 System.out.println("矩形面积:"+area());
             }
         }
         class circle extends Shuchu{
             private double radius;
             public double area() {
                 return (Math.PI*Math.pow(radius, 2));
             }
             public double getRadius() {
                return radius;
            }
            public void setRadius(double radius) {
                this.radius = radius;
            }
             public circle(double radius) {
                setRadius(radius);
             }
             public void output3() {
            System.out.println("圆面积:"+area());
             }
         }
    package Output;
    
    public class Test{
        public static void main(String[] args){
                triangle tr=new triangle(2,2,2);
                 rectangle re=new rectangle(1,2);
                 circle cr=new circle(1);
                 tr.output1();
                 re.output2();
                 cr.output3();
                 }
    }
    

    结果图
    (二)使用接口技术

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

    编程技巧
    (1) 接口中定义的方法在实现接口的具体类中要重写实现;

    (2) 利用接口类型的变量可引用实现该接口的类创建的对象。

    实验代码

    package Diqizhou;
    import Diqizhou.Shape;
    
    interface Shape{
         public void size(); 
    }
    class Xingzhuang{
        public static void size(Shape shape) {
            shape.size();
        }
    }
    package Diqizhou;
    import java.util.*;
    
    class Straight implements Shape{
        private double length;
        public Straight(double length) {
           setLength(length);
        }
        public void size() {
            System.out.println("直线长度:"+getLength());
        }
        public double getLength() {
            return length;
        }
        public void setLength(double length) {
           this.length = length;
        }
    }
    class Circle implements Shape{
        private double radius;
        public void size() {
            System.out.println("圆面积:"+Math.PI*Math.pow(radius, 2));
        }
        public Circle(double radius) {
            setRidus(radius);
        }
        public double getRadius() {
           return radius;
        }
        public void setRidus(double radius) {
            this.radius = radius;
        }
        
    }
    package Diqizhou;
    public class Consequence {
        public static void main(String[] args){
            Straight st=new Straight(1);
            Circle cr=new Circle(1);
            st.size();
            cr.size();
            }
        }
    

    结果图

  • 相关阅读:
    python-生成器
    python—迭代器
    python—递归函数
    CentOS关闭防火墙
    OpenHCI
    USB电源管理
    USB相关的网络资料
    USB Packet Types
    USB描述符概述
    Core Java Volume I — 1.2. The Java "White Paper" Buzzwords
  • 原文地址:https://www.cnblogs.com/sqhe2000/p/11663653.html
Copyright © 2011-2022 走看看