第六周&java实验报告四
发布时间:2020-12-15 07:27:49 所属栏目:Java 来源:网络整理
导读:实验报告: 一.实验目的 (1)掌握类的继承 (2)变量的继承和覆盖,方法的继承,重载和覆盖的实现; 二.实验的内容 (1)根据下面的要求实现圆类Circle。 1.圆类Circle的成员变量:radius表示圆的半径。2.圆类Circle的方法成员: Circle():构造方法,将半径
实验报告: 一.实验目的(1)掌握类的继承(2)变量的继承和覆盖,方法的继承,重载和覆盖的实现;二.实验的内容(1)根据下面的要求实现圆类Circle。1.圆类Circle的成员变量:radius表示圆的半径。 2.圆类Circle的方法成员: Circle():构造方法,将半径置0 Circle(double r):构造方法,创建Circle对象时将半径初始化为r double getRadius():获得圆的半径值 double getPerimeter():获得圆的周长 void disp():将圆的半径和圆的周长,圆的面积输出到屏幕 实验代码:package 第六周; public class Circle // 圆类Circle的方法成员 { private double radius; public Circle() // 构造方法,半径置零 { radius = 0; } public Circle(double r) // 构造方法,创建Circle对象时将半径初始化为r { radius = r; } public double getRadius() // 获得圆半径 { return radius; } public double getPerimeter() //获得圆周长 { return 2 * Math.PI * radius; } public void disp() { System.out.println("半径: "+getRadius()); System.out.println("周长: "+getPerimeter()); System.out.println("面积: "+Math.pow(radius,2)*3.14); } } package 第六周; public class Text { public static void main(String[] args) { Circle c = new Circle(5); c.disp(); } } 实验截图:错误截图: 分析:Java在使用pow函数是也要有相关声明; 改正:将计算面积的简洁代表公式pow(radius,2)*3.14更改为Math.pow(radius,2)*3.14;注意该声明首字母为大写。 正确截图: (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 第六周; public class Cylinder extends Circle // 继承第一题中的圆Circle类 { private double hight; // height表示圆柱体的高 public Cylinder() { } public Cylinder(double r,double h) // 创建Cylinder对象时将圆半径初始化为r,圆柱体高初始化为h { hight = h; radius = r; } public double getHeight() // 获得圆柱体的高 { return hight; } public double getVol() // 获得圆柱体的体积 { return Math.pow(radius,2) * 3.14 * hight; } public void dispVol() // 将圆柱体的体积输出到屏幕 { System.out.println("例:圆的半径为 5 ;高为 6 nnn"); System.out.println("圆柱体的体积: " + getVol()); } } package 第六周; public class Text { public static void main(String[] args) { Cylinder cy = new Cylinder(5,6); cy.dispVol(); /* Circle c = new Circle(5); c.disp(); */ } } 实验截图:错误截图: 分析:提示关键变量不可视。 更正:更据提示修改该变量的修饰符private为protected 。 扩展学习 1、public:public表明该数据成员、成员函数是对所有用户开放的,所有用户都可以直接进行调用 2、private:private表示私有,私有的意思就是除了class自己之外,任何人都不可以直接使用,私有财产神圣不可侵犯嘛,即便是子女,朋友,都不可以使用。 3、protected:protected对于子女、朋友来说,就是public的,可以自由使用,没有任何限制,而对于其他的外部class,protected就变成private。 正确截图: 学习总结:上周课堂学习为9月的最后一天,紧接的便是为期7天国庆假期,所以学习的新内容不多。上次以动物模拟变声器的实验进行学习了更多有关继承的知识,再是学习了继承抽象类实现接口,即一个子类可以同时继承抽象类和实现接口。抽象类关键词abstract;接口关键词interface。 1、接口:接口类似于类,但接口的成员没有执行体,它只是方法、属性、事件和索引符的组合而已。接口不能被实例化,接口没有构造方法,没有字段。在应用程序中,接口就是一种规范,它封装了可以被多个类继承的公共部分。扩展学习: 不允许使用访问修饰符(public,private,protected 或 internal),所有的接口成员都必须是公共的; 接口成员不能包含代码实体; 接口成员不能定义字段成员; 接口成员不能用关键字static,virtual,abstrac t或 sealed 来定义; 类型定义成员是禁止的。 2、Java类的继承:继承是代码复用的一种形式,即在具有包含关系的类中,从属类继承主类的全部属性和方法,从而减少了代码冗余,提高了程序运行效率。Java 中类的继承是通过扩展其他类而形成新类来实现的,原来的类称为父类(super class)或基类,新类称为原来类的子类或派生类。在子类中,不仅包含父类的属性和方法,还可以增加新的属性和方法,使得父类的基本特征可被所有子类的对象共享。 3、复习Java多态性:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |