实验3 类与对象

合集下载

java面向对象实验三 类与对象编程—类与对象基础

java面向对象实验三 类与对象编程—类与对象基础
}
}
⒉实验测试结果:
实验结果及分析
实验结果:
(1)成功输出平均成绩和总成绩。
(2)创建四个学生对象,并成功输出学生信息。
教师评阅
System.out.println(name+"的平均成绩"+(java+c+db)/3.0);
}
voidsum(){
System.out.println(name+"的总成绩为"+(java+c+db));
}
}
publicclassTest{
publicstaticvoidmain(String []args){
classUndergraduate {
Stringname;
intcourse;
Stringeducation="本科";
Undergraduate(String _name,int_course) {
name= _name;
course= _course;
}
String getGrade() {
return("良好");
if(course>= 70)
return("一般");
if(course>= 60)
return("及格");
return("不及格");
实验过程及步骤
}
}
publicclassTest {
publicstaticvoidmain(String[] args) {
Underg("张三", 68);

实验三类与对象

实验三类与对象

实验三类与对象实验目的●掌握类和对象的概念、定义和访问方法●掌握不同类型成员的访问限制●掌握构造函数和析构函数的使用方法实验示例[例3-1] 运用面向对象程序设计方法编写一个程序,计算两个给定长方形的面积,其类中设计一个用于计算两个长方形的总面积成员函数。

解题思路:设计一个类Rect,包含数据成员len(表示长度)、wid(表示宽度),以及求面积的公有成员函数area()、求两个长方形的总面积成员函数addarea(),并设计两个重载的构造函数。

实现步骤:1.新建Win32 Console Application程序项目2.在文件编辑区窗口编写如下程序代码:#include <>#include <>class Rect{float len,wid;public:Rect(){ }; // 判断今天是否为某雇员的生日、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、#include<>class Date{public:void getdate() // 输出日期,格式:"2000年1月1日"{cout<<y<<"年"<<m<<"月"<<d<<"日";}int getyear() // 返回年份{return y;}int getmonth() // 返回月份{return m;}int getday() // 返回日期{return d;}void setdate(int y1, int m1, int d1) // 设置日期{y=y1;m=m1;d=d1;}private:int y,m,d;};class employee{char name[10];int num;Date birth;public:void set(char a[10],int b){name[10]=a[10];num=b;}void Birth(int y2,int m2,int d2){(y2,m2,d2);}void show(){cout<<"编号为"<<num<<"的雇员生日为";();cout<<endl;}int isBirth(Date a,employee b) // 判断今天是否为某雇员的生日{int mn,my,dn,dy;mn=();my= dn=();dy= if(mn==my&&dn==dy)return 1;elsereturn 0;}};int main(){Date today;(2014,3,27);employee f;("Anna",1);(1992,8,19);();cout<<"今天是";();cout<<endl;if(today,f))cout<<"今天是该雇员的生日。

类与对象的实验报告

类与对象的实验报告

类与对象的实验报告类与对象的实验报告引言:在计算机科学领域,类与对象是面向对象编程(Object-Oriented Programming,简称OOP)的核心概念之一。

类是一种抽象的数据类型,用于描述具有相同属性和行为的对象集合。

对象则是类的实例,具体化了类的属性和行为。

本实验旨在通过编写一个简单的类与对象的程序,深入理解类与对象的概念及其在编程中的应用。

实验过程:1. 定义一个类:在这个实验中,我们以动物为例,定义了一个名为Animal的类。

该类具有以下属性和行为:- 属性:名称、年龄、种类- 行为:吃、睡、叫2. 创建对象:在主程序中,我们创建了两个Animal对象,分别代表一只狗和一只猫。

通过调用构造函数,为对象的属性赋值。

3. 调用对象的方法:我们通过调用对象的方法,模拟了动物的行为。

例如,我们调用了eat()方法,让动物吃东西;调用了sleep()方法,让动物睡觉;调用了make_sound()方法,让动物发出叫声。

4. 修改对象属性:我们还演示了如何修改对象的属性。

通过调用set_age()方法,我们改变了动物的年龄;通过调用set_type()方法,我们改变了动物的种类。

实验结果:通过运行程序,我们观察到以下结果:- 狗的名称是"旺财",年龄是3岁,种类是"狗"。

狗吃骨头,睡觉时打呼噜,发出汪汪的叫声。

- 猫的名称是"咪咪",年龄是2岁,种类是"猫"。

猫吃鱼,睡觉时打呼噜,发出喵喵的叫声。

- 经过修改后,狗的年龄变为5岁,种类变为"藏獒";猫的年龄变为3岁,种类变为"波斯猫"。

讨论与分析:通过这个实验,我们深入理解了类与对象的概念及其在编程中的应用。

类是一种抽象的模板,用于描述具有相似属性和行为的对象集合。

对象是类的实例,具体化了类的属性和行为。

通过定义类和创建对象,我们可以更好地组织和管理程序的代码。

实验三 类与对象

实验三 类与对象

实验三类与对象专业班级网络1201 学号1218064023 姓名汪枭涵实验学时 2 实验类型验证性实验地点数计学院实验中心实验时间指导老师曹记东实验成绩年月日一、实验目的:理解类与对象的定义,理解封装的含义,掌握数据成员的声明与初始化方法,掌握成员方法的定义、返回值、参数传递的方法。

二、实验内容:用面向对象的思想编写一个简单的计算器,能够实现两个数字的加、减、乘、除运算。

三、实验要求:1.根据需求,用面向对象的方式定义一个计算器类(Calculator);2.由于计算器能对两个数字进行各种运算,所以定义两个成员变量表示两个运算数;3.编写4个成员方法,分别实现加(add)、减(minus)、乘(multiple)、除(divide)四类运算。

4.定义构造函数对成员变量赋初值;5.写出实验报告。

四、实验步骤与结果:(由学生按照实验内容完成)public class Calculator {public static double add(double num1, double num2){return num1 + num2;}public static double minus(double num1, double num2){return num1 - num2;}public static double multiple(double num1, double num2){return num1 * num2;}public static double divide(double num1, double num2){if(num2 != 0){return num1/num2;}return -1;//除数为0,错误}public static void main(String args[]){System.out.println("加法:15 + 5 = " + add(15, 5));System.out.println("减法:15 + 5 = " + minus(15, 5));System.out.println("乘法:15 + 5 = " + multiple(15, 5));System.out.println("除法:15 + 5 = " + divide(15, 5));}}实验结果:总结:通过本次实验,了解了java的开发环境,掌握了NetBeans的使用方法,同时对一些简单的基本JA V A语言的有了进一步的了解和掌握,对JA V A的一些基本语法也明白的很多,但是因为一开始在语法上存在一定的应用缺陷所以导致在实验的过程遇到了一些问题,最终通过和同学的讨论顺利解决了问题。

实验报告_实验3 类与对象

实验报告_实验3 类与对象

实验报告_实验3 类与对象(学生学号_姓名)一、实验目的1.熟悉类的组成,掌握类的声明方法;2.理解构造方法的作用,并掌握构造方法的定义;3.熟练使用访问器和设置器实现信息隐藏和封装;4.熟悉一般方法、构造方法的重载;5.能够正确地区分静态变量与实例变量、静态方法与实例方法的不同,掌握静态变量和静态方法的使用;6.掌握对象的创建、引用和使用及向方法传递参数的方式;7.掌握this关键字的使用以及对象数组的创建和访问;8.掌握Java包的创建、包成员的各种访问方式;9.掌握一维数组:声明,创建,初始化,数组元素的访问;10.掌握多维数组的概念:二维数组的声明,初始化,元素的访问。

二、实验内容与步骤1.请回答下列问题:(1)Cirecle类定义了几个属性?它们的类型、访问权限各为什么?答:两个PI,floatl类型,静态私有权限Radius,float;类型,私有权限(2)类中的“PI”的值可以在程序的方法中更改吗?答:不可以,因为PI为静态变量(3)Cirecle类定义了几个方法?它们的访问权限怎样?答:四个,getRadius(),setRadius(float radius),getPerimeter(),getArea()都是公有权限2.写出Rectangle类的程序代码:class Rectangle{private float width;private float length;public float getWidth( ) 法4.写出OverrideTest中所缺的三行代码:public class OverrideTest {public static void main(String[] args) {ength;j++) ength __________;j++) ength ___________;i++){ e ngth;j++){问题:(1)二维数组如何声明、创建?二维数组的列数是否一定要求相同?答:数据类型数组名[ ][ ] 或数据类型[ ][ ] 数组名;不要求相同。

实验三 类与对象(1)——耿祥义

实验三   类与对象(1)——耿祥义
3)Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能。
定义Test3_2类,在其中编写一个main方法,在其中创建分别创建三个类的对象,并显示Circle,Lader,Trangle对象的属性信息和面积值。对Trangle对象,还要显示其是否可以构成三角形的信息。
(二)使用修饰符
有时需要公开一些变量和方法,有时需要禁止其他对象使用变量和方法,这时可以使用修饰符来实现这个目的。常用的修饰符如下。public,private,protected,package,static,final,transient,volatile
程序功能:通过两个类StaticDemo、KY2_4说明静态变量/方法与实例变量/方法的区别。
③将class CCircle中的变量double pi; double radius;加上private修饰符,进行编译会出现什么问题,为什么?
④将void setCircle(double r, double p),double getRadius()和double getCircleArea()加上修饰符static,重新编译会出现什么问题?仍用static,怎样修改别的地方来纠正这个错误?在main中引用这些方法时不用创建对象则怎样引用?
程序功能:描述一个圆类,其主要属性为半径,还有一个非常重要的常量是圆周率。该圆可以求出面积,可以设置半径和取得半径大小。
class CCircle
{ double pi;
double radius;
double getRadius()
{ return radius;
}
void setCircle(double r, double p)
void aaa()

学号姓名--类与对象基础实验(三)实验报告

学号姓名--类与对象基础实验(三)实验报告

个人收集整理-ZQ课程名称面向对象程序设计实验项目名称类与对象基础实验(三)学生姓名专业班级学号一. 实验目地和要求.掌握大数处理与类.掌握时间处理类与类、类.掌握异常处理与类二. 实验内容. 编程实现:大整数地数值计算. 编程实现:用大整数求阶乘之和. 编程实现:计算两个日期地天数之差. 编程实现:计算生日信息. 编程实现:数字转换地异常处理三. 实验结果与分析(可将程序运行结果截屏,也可分析运行结果). 编程实现:大整数地数值计算.编写一个应用程序,计算两个大整数地和、差、积和商,并计算一个大整数地因子个数.(部分源码参考讲义)文档来自于网络搜索请分析并回答以下问题:程序源码如下:请将运行结果截图:请比较和地主要区别,并简要说明地主要用途.答:. 编程实现:用大整数求阶乘之和.编写一个应用程序,用计算!…!.要求地值从键盘输入.文档来自于网络搜索请分析并回答以下问题:程序源码如下:请将运行结果截图:. 编程实现:计算两个日期地天数之差.编写应用程序,来计算任意两个日期地天数之差.要求:两个日期用字符串形式输入(比如输入“”表示年月日),需要将日期字符串地年、月、日分别转换为数字形式.文档来自于网络搜索程序源码如下:请将运行结果截图:. 编程实现:生日信息.编写应用程序,计算你地生日还有多少天,你地生日是星期几. 程序源码如下:请将运行结果截图:. 编程实现:数字转换地异常处理.输入两个数,计算两个数想除地结果(考虑除数为地异常情况).程序源码如下:请将运行结果截图:四. 讨论、心得(可写遇到地问题及解决方法,或者对技术地理解等)1 / 1。

类与对象实验报告

类与对象实验报告

类与对象实验报告类与对象实验报告引言:类与对象是面向对象编程的基本概念,通过定义类和创建对象,可以实现对数据和行为的封装,使程序更加模块化和可扩展。

本实验旨在通过实际操作,加深对类与对象的理解,并掌握其基本用法。

实验过程:1. 定义类:在实验开始前,我们首先需要定义一个类。

类是对象的抽象描述,包含了对象的属性和方法。

以汽车为例,我们可以定义一个Car类,其中包含品牌、颜色和速度等属性,以及启动、加速和刹车等方法。

2. 创建对象:在定义了Car类之后,我们可以通过创建对象来实例化该类。

通过使用new关键字,我们可以创建多个汽车对象,每个对象都拥有独立的属性和方法。

例如,我们可以创建一个名为myCar的对象,它是Car类的一个实例。

3. 访问对象的属性和方法:创建了对象之后,我们可以通过点运算符来访问对象的属性和方法。

例如,通过myCar.brand可以获取myCar对象的品牌属性,通过myCar.start()可以调用myCar对象的启动方法。

这样,我们可以通过对象来操作和管理数据,使代码更加清晰和可读。

4. 对象之间的交互:在实际编程中,对象之间经常需要进行交互。

通过在类中定义方法,我们可以实现对象之间的数据传递和信息交流。

例如,我们可以定义一个方法来获取其他汽车对象的速度,并根据这些速度进行比较和判断。

实验结果:通过实验,我们深入了解了类与对象的概念和用法。

通过定义类和创建对象,我们可以更好地组织和管理代码,提高程序的可维护性和可扩展性。

通过访问对象的属性和方法,我们可以实现对数据和行为的封装,使代码更加模块化和易于理解。

通过对象之间的交互,我们可以实现数据的共享和协作,提高程序的效率和灵活性。

实验总结:类与对象是面向对象编程的核心概念,掌握了类与对象的基本用法对于开发高质量的程序至关重要。

通过本次实验,我们加深了对类与对象的理解,并通过实际操作掌握了其基本用法。

在以后的编程过程中,我们可以更加灵活地运用类与对象,提高代码的可读性和可维护性。

类和对象实验报告

类和对象实验报告

类和对象实验报告类和对象实验报告引言:在计算机科学领域中,类和对象是面向对象编程的基本概念。

通过类和对象的使用,可以将现实世界中的事物抽象为计算机程序中的实体,从而更好地描述和处理问题。

本实验将通过一个简单的示例来介绍类和对象的基本概念,并展示它们在实际编程中的应用。

实验目的:1. 理解类和对象的概念;2. 学会创建类和对象,并进行基本的操作;3. 掌握类和对象在程序中的应用。

实验过程:1. 定义一个类:首先,我们需要定义一个类来表示一个学生。

一个学生通常有姓名、年龄和成绩等属性。

我们可以使用Python语言来定义这个类,如下所示:```pythonclass Student:def __init__(self, name, age, score): = nameself.age = ageself.score = score```在上述代码中,我们使用了Python中的类和构造函数的概念。

`__init__`方法是类的构造函数,用于初始化类的属性。

`self`表示类的实例对象本身。

2. 创建对象:在类定义完成后,我们可以创建类的对象。

通过创建对象,我们可以访问和操作类的属性和方法。

下面是创建一个学生对象的示例代码:```pythonstudent1 = Student("张三", 18, 90)```在上述代码中,我们使用`Student`类的构造函数创建了一个名为`student1`的学生对象。

通过传入相应的参数,我们可以为学生对象的属性赋值。

3. 访问对象的属性和方法:一旦对象创建成功,我们就可以通过对象来访问和操作类的属性和方法。

下面是一些访问对象属性和方法的示例代码:```pythonprint() # 输出学生的姓名print(student1.age) # 输出学生的年龄print(student1.score) # 输出学生的成绩def study(self):print(f"{}正在学习")student1.study() # 调用学生对象的study方法```在上述代码中,我们通过对象的名称和点操作符来访问对象的属性和方法。

实验三类与对象

实验三类与对象

实验三类与对象实验三类与对象1、实验目的1)使用类来封装对象的属性和功能。

2)掌握类变量与实例变量,以及雷方法与实例方法的区别。

3)掌握使用package和import语句。

2、实验内容1)编写一个Java应用程序,该程序中有3各类:Trangle、Lader和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。

具体要求如下:●Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。

另外,Trangle类还具有一个boolean型的属性,该属性用来判断三个数能否构成一个三角形。

●Lader类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能。

●Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能。

程序模板:AreaAndLength.java请按模板要求,将【代码】提换为Java程序代码。

class Trangle{double sideA,sideB,sideC,area,length;boolean boo;public Trangle(double a, double b, double c){【代码1】//参数a、b、c分别赋值给sideA、sideB、sideC if(【代码2】)//a、b、c构成三角形的条件表达式{ 【代码3】//给boo赋值}else{ 【代码4】//给boo赋值}}double getLength(){ 【代码5】//方法体,要求计算出length的值并返回}public double getArea(){if(boo){double p = (sideA + sideB + sideC) / 2.0;area = Math.sqrt(p * (p – sideA) * (p – sideB) * (p – sideC)); return area;}else{System.out.println(“不是一个三角形,不能计算面积”); return 0;}}public void setABC(double a, double b, double c){【代码6】//参数a、b、c分别赋值给sideA、sideB、sideC if(【代码7】)//a、b、c构成三角形的条件表达式{ 【代码8】//给boo赋值}else{【代码9】//给boo赋值}}}class Lader{double above,bottom,height,area;Lader(double a,double b,double h){ 【代码10】//方法体,将参数a、b、c分别赋值给above、bottom、height }double getArea(){ 【代码11】//方法体,要求计算出area并返回}}class Circle{double radius,area;Circle(double r){ 【代码12】//方法体}double getArea(){ 【代码13】//方法体,要求计算出area并返回}double getLength(){ 【代码14】//getArea方法体的代码,要求计算出length并返回}void setRadius(double newRadius){ radius = newRadius;}}public class AreaAndLength{public static void main(String args[]){double length,area;Circle circle = null;Trangle trangle;Lader lader;【代码15】//创建对象circle【代码16】//创建对象trangle【代码17】//创建对象lader【代码18】//调用Circle方法返回周长并赋值给lengthSystem.out.println(“圆的周长:”+length);【代码19】//调用Circle方法返回面积并赋值给areaSystem.out.println(“圆的面积”+area);【代码20】//调用Trangle方法返回周长并赋值给lengthSystem.out.println(“三角形的周长:”+length);【代码21】//调用Trangle方法返回面积并赋值给areaSystem.out.println(“三角形的面积:“+area);【代码22】//调用Lader方法返回面积并赋值给area;System.out.println(“梯形的面积:”+area);【代码23】//调用Trangle方法设置三个边,要求将三个边修改为12,34,15【代码24】//调用Trangle方法返回面积并赋值给areaSystem.out.println(“三角形的面积:”+area);【代码25】//调用Trangle方法返回周长并赋值给lengthSystem.out.println(“三角形的周长:”+length);}}实验后的练习(1)程序中仅仅省略【代码15】,编译能通过吗?(2)程序中仅仅省略【代码16】,编译能通过吗?(3)程序中仅仅省略【代码15】,运行时出现怎样的异常提示?(4)给Trangle类增加3个方法,分别用来返回3个边:sideA、sideB和sideC(5)让AreaAndLength类中的Circle对象调用方法修改半径,然后输出修改后的半径以及修改半径后的圆的面积和周长。

实验三 类与对象(一)

实验三 类与对象(一)

实验三类与对象(一)一、【实验目的】1、掌握类和对象的定义,并能通过对象调用成员函数完成简单的程序设计2、初步掌握用类和对象编制基于对象的程序。

二、【实验要求】1.硬件基本配置:Intel PentiumIII以上级别的CPU,大于64MB的内存。

2.软件要求:Window 2000操作系统,Visual Studio 6.0或更高版本开发环境。

3.实验学时:2学时4.实现实验内容中的题目。

5.写实验报告三【实验内容】1.1 一圆形游泳池如图所示,现在需在其周围建一圆形过道,并在其四周围上栅栏。

栅栏造价为$35/m,过道造价为$20/m2。

过道宽度为3m,现在给出游泳池半径要求编程计算并栅栏和过道的造价。

(圆周率PI定义为3.14159);另外,对于题目中涉及的“圆”,请使用“类”实现,现规定如下:{public:double Set(double s);// Circle(double s);double Circumference( ) const;double Area( ) const;private:double r;};【输入】输入由键盘输入,共1行,这一行有一个实数r,代表给定的游泳池半径。

【输出】输出共2行cout << "Fencing(栅栏)Cost is $" << FenceCost << endl;cout << "Concrete (过道)Cost is $" << ConcreteCost << endl;【样例输入】5【样例输出】Fencing Cost is $1759.29Concrete Cost is $2450.441.2设计一个做加减乘除基本运算的类,实现在主函数中输入要计算的两个数,通过菜单的形式选择做加减乘除运算后,计算输出相应的计算结果。

JAVA实验报告-实验3-类与对象-

JAVA实验报告-实验3-类与对象-

Java Object-Oriented Programming Experimental ReportSystem.out.println ("Your lucky numbers are " + lucky1 + ", " + lucky2+ ", and " + lucky3);}}3.2 Working with Strings(Choose to do)3.3 Rolling Dice3.4 Computing Distance3.5 formatting Output3.6 Playing with Cards(Choose to do)3.7 Experimenting with the Integer Class(Choose to do) 3.8 Nested Panels(1)宽度两倍(4)添加主界面宽度高度设定(5)添加MyPanels4.Experimental results and data processing5.Analysis and discussionScore: 6.Teacher ReviewsSignature:Date:Experimental Report List1Exercises1) Source code list3.3package test_java_03;import java.util.Random;public class point3_3 {public static void main(String[] args) {Random ger = newint lucky1, lucky2, lucky3;lucky1 = ger.nextInt(6)+1;lucky2 = (int)(ger.nextFloat()*6)+1;lucky3 = (int)(ger.nextFloat()*10)+20;System.out.print(lucky1+lucky2);}}3.4package test_java_03;import java.util.Scanner;public class point_3_4 {public static void main (String[] args){double x1, y1, x2, y2;double distance;Scanner scan = new Scanner(System.in);System.out.print ("Enter the coordinates of the first point " + "(put a space between them): ");x1 = scan.nextDouble();y1 = scan.nextDouble();System.out.print ("Enter the coordinates of the second point: ");x2 = scan.nextDouble();y2 = scan.nextDouble();doubley=Math.abs(y2-y1)*Math.abs(y2-y1),x=Math.abs(x2-x1)*Math.abs(x2-x1);double z=Math.sqrt(y+x);System.out.print("The distance between the two points is "+z);}}3.5package test_java_03;import java.util.*;import java.text.NumberFormat;import java.text.DecimalFormat;public class point_3_5 {public static void main (String[] args){final double OUNCES_PER_POUND = 16.0;double pricePerPound;double weightOunces;double weight;double totalPrice;Scanner scan = new Scanner(System.in);NumberFormat money=NumberFormat.getCurrencyInstance();DecimalFormat fmt=new DecimalFormat("0.#####");System.out.println ("Welcome to the CS Deli!!\n ");System.out.print ("Enter the price per pound of your item: ");pricePerPound = scan.nextDouble();System.out.print ("Enter the weight (ounces): ");weightOunces = scan.nextDouble();weight = weightOunces / OUNCES_PER_POUND;totalPrice = pricePerPound * weight;System.out.println("total price is:"+fmt.format(totalPrice));}}3.8(1)package test_java_03;import java.awt.*;import javax.swing.*;public class point_3_8 {public static void main (String[] args){JFrame frame = new JFrame ("Nested Panels");// Set up first subpanelJPanel subPanel1 = new JPanel();subPanel1.setPreferredSize (new Dimension(150, 100));subPanel1.setBackground (Color.green);JLabel label1 = new JLabel ("One");subPanel1.add (label1);// Set up second subpanelJPanel subPanel2 = new JPanel();subPanel2.setPreferredSize (new Dimension(150, 100));subPanel2.setBackground (Color.red);JLabel label2 = new JLabel ("Two");subPanel2.add (label2);JPanel subPanel3 = new JPanel();subPanel3.setPreferredSize (new Dimension(300, 100));subPanel3.setBackground (Color.black);JLabel label3 = new JLabel ("Three");subPanel3.add (label3);// Set up primary panelJPanel primary = new JPanel();primary.setBackground (Color.blue);primary.add (subPanel1);primary.add (subPanel2);primary.add (subPanel3);frame.getContentPane().add(primary);frame.pack();frame.setVisible(true);}}(4)package test_java_03;import java.awt.*;import javax.swing.*;public class point_3_8 {public static void main (String[] args){JFrame frame = new JFrame ("Nested Panels");// Set up first subpanelJPanel subPanel1 = new JPanel();subPanel1.setPreferredSize (new Dimension(150, 100));subPanel1.setBackground (Color.green);JLabel label1 = new JLabel ("One");subPanel1.add (label1);// Set up second subpanelJPanel subPanel2 = new JPanel();subPanel2.setPreferredSize (new Dimension(150, 100));subPanel2.setBackground (Color.red);JLabel label2 = new JLabel ("Two");subPanel2.add (label2);JPanel subPanel3 = new JPanel();subPanel3.setPreferredSize (new Dimension(300, 100));subPanel3.setBackground (Color.black);JLabel label3 = new JLabel ("Three");subPanel3.add (label3);// JPanel subPanel4 = new JPanel();// subPanel4.setPreferredSize(new Dimension(320,20));// subPanel4.setBackground(Color.orange);// JLabel label4 = new JLabel("My Panels");// subPanel4.add(label4);// Set up primary panelJPanel primary = new JPanel();primary.setBackground (Color.white);primary.setPreferredSize(new Dimension(320,260));//primary.add (subPanel4);primary.add (subPanel1);primary.add (subPanel2);primary.add (subPanel3);frame.getContentPane().add(primary);frame.pack();frame.setVisible(true);}}(5)package test_java_03;import java.awt.*;import javax.swing.*;public class point_3_8 {public static void main (String[] args){JFrame frame = new JFrame ("Nested Panels");// Set up first subpanelJPanel subPanel1 = new JPanel();subPanel1.setPreferredSize (new Dimension(150, 100));subPanel1.setBackground (Color.green);JLabel label1 = new JLabel ("One");subPanel1.add (label1);// Set up second subpanelJPanel subPanel2 = new JPanel();subPanel2.setPreferredSize (new Dimension(150, 100));subPanel2.setBackground (Color.red);JLabel label2 = new JLabel ("Two");subPanel2.add (label2);JPanel subPanel3 = new JPanel();subPanel3.setPreferredSize (new Dimension(300, 100));subPanel3.setBackground (Color.black);JLabel label3 = new JLabel ("Three");subPanel3.add (label3);JPanel subPanel4 = new JPanel();subPanel4.setPreferredSize(new Dimension(320,20));subPanel4.setBackground(Color.orange);JLabel label4 = new JLabel("My Panels");subPanel4.add(label4);// Set up primary panelJPanel primary = new JPanel();primary.setBackground (Color.white);primary.setPreferredSize(new Dimension(400,400));primary.add (subPanel4);primary.add (subPanel1);primary.add (subPanel2);primary.add (subPanel3);frame.getContentPane().add(primary);frame.pack();frame.setVisible(true);}}。

实验三 类和对象

实验三  类和对象
1、创建一个简单的表示矩形的Rectangle类,满足以下条件:
[1]定义两个成员变量height和width,表示矩形的长和宽,类型为整型
[2]定义一个getArea方法,返回矩形的面积
[3]定义一个getPerimeter方法,返回矩形的周长
[4]在main函数中,利用输入的2个参数分别作为矩形的长和宽,调用getArea和getPermeter方法,计算并返回矩形的面积和周长
[3]定义一个getD方法,有一个类型为MyPoint的对象参数,功能为返回当前对象和参数对象这两个坐标点的距离,返回值为double类型
[4]编写测试的main方法,调用getD计算两个点之间的距离
输入:
输入2行数据,总共4个有理数。每2个数据一组,表示一个点的x和y坐标,每行的2个数据用空格隔开。例如:
x_1=test.nextDouble();
y_1=test.nextDouble();
MyPoint mypoint_4=new MyPoint(x_1,y_1);
System.out.println("请输入第二个点的坐标,中间用空格隔开:");
x_2=test.nextDouble();
y_2=test.nextDouble();
Rectangle juxing=new Rectangle();
System.out.println("请输入矩形的长和宽,用空格隔开:");
height=rectangle.nextDouble();
width=rectangle.nextDouble();
rectangle.close();
Area=juxing.getArea(height, width);

C++上机实验报告 实验三

C++上机实验报告 实验三

实验三类与对象1.实验目的1.掌握类的定义和使用2.掌握类的定义和对象的声明3.复习具有不同访问属性的成员的访问方式4.观察构造函数和析构函数的执行过程5.学习类的组合使用方法6.使用VC++的debug调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。

2.实验要求1.定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。

其中,rank为枚举类型CPU_Rank,定义为enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7},frequency为单位是MHz的整型数,voltage为浮点型的电压值。

观察构造函数和析构函数的调用顺序。

2.定义一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等等,有两个公有成员函数run、stop。

cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,定义并实现这个类。

3. (选做)设计一个用于人事管理的People(人员)类。

考虑到通用性这里只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等等。

其中“出生日期”定义为一个“日期”类内嵌子对象。

用成员函数实现对人员信息的录入和显示。

要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、组合。

3.实验内容1.首先定义枚举类型CPU_Rank,例如enum CPU_Rank{P1=1, P2, P3, P4, P5, P6, P7},再定义CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等私有数据成员,定义成员函数run、stop,用来输出提示信息,在构造函数和析构函数中也可以输出提示信息。

在主程序中定义一个CPU的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用。

java实验报告三类和对象

java实验报告三类和对象

计算机与信息学院实验报告系软件系专业软件工程年级08级成绩姓名学号实验室T312 机号48实验时间2010年11月1日下午3、4节教师签字实验(三)类和对象一、实验目的和要求1.掌握类的构造函数的重载2.深入理解类和对象3.学习NetBeans中UML项目的创建类并生成相应代码的方法二、实验内容和原理设计一个复数类,能够完成复数之间的基本运算,重写方法toString(),使其能输出此复数(形式为:实部 + 虚部i)。

要求设计的复数类必须有三个构造函数,分别为无参数、1个参数和2个参数的构造函数,完成的基本运算包括两个复数的加、减、乘、除法和共轭复数。

三、实验环境1.硬件环境:2.软件环境:JDK1.5四、算法描述及实验步骤1.算法描述(可以用类图、流程图、伪代码或源程序描述)2.实验步骤●创建一个UML项目,并设计类Complex如下图●创建一个Java应用项目●把UML项目中的Complex自动生成代码到Java应用项目中●实现Complex类中的方法●进行编译●进行测试,使用的测试用例:输入:预期输出:…五、调试过程1.编译过程记录算法实现中发现的语法错误及改正以下代码不能实现预期的结果:应该改成如下代码:2.调试过程记录算法实现中发现的逻辑错误及改正,对每个测试用例,记录实际输出,并与预期输出进行比较,如果不同,分析产生错误的原因并改正。

输入:预期输出:实际输出:分析与预期结果一致。

六、实验结果用与测试用例不同的输入数据运行算法,写出得到的结果,并分析结果是否正确。

第一组输入:第二组输入:第一组输出结果:第二组输出结果:结果分析:两组的输出结果都正确。

七、总结不应该一开始就考虑怎么编写代码,而是应该想好其框架。

注意语法上的错误,而逻辑上的错误在改正上有很大的难度,在这方面要多加交流。

附录:import javax.swing.*;public class Complex {private double realPart;private double imaginaryPart;public Complex(){realPart = Double.parseDouble(JOptionPane.showInputDialog("Please enter the realpart:"));imaginaryPart = Double.parseDouble(JOptionPane.showInputDialog("Please enter the imaginarypart:"));}public Complex(double realPart){this.realPart = realPart;this.imaginaryPart = 0;}public Complex(double realPart,double imaginaryPart){this.realPart = realPart;this.imaginaryPart = imaginaryPart;}public double getRealPart(){return this.realPart;}public void setRealPart(double val){realPart = val;}public double getimaginaryPart(){return this.imaginaryPart;}public void setimaginaryPart(double val){imaginaryPart = val;}public Complex plus(Complex complex){Complex c = new Complex(realPart + complex.realPart,imaginaryPart + complex.imaginaryPart);return c;}public Complex minus(Complex complex){Complex c = new Complex(realPart - complex.realPart,imaginaryPart - complex.imaginaryPart);return c;}public Complex times(Complex complex){Complex c = new Complex(realPart * complex.realPart - imaginaryPart * complex.imaginaryPart,realPart * complex.imaginaryPart + imaginaryPart * complex.realPart);return c;}public Complex divideBy(Complex complex){double t = complex.realPart * complex.realPart + complex.imaginaryPart * complex.imaginaryPart;Complex c = new Complex((realPart * complex.realPart + imaginaryPart * complex.imaginaryPart)/t,(imaginaryPart * complex.realPart - realPart * complex.imaginaryPart) / t);return c;}public Complex conjugate(){Complex c = new Complex(realPart,-imaginaryPart);return c;}public String toString(){String str = "";if(realPart != 0 && imaginaryPart > 0)return str+realPart+"+"+imaginaryPart+"i"+"\n";if(realPart != 0 && imaginaryPart < 0)return str+realPart+imaginaryPart+"i"+"\n";if(realPart == 0 && imaginaryPart != 0){return str+imaginaryPart+"i"+"\n";}if(realPart == 0 && imaginaryPart == 0){System.out.println("重新输入:");}return str+realPart+"\n";}public static void main(String[] args){Complex c1 = new Complex();Complex c2 = new Complex();String output = "两个复数:\n"+c1+"\n"+c2+"\n"+"两个复数相加:\n"+c1.plus(c2)+"两个复数相减:\n"+c1.minus(c2)+"两个复数相乘:\n"+c1.times(c2)+"两个复数相除:\n"+c1.divideBy(c2)+"c1的共厄复数:\n"+c1.conjugate()+"c2的共厄复数:\n"+c2.conjugate(); JOptionPane.showMessageDialog(null,output);}}。

实验三:类与对象(bo)

实验三:类与对象(bo)

实验三Java类与对象【实验目的】1)理解面向过程与面向对象区别2)理解面向对象的三大特征3)掌握类声明的方法4)掌握构造方法5)掌握对象的创建方法与创建机制6)掌握成员变量、类变量和局部变量区别7)掌握成员方法与类方法区别8)掌握函数的重载9)掌握4种访问修饰符的区别【实验环境】JDK1.6+Eclpise3.2【实验准备】1)复习课件中理论知识2)练习课堂所讲的例子【实验内容】1、创建猴子类。

