- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验2 类与对象
实验二 类与对象
实验目的
掌握面向对象程序设计的方法和Java作为面向对象程序设计语言的特点;
掌握类得封装与对象的使用;
掌握修饰符和构造方法的使用规则;
掌握构造方法的使用,方法重载用于多态
掌握类的继承,方法重构与变量的隐藏
掌握接口的特点、结构、调用和继承;
掌握如何创建包,通过包如何管理类;
掌握Java的继承机制和实现多态的方法。
实验要求
(1)编写一个体现面向对象思想的程序;
(2)编写一个创建对象和使用对象的方法的程序;
(3)编写体现类的继承性(成员变量、成员方法、成员变量隐藏)的程序;
(4)编写体现类的多态性(成员方法重载、构造方法重载)的程序。
(5)编写一个接口,并使用它;
(6)编写自定义包的程序
实验内容
(一)Java类的设计与编程
1. 创建一个 Application 应用程序 Demo2_1.java 文件。在文件中定义两个类。一个是CCircle,另一个是主类Demo2_1。
程序功能:描述一个圆类,其主要属性为半径,还有一个非常重要的常量是圆周率。该圆可以求出面积,可以设置半径和取得半径大小。
class CCircle{
double pi;
double radius;
double getRadius(){
return radius;
}
void setCircle(double r, double p){
pi=p;
radius=r;
}
double getCircleArea() {
return pi*radius*radius;
}
}
public class Demo2_1{
public static void main(String args[]){
CCircle cir1=new CCircle();
cir1.setCircle(2.0,3.1416);
System.out.println(圆半径=+cir1.getRadius());
System.out.println(圆面积=+cir1.getCircleArea());
cir1.pi=3.14159;
cir1.radius=10.0;
System.out.println(圆半径=+cir1.getRadius());
System.out.println(圆面积=+cir1.getCircleArea());
}
}
【思考】
① 试述程序中两个类的各自作用。
② 类CCircle都封装了什么?求圆面积的初始数据是通过那个方法实现的?请修改程序采用构造函数的方法初始化数据。
③ 将class CCircle中的变量 double pi; double radius;加上private修饰符,进行编译会出现什么问题,为什么?
④ 将void setCircle(double r, double p),double getRadius()和double getCircleArea()加上修饰符static,重新编译会出现什么问题?仍用static,怎样修改别的地方来纠正这个错误?在main中引用这些方法时不用创建对象则怎样引用?
(二)类的继承设计
1.下面是一个具有继承的程序RectangleDemo.java。类Volume继承了父类Rectangle,主类是RectangleDemo。
public class RectangleDemo{
public static void main (String[] args){
double result;
Volume obj1=new Volume (10,20,30);
result=obj1.volume ();
System.out.println (得到的长方体体积 =+result);
result=obj1.area ();
System.out .println (得到的长方形面积 =+result);
result=obj1.volume (10.0);
System.out.println (立方体的体积=+result);
}
}
class Rectangle{
double length;
double width;
double area() {
return length*width;
}
文档评论(0)