实验三_类和对象_()
- 格式:doc
- 大小:69.00 KB
- 文档页数:4
实验三类与对象实验目的●掌握类和对象的概念、定义和访问方法●掌握不同类型成员的访问限制●掌握构造函数和析构函数的使用方法实验示例[例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<<"今天是该雇员的生日。
java基础实验报告Java基础实验报告引言:Java作为一种面向对象的编程语言,广泛应用于软件开发领域。
本次实验旨在通过一系列的实验任务,加深对Java基础知识的理解,并掌握Java编程的基本技巧。
实验一:Java环境搭建在本实验中,我们首先需要搭建Java开发环境。
Java开发工具包(JDK)是进行Java编程的基础,我们可以从Oracle官网上下载并安装最新版本的JDK。
安装完成后,我们需要配置环境变量,以便在命令行中能够直接运行Java相关的命令。
实验二:Java语言基础Java语言基础是进行Java编程的基石。
在本实验中,我们需要掌握Java的基本语法规则、数据类型和运算符等。
通过编写简单的程序,如计算两个数的和、判断一个数是否为素数等,加深对Java语言基础的理解。
实验三:面向对象编程面向对象编程是Java的核心特性之一。
在本实验中,我们需要学习Java中的类和对象的概念,并通过编写简单的类和对象来实现一些功能。
例如,创建一个学生类,包含姓名、年龄和成绩等属性,并实现一些与学生相关的操作方法。
实验四:异常处理异常处理是Java编程中重要的一部分。
在本实验中,我们需要学习Java中的异常处理机制,并通过编写代码来处理可能出现的异常情况。
例如,通过try-catch语句来捕获并处理用户输入非法字符的异常。
实验五:文件操作在实际的软件开发中,文件操作是非常常见的需求。
在本实验中,我们需要学习Java中的文件操作相关的类和方法,并通过编写代码来实现文件的读取和写入等功能。
例如,读取一个文本文件中的内容,并将其写入到另一个文件中。
实验六:多线程编程多线程编程是提高程序性能和效率的一种方式。
在本实验中,我们需要学习Java中的多线程编程相关的知识,并通过编写代码来实现多线程的应用。
例如,创建多个线程来同时下载多个文件,并实现进度条的显示。
结论:通过完成以上一系列的实验任务,我们对Java基础知识有了更深入的理解,并掌握了Java编程的基本技巧。
实验报告_实验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)二维数组如何声明、创建?二维数组的列数是否一定要求相同?答:数据类型数组名[ ][ ] 或数据类型[ ][ ] 数组名;不要求相同。
面向对象程序设计(C++)实验报告指导老师:***学生:吴健班级:软131学号:*********目录实验一、VC6.0环境入门与简单程序设计实验报告 (3)实验二、函数的应用实验报告 (7)实验三、类与对象实验报告 (14)实验四、C++程序结构实验报告 (22)实验五、数组、指针与字符串实验报告 (26)实验六、继承和派生实验报告 (33)实验七、多态性实验报告 (42)实验八、面向对象综合实验实验报告 (48)实验一、VC6.0环境入门与简单程序设计实验报告系软件工程班级 131 学号 139074164 姓名吴健同组者指导教师柯栋梁一、实验目的:1、熟悉VC++6.0开了环境并编写简单的C++程序。
3、使用C++语言编写简单的输入输出程序。
4、使用VC++6.0的DEBUG调试功能:单步执行、设置断点、观察变量值。
二、实验内容:1、使用VC++建立一个标准C++程序,编译、运行如下程序:#include<iostream〉Int main(){Cout〈<”Hello World!\n";Cout<<”Welcome to C++!\n";}2、编程计算图形的面积。
程序可计算圆形、长方形、正方形等的面积,运行时首先提示用户选择图形类型,然后根据不同图形类型,输入相关参数计算其面积,并将其显示出来.3、使用DEBUG功能观察任务2程序运行中变量值的变化情况.三、实验要求:1、任务1要求熟悉VC++开发环境,并能够使用其建立第一个C++程序.2、实验前要做好充分准备,包括程序清单、调试步骤、调试方法,以及对程序结果的分析等。
四、实验报告:1.程序运行截图2.面积计算1、程序说明。
用if -else语句进行选择程序功能,while语句实现功能的循环实现程序如下:#include〈iostream>#include〈cmath〉using namespace std;int main(){cout〈<”1计算圆面积”<〈endl〈<"2计算矩形面积"<〈endl〈<"3计算正方形面积”〈〈endl<<"4退出"〈〈endl<<"请选择相应功能代码:”;int x; //x对应编号cin〉>x;double area;while(x!=4){if(x==1){double r;cout〈〈"半径:";cin〉>r;area=3。
个人收集整理-ZQ课程名称面向对象程序设计实验项目名称类与对象基础实验(三)学生姓名专业班级学号一. 实验目地和要求.掌握大数处理与类.掌握时间处理类与类、类.掌握异常处理与类二. 实验内容. 编程实现:大整数地数值计算. 编程实现:用大整数求阶乘之和. 编程实现:计算两个日期地天数之差. 编程实现:计算生日信息. 编程实现:数字转换地异常处理三. 实验结果与分析(可将程序运行结果截屏,也可分析运行结果). 编程实现:大整数地数值计算.编写一个应用程序,计算两个大整数地和、差、积和商,并计算一个大整数地因子个数.(部分源码参考讲义)文档来自于网络搜索请分析并回答以下问题:程序源码如下:请将运行结果截图:请比较和地主要区别,并简要说明地主要用途.答:. 编程实现:用大整数求阶乘之和.编写一个应用程序,用计算!…!.要求地值从键盘输入.文档来自于网络搜索请分析并回答以下问题:程序源码如下:请将运行结果截图:. 编程实现:计算两个日期地天数之差.编写应用程序,来计算任意两个日期地天数之差.要求:两个日期用字符串形式输入(比如输入“”表示年月日),需要将日期字符串地年、月、日分别转换为数字形式.文档来自于网络搜索程序源码如下:请将运行结果截图:. 编程实现:生日信息.编写应用程序,计算你地生日还有多少天,你地生日是星期几. 程序源码如下:请将运行结果截图:. 编程实现:数字转换地异常处理.输入两个数,计算两个数想除地结果(考虑除数为地异常情况).程序源码如下:请将运行结果截图:四. 讨论、心得(可写遇到地问题及解决方法,或者对技术地理解等)1 / 1。
java类与对象实验报告Java类与对象实验报告一、引言Java是一种面向对象的编程语言,类和对象是Java编程的基本概念。
在本次实验中,我们将学习和掌握Java类和对象的概念、定义和使用方法,并通过实际的编程实验来加深对这些概念的理解。
二、实验目的1. 理解Java类和对象的概念;2. 学会定义和使用Java类;3. 掌握创建和操作Java对象的方法;4. 熟悉Java类和对象的相关语法和规范。
三、实验过程1. 类的定义在Java中,类是对象的模板,用于描述对象的属性和行为。
我们首先需要定义一个类,以便创建对象。
类的定义包括类名、属性和方法。
属性即对象的特征,方法即对象的行为。
2. 对象的创建通过使用关键字"new",我们可以创建一个类的对象。
对象是类的实例化,每个对象都有自己的属性和方法。
3. 对象的属性和方法对象的属性和方法可以通过对象名加点操作符来访问。
属性可以是基本类型或其他类的对象,方法可以是对象的行为或功能。
4. 构造方法构造方法是一种特殊的方法,用于创建对象时进行初始化操作。
构造方法的名称必须与类名相同,没有返回类型,可以有参数。
5. 封装性封装性是面向对象编程的重要特性之一,它将数据和方法封装在类中,对外部隐藏内部实现细节。
通过使用访问修饰符(private, public, protected)来控制属性和方法的访问权限。
6. 继承继承是面向对象编程的另一个重要特性,它允许我们创建一个新类,并从现有类中继承属性和方法。
通过使用关键字"extends"来实现继承。
7. 多态性多态性是面向对象编程的核心概念之一,它允许我们使用一个父类类型的引用来引用子类的对象。
通过方法的重写和重载来实现多态性。
四、实验结果通过本次实验,我们成功定义了一个Java类,并创建了多个对象。
我们可以通过对象名来访问对象的属性和方法,并对其进行操作。
我们还学习了构造方法的使用,以及封装性、继承和多态性的相关概念。
实验三类与对象实验三类与对象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设计一个做加减乘除基本运算的类,实现在主函数中输入要计算的两个数,通过菜单的形式选择做加减乘除运算后,计算输出相应的计算结果。