具体要求如下:1)编写一个类Monkey,用来表示猴子类;2)给Monkey类确定添加4个属性:3个实例成员变量(名字、体重、年龄)、1个静态成员变量(爱好:默认值为:吃香蕉);3)添加默认构造方法和有参构造方法(3个参数,分别给名字、体重和年龄赋初始值)4)编写展示猴子能够爬树(climbTree)的方法――提供两个参数传入:分别代码猴子的名字(name)和爬树的高度(height)(方法内只需打印猴子的”名字+会爬树,能爬+高度”)5)测试:在main方法中创建两个猴子对象monkey1(皮蛋、50、3)和monkey2(兰兰、45、2),monkey1使用默认构造方法创建,monkey2使用有参构造方法创建。

分别打印出monkey1和monkey2的名字、体重、年龄和爱好。

并调用monkey1和monkey2的爬树方法。

2、创建矩形Rectangle类。

具体要求如下:1)创建一个Rectangle类;2)创建属性:两个double成员变量:width和height。

3)创建方法:计算矩形的周长getLength()和面积getArea()。

4)测试:创建Rectangle对象,并给两个成员变量赋值,调用周长和面积的方法,输出周长和面积。

【实验过程及结果】实验代码及结果:1. package arp;public class Monkey {//创建类// 4个属性(成员变量)private String name;private int weight;private int age;private static String love="吃香蕉";public Monkey(){}//有参构造方法public Monkey(String name,int weight,int age) {=name;this.weight=weight;this.age=age;}//爬树public void climbTree(String name,int height){System.out.println(name+"会爬树,能爬"+height+"米");}//测试public static void main(String [] args){Monkey monkey2=new Monkey();="猪猪";monkey2.weight=50;monkey2.age=3;Monkey monkey3=new Monkey("猫猫",45,2);System.out.println(+"体重为"+monkey2.weight +"年龄为:"+monkey2.age+"爱好为:"+monkey2.love);System.out.println(+"体重为:"+monkey3.weight+"年龄为:"+monkey3.age+"爱好为:"+monkey3.love);monkey2.climbTree(,100);monkey3.climbTree(,88);}}2. package arp;//创建类public class Rectangle {//两个成员变量private double width;private double height;//计算周长public double getLength(){return (this.width+this.height)*2;}//计算面积public double getArea(){return this.width*this.height;}public static void main(String[] args) {Rectangle rectangle =new Rectangle();rectangle.width=100;rectangle.height=50;System.out.println("周长为:"+rectangle.getLength());System.out.println("面积为:"+rectangle.getArea());}}【实验感想】本次实验态度鲜明的提出了面向对象和面向过程的区别以及面向对象的三大特征,并由此引入了类的声明,对象的创建方法等实质性问题,在上机练习中通过创建相应的类,给我留下了对于类和对象的深刻认识,对于这些新接触的知识还要在进一步的学习中去感悟和理解它所包含的实在的东西。

类和对象实验报告c

类和对象实验报告c

类和对象实验报告c类和对象实验报告引言在计算机科学领域,类和对象是面向对象编程的核心概念。

类是一种抽象数据类型,用于描述对象的属性和行为。

对象是类的实例化,具有特定的属性和行为。

本实验旨在通过编写一个简单的类和对象的示例程序,深入理解类和对象的概念以及它们在程序设计中的应用。

实验过程1. 类的定义首先,我们需要定义一个类。

在这个示例程序中,我们选择创建一个名为"Person"的类。

这个类将代表一个人,具有姓名和年龄两个属性。

类的定义通常包括属性和方法两个部分。

2. 属性的定义在"Person"类中,我们需要定义两个属性:姓名和年龄。

属性可以是不同的数据类型,比如字符串、整数等。

在这个示例中,我们选择使用字符串类型来表示姓名,使用整数类型来表示年龄。

属性的定义通常包括访问修饰符、数据类型和属性名称。

3. 方法的定义除了属性,类还可以定义方法。

方法是类的行为,用于执行特定的操作。

在"Person"类中,我们选择定义一个"introduce"方法,用于介绍这个人的姓名和年龄。

方法的定义通常包括访问修饰符、返回类型、方法名称和参数列表。

4. 对象的创建一旦类定义完成,我们可以创建类的对象。

在这个示例中,我们可以创建一个名为"person1"的对象,代表一个具体的人。

对象的创建通常包括使用"new"关键字和调用类的构造函数。

5. 对象属性的访问和修改通过对象,我们可以访问和修改类的属性。

在这个示例中,我们可以通过""和"person1.age"来访问和修改"person1"对象的姓名和年龄。

6. 对象方法的调用通过对象,我们还可以调用类的方法。

在这个示例中,我们可以通过"person1.introduce()"来调用"person1"对象的"introduce"方法,从而介绍这个人的姓名和年龄。

类与对象实验报告

类与对象实验报告

类与对象实验报告类与对象实验报告引言在计算机科学领域,类与对象是面向对象编程的基本概念之一。

通过定义类,我们可以创建对象,从而实现对数据和行为的封装和抽象。

本实验旨在通过实际操作,深入理解类与对象的概念,并掌握其在程序设计中的应用。

实验目的1. 理解类与对象的概念和关系;2. 学会使用类和对象进行数据封装和行为抽象;3. 掌握类与对象在程序设计中的应用。

实验过程1. 类的定义在本实验中,我们以一个简单的学生类为例进行说明。

首先,我们需要定义一个类来表示学生。

在类的定义中,我们可以包含学生的属性和行为。

比如,学生的姓名、年龄、性别等属性,以及学生的学习、休息等行为。

2. 对象的创建在类的定义完成后,我们可以通过创建对象来实例化这个类。

对象是类的具体实例,每个对象都有自己的属性和行为。

比如,我们可以创建一个名为"张三"的学生对象,给该对象的属性赋值,并调用对象的方法来执行相应的行为。

3. 属性的访问和修改通过对象,我们可以访问和修改类中定义的属性。

比如,我们可以通过对象的属性来获取学生的姓名和年龄,并通过修改属性的值来更新学生的信息。

4. 方法的调用类中的方法是对行为的抽象,通过方法,我们可以对对象进行操作。

比如,我们可以调用学生对象的学习方法,来模拟学生的学习行为。

同时,方法也可以接受参数,以实现更加灵活的功能。

实验结果通过实验,我们成功创建了一个学生类,并实例化了一个学生对象。

通过对象的属性和方法,我们可以获取和修改学生的信息,同时也可以模拟学生的行为。

这样,我们就实现了对学生的封装和抽象,提高了程序的可读性和可维护性。

实验总结通过本次实验,我深刻理解了类与对象的概念和关系。

类是对一类具有相同属性和行为的对象的抽象,而对象则是类的具体实例。

通过定义类和创建对象,我们可以实现对数据和行为的封装和抽象,提高了程序的可读性和可维护性。

在实际的程序设计中,类与对象是非常重要的概念,对于理解和应用面向对象编程具有重要意义。

C++面向对象程序设计实验三 类和对象

C++面向对象程序设计实验三 类和对象

学长只能帮你到这了
}
要想学习好,努力少不了
3.2.2 程序设计
1.设计实现一个 CPoint 类,满足以下要求: a. 该类包含两个整型成员变量 x(横坐标)和 y(纵坐标) ,以及一个输出函数 Print() 用来输出横坐标和纵坐标,要求不可以在类的外部直接访问成员变量; b.可以采用没有参数的构造函数初始化对象,此时的成员变量采用默认值 0; c.可以采用直接输入参数的方式来初始化该类的成员变量; d.可以采用其它的 CPoint 对象来初始化该类的成员变量; e.设计一个主函数来测试以上功能。 #include<iostream> #include<iomanip> using namespace std; class CPoint{ public: void print() { cout<<x<<setw(6)<<y<<endl; } CPoint(){x=0;y=0;} CPoint(int x1,int y1) { x=x1; y=y1; } CPoint(CPoint &p) { x=p.x; y=p.y; } private: int x;
学长只能帮你到这了
要想学习好,努力少不了
ps.Print(); }
问题一:以上程序存在三处大错误,在不改变主函数内容的前提下,试改正该程序。 答:把成员函数都改成公有;函数的参数应该有数组或字符串的定义才可以传递“张三” 。 主函数中对构造函数的引用也有错。 class CPerson{ public: void Print(); CPerson(int ,char s[10]); private: int age; char *name; }; CPerson::CPerson(int a,char s[10]) { age=a; name=s; } void CPerson::Print() { cout<<"name="<<name<<",age="<<age<<endl; } void main() { CPerson ps(23,"张三"); ps.Print();
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3 个基本类都要定义相应的构造方法,对变量进行初始化。
(2) 编写一个账户类 Account, 它包括: 一个名为 id 的 int 型账号码属性, 一个名为 balance 的 double 型的账号余额属性,定义一个类型为 java.util.Date 的属性 dateCreated,用于记录账 号的创建日期。同时,定义无参的构造函数,一个名为 withDraw 的方法从账号提取特定数 目的金额,一个名为 deposit 的方法向账号存入特定数目的金额。请编写测试程序,测试各 个方法。 (3) 编写一个封装学生的类 Student, 能够描述学生的“学号”、 “ 姓名”、 “性别”、 “年龄”、 “平均成绩”等基本属性,及获取属性、修改属性的方法和打印学生基本信息的 print()方法。 要求生成两个学生对象,在构造方法中进行初始化,并打印每个学生的基本信息。 实验要求 1. 正确地定义类、方法和属性; 2. 学会方法的参数传递和返回值的用法; 3. 熟练使用类及其成员修饰符; 4. 使用构造函数创建类的对象; 5. 程序应包括各个被调用方法的执行结果的显示。 6. 写出实验报告。要求记录编译和执行 Java 程序当中的系统错误信息提示,并给出解 决办法。
实验 3 类与对象
实验类型:设计型 实验目的 (1)掌握 Java 类的结构、类的定义、方法和属性的定义以及对象的实现; (2)掌握类及其成员修饰符的使用;掌握构造函数的使用;方法的参数传递和返回值的 用法。 实验内容 (1) 编写 3 个基本类: Triangle, Ladder 和 Circle, 分别用来刻画“三角形”、 “梯形”和“圆 形”类; 1 个主类: Compute,负责计算每个形状的面积或周长。 具体要求: Triangle 定义 3 个变量:边长;和 1 个求周长的方法。 Ladder 定义 3 个变量:上底,下底和高;定义 1 个求面积的方法。 Circle 定义 1 个变量:半径;定义 2 个方法:求面积、求周长。

相关文档
最新文档