zoukankan      html  css  js  c++  java
  • 第五周课程总结&实验报告(四)

    第五周课程总结

    本周主要学习了

    1.抽象类

    抽象类的定义格式
    abstract class抽象类名称{
    	属性;
    	访问权限返回值类型方法名称(参数){ //普通方法
    		[return返回值];
    }
    	访问权限abstract返回值类型方法名称(参数); //抽象方法
    	//在抽象方法中是没有方法体的
    }
    

    2.对象的多态性

    • 向上转型(子类 → 父类)
    • 向下转型(父类 → 子类)
      向下转型前一定要先向上转型,并用instanceof关键字进行安全验证

    3.接口

    interface 接口名{
    	全局变量;
    	抽象方法;
    }
    

    抽象类与接口的关系

    4.三角形的面积计算用海伦公式

    上周问题:animal中调用dog和cat的方法需要用instanceof关键字进行判断是否转型

    实验四 类的继承

    一.实验目的

    (1)掌握类的继承

    (2)变量的继承和覆盖,方法的继承,重载和覆盖的实现;

    二.实验的内容

    (1)根据下面的要求实现圆类Circle。

    1.圆类Circle的成员变量:radius表示圆的半径。

    2.圆类Circle的方法成员:

           Circle():构造方法,将半径置0
    
           Circle(double r):构造方法,创建Circle对象时将半径初始化为r
    
           double getRadius():获得圆的半径值
    
           double getPerimeter():获得圆的周长
    
           void disp():将圆的半径和圆的周长,圆的面积输出到屏幕
    

    实验源码:

    package homework;
    
    public class Circle {
    
    	private double radius;
    	Circle() {   //构造方法,将半径置0
    		radius = 0;
    	}
    	
    	Circle(double r) {  //构造方法,创建Circle对象时将半径初始化为r
    		radius = r;
    	}
    	
    	double getRadius() {  //获得圆的半径值
    		return radius;
    	}
    	
    	double getPerimeter() {  //获得圆的周长
    		 return 2*(double)Math.PI*getRadius();
    	}
    	
    	double getArea() {  //获得圆的面积
    		return Math.PI*Math.pow(radius, 2);
    	}
    	
    	public static void main(String[] args) {  //将圆的半径和圆的周长,圆的面积输出到屏幕
    		Circle c = new Circle(2);
    		
    		System.out.println("Perimeter:"+c.getPerimeter());
    		System.out.println("Radius:"+c.getRadius());
    		System.out.println("Area:"+c.getArea());
    	}
    }
    

    实验中遇到的问题:无,按照老师上课讲的办法一遍过

    实验结果:

    (2)继承第一题中的圆Circle类,派生圆柱体类Cylinder。要求如下:

    1.圆柱体类Cylinder的成员变量:height表示圆柱体的高。

    2.圆柱体类Cylinder的成员方法:

            Cylinder(double r,double h)构造方法,创建Cylinder对象时将圆半径初始化为r,圆柱体高初始化为h。
    
            double getHeight():获得圆柱体的高
    
            double getVol():获得圆柱体的体积
    
            void dispVol():将圆柱体的体积输出到屏幕
    

    (3)按照第二题的Cylinder类,接上键盘的输入值作为圆的半径和圆柱体的高,计算圆柱体的体积

    实验源码:

    package homework;
    
    public class Cylinder extends Circle {
    	
    	private double height;
    	private double radius;
    	 Cylinder(double r,double h){
    		 this.radius = r;
             this.height = h;
    	 }
    	 
    	 double getHeight() {
    		 return this.height;
    	 }
    	 
    	 double getVol() {
    		 return Math.PI*Math.pow(radius, 2)*height;
    	 }
    	public static void main(String[] args) {
    		Cylinder s = new Cylinder(3, 6);
    		System.out.println("Height:"+s.getHeight());
    		System.out.println("Vol:"+s.getVol());
    	}
    
    }
    

    实验中遇到的问题:无

    实验结果:

    三、 总结

    在写题时,发现了 double getHeight() 前可以加public 也可以不加,Math.PI*Math.pow(radius, 2) 也可以直接用 **super.getArea() **代替。

    对于知识的应用还不是很熟练,可以自己再找点题目来练习。

  • 相关阅读:
    asp.net 2.0-实现数据访问(1)
    跨平台跨服务器跨网站SSO(单点登录)方案的DEMO
    (翻译)Windows Communication Foundation (Workshop)-Part 2:在WCF中操作会话
    ipc的remoting
    忙活了半年的书已经交稿,年后就要出版
    一个ASP.NET2.0的小项目-BLOG
    (论坛答疑点滴)上传控件怎么修改样式?怎么设置readonly?
    【LoveCherry】上海.NET招聘!!!!!!!!!!!!!!!!!!!!!!!!!
    【翻译】Scott Mitchell的ASP.NET2.0数据指南中文版索引
    Scott Mitchell 的ASP.NET 2.0数据教程之二十四:: 分页和排序报表数据
  • 原文地址:https://www.cnblogs.com/LILI6/p/11628184.html
Copyright © 2011-2022 走看看