- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
浙江大学城市学院实验报告
课程名称 面向对象程序设计
实验项目名称 类与对象基础实验(一)
学生姓名 专业班级 学号
一. 实验目的和要求
1. 掌握对象与类的关系
2.?掌握类的域、方法、构造器的概念
3.?掌握对象的创建与初始化
4.?掌握方法和域(静态和非静态)的使用方式
5.?掌握Math类,掌握静态成员的使用方式
6. 理解方法和构造器重载现象
二. 实验内容
1. 程序阅读并回答问题
2. 类的使用
3. 编程实验:猜数字
4. 编程实验:素数判断与统计
三. 实验结果与分析(可将程序运行结果截屏,也可分析运行结果)
1. . 程序阅读并回答问题:阅读实验讲义的对应代码,回答以下问题。
将上述代码编译运行,将运行结果截图。答:
上述源码中共定义了几个类?分别刻画了哪些数学图形?Triangle类有哪些域和方法?Triangle的这些域和方法是静态的还是非静态的?
答:
上述程序共定义四个类 分别刻画了三角形,梯形,圆形
域有:sideA,sideB,sideC,area,length, boo
方法有:
Triangle//判断是否为三角形
getLength//给出三角形的周长
getArea//给出三角形的面积
setABC//判断是否为三角形
其中所有的域都为非静态的,所有方法都为非静态方法
类和对象是什么关系?请从上述AreaAndLength.java中举例说明如何创建对象。
答:类是对象的模板,也是对象的类型,描述一组具有相同属性和行为的对象定义一个类。例如class Triangle。然后在main方法中定义域,然后给定义好的域调相应的类方法,赋予对象数据并构造。
Triangle类中出现的Math.sqrt是什么?请举例说明Math类中还有哪些常用域和方法?
答:Math.sqrt是math类中的求开根号的方法Math.exp
静态域和方法与非静态域和方法在使用时有什么区别?请从上述AreaAndLength.java中举例说明。
答:静态域可被所有对象共享,并且在没有任何对象之前,就可以访问静态域,调用静态方法,并不需要创建这个类的对象;同一非静态域在不同对象之间相互独立,非静态方法的执行必须通过对象,所以需要事先创建该类的某个对象。例如:public static void main(String args[])不需要创建对象,当程序运行时自动运行。而其他的类,例如class Triangle就需要main中创建好对象才能够调用
什么是构造器?构造器与一般方法的区别是什么?构造器可以重载吗?请从上述AreaAndLength.java中举例说明。
答:构造器用于创建对象,并初始化对象的状态
构造器与一般方法的区别:
构造器的名称必须和类名相同,而方法名不受限制。
构造器没有返回类型,而方法名则不受限制。
一般通过new调用构造器来创建对象,而方法则没有这种调用格式。
构造器可以重载
非静态class Triangle public 和 Triangle(double a,double b,double c)
静态Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC))
2. 已有Rectangle类(矩形类),它有两个浮点型属性length(长)和width(宽)。该类具有两个构造函数(无参和有参),perimeter()和area()方法分别返回矩形的周长和面积, 请编写相应的包含main方法的类和main方法来测试Rectangle类。(程序结构参考讲义)
请将源码编写完整如下:
public class Test3 {
public static void main(String args[]){
Rectangle r= new Rectangle();
System.out.println(无参周长是: +r.perimeter());
System.out.println( 面积是:+r.area());
r= new Rectangle(1,1);
System.out.println(有参周长是: +r.perimeter());
System.out.println( 面积是:+r.area());
}
}
class Rectangle{
double length,width;
Rectangle(){
double ale
文档评论(0)