类与对象基础实验(一)实验报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“实验报告类和对象”。
浙江大学城市学院实验报告
课程名称
面向对象程序设计
实验项目名称
类与对象基础实验
(一)学生姓名
专业班级
学号
一.实验目的和要求
1.掌握对象与类的关系 2.掌握类的域、方法、构造器的概念
3.掌握对象的创建与初始化 4.掌握方法和域(静态和非静态)的使用方式 5.掌握Math类,掌握静态成员的使用方式 6.理解方法和构造器重载现象
二.实验内容
1.程序阅读并回答问题 2.类的使用
3.编程实验:猜数字
4.编程实验:素数判断与统计
三.实验结果与分析(可将程序运行结果截屏,也可分析运行结果)
1..程序阅读并回答问题:阅读实验讲义的对应代码,回答以下问题。
(1)将上述代码编译运行,将运行结果截图。
答:
(2)上述源码中共定义了几个类?分别刻画了哪些数学图形?Triangle类有哪些域和方法?Triangle的这些域和方法是静态的还是非静态的?
答:
上述程序共定义四个类
分别刻画了三角形,梯形,圆形 域有:sideA,sideB,sideC,area,length, boo 方法有: Triangle//判断是否为三角形
getLength//给出三角形的周长 getArea//给出三角形的面积 setABC//判断是否为三角形
其中所有的域都为非静态的,所有方法都为非静态方法
(3)类和对象是什么关系?请从上述AreaAndLength.java中举例说明如何创建对象。
答:
类是对象的模板,也是对象的类型,描述一组具有相同属性和行为的对象
定义一个类。例如cla Triangle。然后在main方法中定义域,然后给定义好的域调相应的类方法,赋予对象数据并构造。
(4)Triangle类中出现的Math.sqrt是什么?请举例说明Math类中还有哪些常用域和方法?
答:
Math.sqrt是math类中的求开根号的方法 Math.exp
(5)静态域和方法与非静态域和方法在使用时有什么区别?请从上述AreaAndLength.java中举例说明。
答:
静态域可被所有对象共享,并且在没有任何对象之前,就可以访问静态域,调用静态方法,并不需要创建这个类的对象;同一非静态域在不同对象之间相互独立,非静态方法的执行必须通过对象,所以需要事先创建该类的某个对象。
例如:public static void main(String args[])不需要创建对象,当程序运行时自动运行。而其他的类,例如cla Triangle就需要main中创建好对象才能够调用
(6)什么是构造器?构造器与一般方法的区别是什么?构造器可以重载吗?请从上述AreaAndLength.java中举例说明。
答:
构造器用于创建对象,并初始化对象的状态 构造器与一般方法的区别: 构造器的名称必须和类名相同,而方法名不受限制。构造器没有返回类型,而方法名则不受限制。
一般通过new调用构造器来创建对象,而方法则没有这种调用格式。
构造器可以重载
非静态cla 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类。(程序结构参考讲义)
(1)请将源码编写完整如下:
public cla 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());
}
cla Rectangle{
double length,width;
Rectangle(){
double alength;
}
double awidth;alength = 1;awidth = 1;length=alength;width=awidth;Rectangle(double alength,double awidth){ length=alength;width=awidth;} public double perimeter(){ }
return(length+width)*2;
public double area(){ return length*width;} }(2)程序运行结果截图如下:
3.编程实验:猜数字。程序运行的界面截屏如下: 源程序: import java.util.*;import java.math.*;public cla guenum{ public static void main(String args[]){
}
} Scanner scanner = new Scanner(System.in);int num =(int)(Math.random()*100 + 1);System.out.println(“有一个1-100之间的随机整数,请您猜猜看”);System.out.println(“请输入您的猜测:”);int choice = 0;do{ if(scanner.hasNextInt())
choice = scanner.nextInt();if(num > choice)System.out.println(“您猜小了,请继续猜:”);if(num
4.编程实验:素数判断与统计。程序运行的界面截屏如下: 源代码: import java.util.*;public cla Hello{
static boolean isPrime(int n){
//如果参数n是素数,那么返回true;否则返回false
for(int i=2;i
return false;
if(n % 2!= 0)return true;else return false;} return true;
} public static void main(String args[]){ Scanner scanner =new Scanner(System.in);System.out.println(“请输入一个区间:(如:1 100)”);
int a = 0,b = 0;do{ if(scanner.hasNextInt()){ a = scanner.nextInt();
} if(scanner.hasNextInt()){ b = scanner.nextInt();} if(a b){ int item = a;
} a = b;b = item;int count=0;for(int i=a;i
四.讨论、心得(可写遇到的问题及解决方法,或者对技术的理解等)
网 络 程 序 设 实验报告实验名称:Winsock编程接口实验 实验类型: 验 证 型计 一、实验目的 掌握Winsock的启动和初始化; 掌握gethostname(),gethostbyname(),GetAdaptersInfo(......
通过心得体会的写作可以使我们更好地总结经验,方便今后的借鉴。要写一篇好的心得体会,需要有适当的语言表达和思维深度。我整理了一些关于心得体会的范文,供大家借鉴和学习。类......
经过一段时间的探索和积累,我渐渐体会到了一些有关人生和工作的真谛。总结需要客观、准确地描述自己的实际情况和表现,同时要注意整理和概括。鼓励大家积极总结自己的经验和感......
实验一 认识电子商务一、实验目的通过因特网了解三种电子商务交易模式,了解互联网广告体系,体验和对比各类电子商务网站的运营模式和流程。二、实验环境接入因特网。三、实验......
《数字信号处理》 实验报告学院专业 电子信息工程班级姓名学号时间实验一时域离散信号与系统分析一、实验目的1、熟悉连续信号经理想采样后的频谱变化关系,加深对时域采样定......