《面向对象程序设计》实验指导书

合集下载

《面向对象程序设计》实验指导书

《面向对象程序设计》实验指导书

实验一熟悉Visual Basic集成开发环境一、实验目的1.了解Visual Basic语言的功能特点。

2.熟悉Visual Basic的开发环境。

3.掌握建立、编辑和运行一个简单的VB应用程序的全过程。

二、实验内容创建一个“标准EXE”类型的应用程序。

要求学生建立、编辑、调试、运行和保存简单的VB程序。

三、实验步骤1.熟悉Visual Basic的开发环境。

(1)定制第一个开发环境。

1)单击“工程窗口”、“属性窗口”、“窗体布局窗口”及“工具箱窗口”右上角的关闭按钮2)单击Form,将Form窗口放到最大。

(2)定制第二个开发环境。

1)选择“视图”菜单中的“工程资源管理器”选项,显示“工程资源管理器”窗口。

2)选择“视图”菜单中的“属性窗口”选项,显示“属性窗口”。

3)选择“视图”菜单中的“窗体布局窗口”选项,显示“窗体布局窗口”。

4)选择“视图”菜单中的“工具箱”选项,显示“工具箱”窗口。

5)将“工程资源管理器”、“属性窗口”、“窗体布局窗口”、“工具箱”四个窗口用鼠标拖动到合适的位置。

(3)增加窗体。

单击“工程”菜单中的“添加窗体”选项,或者在“工程资源管理器”中的“工程”图标上单击鼠标右键,系统弹出一个快捷菜单,选择“添加窗体”选项,将在Form1的基础上添加一个窗体Form2。

(4)增加标准模块。

单击“工程”菜单中的“添加模块”选项,可增加一个标准模块Module1,再单击一次增加第二个便准模块Module2;或者在“工程资源管理器”中的“工程”图标上单击右键,系统弹出一个菜单,将鼠标移到“添加”菜单,选择“添加模块”选项,将在工程1种添加一个标准模块Module1,在选择“添加模块”选项,将在工程1种添加第二个标准模块Module2。

(5)增加类模块。

单击“工程”菜单中的“添加类模块”选项,或者在“工程资源管理器”中的“工程”图标上单击鼠标右键,系统弹出一个菜单,将鼠标移到“添加”菜单,选择“添加类模块”选项,将在工程1种添加一个类模块Class1。

《面向对象程序设计》实验指导书(实.doc

《面向对象程序设计》实验指导书(实.doc
{ int i;float sum=0;
m=n;
①;
aver=sum/m;
}
void score::set_score(float x[],int n) //提供成绩
{ int i;float sum=0;
m=n;
②;
aver=sum/m;
}
void score::print_score(void) //输出成绩、平均成绩
score(void); //无参构造函数
score(float x[],int n); //构造函数重载——初始化成绩
void set_score(float x[],int n); //提供成绩
float get_score(int i) //得到第i科成绩
{return sc[i];}
float get_aver(void) //得到平均成绩
③在实际应用中,在定义类时通常应定义一至多个构造函数(重载),以对各数据成员进行初始化;如果不给出构造函数,系统将自定义一个构造函数。
④构造函数可以可以带参数,也可不带任何参数(称无参构选函数),还可以使用缺省参数。
⑤不能象普通成员函数一样单独调用。
2.析构函数
⑴析构函数的定义
格式:
~类名(void)
③默认拷贝构造函数是一种浅拷贝,当在类中定义有指针数据成员,用new分配内存空间时,通常应显示定义相应的拷贝构造函数。
㈡对象数组与对象指针
1.对象数组
⑴可以定义对象数组处理多个对象。
⑵可以用缺省参数构造函数为对象数组赋初值。
2.对象指针
可以使用指针来使用对象或对象数组。方法:
⑴定义对象指针;
⑵将指针指向某一对象(或对象数组);

《面向对象程序设计》实验指导书(选修)

《面向对象程序设计》实验指导书(选修)

《面向对象技术》实验指导专业:_________________学号:_________________姓名:_________________教师:_________________目录实验一类与对象 (4)一.实验目的 (4)二.实验内容 (4)三.提高练习 (6)四.程序清单 (7)实验二友元 (8)一.实验目的 (8)二.实验内容 (8)三.提高练习 (9)四.程序清单 (10)实验三模板 (11)一.实验目的 (11)二.实验内容 (11)三.提高练习 (12)四.程序清单 (13)实验四重载 (15)一.实验目的 (15)二.实验内容 (15)三.提高练习 (17)四.程序清单 (18)实验五继承性与派生类 (19)一.实验目的 (19)二.实验内容 (19)三.提高练习 (22)四.程序清单 (23)实验六多态性与虚函数 (25)一.实验目的 (25)二.实验内容 (25)三.提高练习 (28)四.程序清单 (29)实验七输入输出流、文件流与异常处理 (31)一.实验目的 (31)二.实验内容 (31)三.提高练习 (32)四.程序清单 (33)实验八面向对象分析、设计综合实验 (35)一.实验目的 (35)二.实验内容 (35)三.提高练习 (36)四.程序清单 (37)附录:课程设计题目 (39)第1题:设计一个学生学籍管理系统 (39)第2题:设计一个循环链表,用来表示大整数 (39)第3题:设计一个模拟电信计费程序 (39)第4题:设计一个保留字(或关键字)的统计程序 (40)第5题:设计一个文本行编辑程序 (40)第6题:设计一个数据文件处理程序 (40)第7题:设计一个超长整数类 (41)第8题:设计一个随机读写文件程序 (41)第9题:设计一个图形类体系 (41)第10题:设计一个简单生命仿真程序 (41)总结《面向对象方法》课程 (42)《面向对象方法》实验报告学号:姓名:实验一类与对象一.实验目的●学习类与对象的定义,声明和使用方法●数据成员与成员函数的访问权限●构造函数和析构函数的作用●重载成员函数●对象指针和对象数组●成员指针●静态数据成员和静态成员函数●嵌套类和子对象●常对象二.实验内容第Ⅰ题:基本练习1.定义一个矢量类Vector,其结构如下:●私有数据成员int x,y; 表示二维矢量的两个分量●构造函数实现初始化数据成员●输出数据成员函数void display( );●类外访问数据成员函数int getx( );int gety( );●功能成员函数实现矢量加、减、乘运算Vector Add(const Vector &ob2 );Vector Sub(const Vector &ob2 );int Mult(const Vector &ob2 );2.在Vector 类的基础上,定义矩阵类Matrix(2*2阶),其结构如下:●私有数据成员Vector lefttop,righttop,leftbottom,rightbottom; 表示2*2阶矩阵的四个元素。

Java面向对象程序设计语言课程设计指导书(精选5篇)

Java面向对象程序设计语言课程设计指导书(精选5篇)

Java面向对象程序设计语言课程设计指导书(精选5篇)第一篇:Java面向对象程序设计语言课程设计指导书山东建筑大学商学院电子商务专业《Java面向对象程序设计语言》课程设计(实验)指导书一、对学生的基本要求:1、理论联系实际、严肃认真、实事求是的科学态度和勇于探索的创新精神。

2、运用所学基础理论与专业知识分析和解决实际问题,培养独立思考完成任务的能力。

3、运用Java面向对象程序设计方法、标准与规范开发小型应用软件系统。

二、设计的要求及内容及要求:应用Java面向对象程序设计语言开发小型应用软件系统。

可以从给定的选题中选择一个课题或自拟课题(自拟课题需经指导教师批准),完成系统分析、设计和开发。

具体要求如下:(1)针对你所选择的系统进行需求分析,写出系统的功能要求,设计的应用程序应具有的功能要素。

(2)程序代码应符合教学中应该具有的规范要求,类名、方法名,属性名称应与设计中实际的应用含义相符,程序中具有相应的注释。

(3)程序的界面要合理、美观。

(4)每人最终提交一个可行的应用软件程序和规范的课程设计说明书。

说明书应严格按照说明书的要求,格式清晰、规整。

并提交所设计程序的电子文档。

三、设计进度:1、17周周一~周二:选题,系统的需求分析。

分析并规划你所设计的系统应达到的功能,满足什么样的要求。

2、17周周二~周四:系统设计。

分析要达到你所要求的功能需要编写什么类,规划类的层次结构,设定好类明、方法名、属性名;规划你所设计的系统应具有什么样的界面布局。

查阅资料帮助自己规划好你的系统。

3、17周周五~18周周二:程序设计。

根据自己所规划的程序进行具体代码设计,代码设计要符合程序设计的规范要求,注意程序的编写格式。

4、18周周三:程序测试。

对自己所规划的程序进行测试,看是否有异常及程序Bug出现,并进行调试修正程序代码。

5、18周周三:编写课程设计说明书。

按照本指导书要求格式编写程序设计报告(见附件)。

面向对象程序设计实验指导书1

面向对象程序设计实验指导书1

《面向对象程序设计》实验指导书2013.11.13目录实验1 VC++ 6.0开发环境应用入门实验2 C++简单程序设计实验3 函数的应用实验1 VC++ 6.0开发环境应用入门一、实验目的(1)了解Visual C++ 6.0的特点。

(2)熟悉Visual C++ 6.0的开发环境。

(3)学习用Visual C++ 6.0编写标准的C++控制台程序。

二、实验任务使用Visual C++ 6.0建立一个非图形化的标准C++程序,编译、运行以下程序:#include <iostream>using namespace std;int main(){cout<<"Hello! \n";cout<<"Welcome to C++! \n";}三、实验步骤1. 启动Visual C++ 6.0开发环境从“开始”菜单中选择“程序”| Microsoft Visual C++ 6.0| Microsoft Visual C++ 6.0,显示Visual C++ 6.0开发环境主窗口。

2. 创建一个项目单击File菜单中的New选项显示New(新建)对话框。

单击Projects标签,在Projects(项目)选项卡中,选择Win32 Console Application(Win32控制台应用程序)。

在Location(位置)文本框中指定一个路径,在Project Name(项目名称)文本框中为项目输入一个名字“lab1_1”,单击OK(确定)按钮。

在弹出Win32 Console Application-Step 1 of 1对话框中选择An empty project单选项,然后单击Finish(完成)按钮。

最后在New Project Information 对话框中单击OK按钮,完成项目的建立。

3. 建立C++源程序文件选择菜单命令Project | Add to Project | New对话框。

《面向对象程序设计》实验指导书 (1-6个实验,含参考代码)要点

《面向对象程序设计》实验指导书 (1-6个实验,含参考代码)要点

面向对象程序设计实验指导书(适用:电子信息11级)彭召意陶立新编写计算机与通信学院2014.9目录实验一 C++基础的应用 (1)实验二类和对象的应用 (3)实验三类的构造函数、析构函数的应用 (4)实验四友员和运算符重载 (5)实验五类的继承与派生 (6)实验六类的多态性与虚函数 (7)附录:各实验的程序代码 (8)实验一 C++基础的应用(实验课时:2 实验性质:设计)实验名称: C++基础的应用实验目的: (1)进一步学习VC++6.0开发环境及程序调试方法。

(2)练习C++函数的定义及使用;(3)练习C++数组的定义及使用;(4)练习C++指针的定义及使用;(5)练习C++结构体的定义及使用;(6)练习多文件的程序的编译和运行方法;实验设备:(1)硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB);(2)软件:操作系统为WindowsXP(或2000、server2003等),工具软件为Visual C++6.0。

实验内容: (1)熟悉Visual C++6.0编译系统的常用功能,特别是debug调试功能;(2)编程1:编写一个程序c1.cpp,用来求2个或3个整数的最大数。

要求:用重载函数的方法来求最大数;函数原型:int max( int a, int b) 和int max( int a, int b,int c)。

(3)编程2:编写一个程序c2.cpp,求:a!+ b! + c!的值。

要求:使用递归函数。

主程序和函数分开到两个源程序文件中,分别进行编译后,再运行;(4)编程3:有一个3*4的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的行号和列号;(5)编程4:建立一个动态链表并进行输出和删除管理。

链表的每个节点为学生信息,包括:学号,姓名,性别,下一学生信息的指针。

程序的工作:(a)建立三个学生信息的节点,然后顺序输出该三个学生信息;(b)删除中间的节点,再顺序输出学生信息。

面向对象程序设计实验指导书

面向对象程序设计实验指导书
问题一:上述程序的输出结果是什么? 答: x1=6
x2=4 d1=5.6 d2=12 问题二:①处调用的是哪个函数? 答:调用的是 int max_def(int x, int y, int z) { int temp = 0; return (temp=(x>y?x:y))>z?temp:z; } 问题三:②处的输出结果为什么是 d2=12,而不是 d2=12.3? 答:因为①处调用的是整型函数,d2 在此函数中被转换为整型,小数点后面被删除。 2.理解下面的程序并运行,然后回答问题。
7
} private:
int month; };
int day;
int year;
void main() {
CDate a; --------------------------.Set(10,15,2007) ; a.Print(); }
1.2 实验内容
1.2.1 程序阅读
1.理解下面的程序并运行,然后回答问题。
#include <iostream.h>
int max_def(int x, int y) {
return (x>y?x:y); } int max_def(int x, int y, int z) {
int temp = 0; return (temp=(x>y?x:y))>z?temp:z; } double max_def(double x, double y) { return (x>y?x:y); } int main() { int x1 = 0;
试设计一个复数类该类有实部和虚部两个成员数据数据成员采用私有访问权限同时该类有两个公有成员函数分别用来设定数据成员的值和输出数据成员的值在主函数中分别采用对象方式指针方式和引用方式来调用该类的公有函数并设置和输出数据成员的值

#《面向对象程序设计》(C++)实验指导书

#《面向对象程序设计》(C++)实验指导书

实验 1 类和对象1.1实验目的和要求(1) 理解类和对象的概念,掌握声明类和定义对象的方法。

(2) 掌握构造函数和析构函数的实现方法。

(3) 初步掌握使用类和对象编制C++程序。

(4) 掌握对象数组、对象指针和string类的使用方法。

(5) 掌握使用对象、对象指针和对象引用作为函数参数的方法。

(6) 掌握类对象作为成员的使用方法。

(7) 掌握静态数据成员和静态成员函数的使用方法。

(8) 理解友元的概念和掌握友元的使用方法。

1.2实验内容和步骤1.输入下列程序//test4-1.cpp#include<iostream>using namespace std;class Coordinate{ public:Coordinate(int x1,int y1){ x=x1;y=y1;}Coordinate(Coordinate &p);~Coordinate(){ cout<<”Destructor is calleded\n”;}int getx(){return x;}int gety(){return y;}private:int x,y;};Coordinate::Coordinate(Coordinate &p){ x=p.x;y=p.y;cout<<”copy-initialization Constructou is called\n”;}int main(){ Coordinate p1(3,4);Coordinate p2(p1);Coordinate p3=p2;cout<<”p3=(“<<p3.getx()<<”,”<<p3.gety()<<”)\n”;return(0);}(1)写出程序的运行结果。

(2)将Coordinate类中带有两个参数的构造函数进行修改,在函数体内增添下述语句:cout<<”Constructor is called.\n”;写出程序的运行结果,并解释输出结果。

面向对象程序设计实验指导书

面向对象程序设计实验指导书
测试系统:对系统进行测试,确保系统正常运行
设计系统架构:根据需求,设计系统的整体架构
编写代码:根据类结构,编写实现系统功能的代码
设计类结构:根据系统架构,设计系统的类结构
实现一个基于面向对象思想的数据库访问层
设计数据库表结构
创建数据库连接类
实现数据库操作类,包括增删改查等方法
编写测试代码,验证数据库访问层的功能
修复问题:根据定位的问题,修改代码,解决问题。
定位问题:如果程序输出不符合预期,需要根据日志和调试信息,定位问题的位置和原因。
04
实验总结
总结实验过程和结果
实验目的:掌握面向对象程序设计的基本概念和方法
实验内容:设计并实现一个简单的面向对象程序,包括类定义、对象创建、方法调用等
实验结果:程序能够正常运行,满足设计要求
03
实验步骤
设计类和对象
确定类名和属性
添加标题
设计类的方法
添加标题
创建对象并初始化属性
添加标题
调用对象的方法
添加标题
实现类的属性和方法
定义类:确定类的名称和属性
初始化属性:为属性赋值
实现方法:编写类的方法实现
调用方法:在主程序中调用类的方法
实现类的继承和多态
子类重写父类的方法
定义父类和子类
子类继承父类的属性和方法
使用多态性,实现子类方法的调用
测试和调试程序
编写测试用例:根据需求文档和设计文档,设计出能够覆盖所有功能点的测试用例。
优化程序:在测试和调试过程中,可能会发现一些可以优化的地方,可以根据实际情况进行优化。
回归测试:修复问题后,需要重新执行测试用例,确保问题已经被修复,并且没有引入新的问题。

面向对象程序设计实验指导书

面向对象程序设计实验指导书

《面向对象程序设计》实验指导书实验报告应包括的内容:班级,姓名,学号一、实验目的:二、实验内容:三、源程序四、实验结果一、实验基本步骤•打开Microsoft Visual C++ 6.0,选择[File] 一〉[New]—〉[File]—〉选择C++ Source File,在File里输入要保存的文件名;Location:选择要保存的文件路径,将默认的路径改为以自己名字命名的文件夹,建立一源程序文件。

如图1所示。

图1 建立源文件•按照所给的程序代码输入到计算机中,用[File] 一〉[Save All]存盘,或用存盘。

检查源程序,并编译运行,如图2所示。

编译过程中如有语法错误,可参考最下端提示信息。

如图3所示。

图2 保存、编译源程序图3 错误提示信息说明:在C++程序中如果使用了系统提供的一些功能(如cin和cout),就必须在程序的首部首先声明相关的包含这些功能的头文件(如iostream.h),否则,系统无法找到实现这些功能的代码。

在C++语言中一个头文件就是一个类库,类与类的预定义对象就包含在其中。

所以,在使用这些类库中所包含的预定义对象时,必须在程序首部加以声明。

注意:如运行完一个程序,再建立一个新的源程序时,可将以前运行完的程序注释掉,如图4所示。

如果不选用此方法,要重新建立源程序,应将当前工作区关闭,而不能只关闭当前源程序文件。

关闭工作区方法:[File]—〉Close W orkspace。

如图5所示。

工作区关闭以后,再按开始的方式选择[File] 一〉[New]—〉[File]—〉选择C++ Source File。

图4 注释程序界面图5 关闭工作区界面实验内容实验一C++程序设计基础练习一、实验目的1、学习编写简单的C++程序,并掌握C++程序的基本格式与规范。

2、理解C++程序结构的特点。

3、学习C++程序基本的输入输出操作。

4、学习数据类型常量和变量以及修饰符的使用。

5、学习基本的函数定义与调用方法。

面向对象程序设计实验指导书

面向对象程序设计实验指导书

面向对象程序设计实验指导书汤亚玲,胡增涛,邰伟朋编写专业______网络工程_________班级________网111________学号___119074292____________参考资料姓名_______黄飞_________安徽工业大学计算机学院二 0 0 8 年 3月参考资料目录《面向对象编程技术》实验指导书说明...实验一、C++开发环境应用入门(2学时)(选做)实验二、简单程序设计(2~4学时)...实验三、函数的应用(2学时)(选做)实验四、类与对象(2学时)实验五 C++程序的结构(2学时)...实验六数组、指针与字符串(2学时)...实验七、继承与派生(一、二)4学时...实验八、多态性2学时...附录1 试验报告参考格式...参考资料《面向对象编程技术》实验指导书说明一、实验目的:C++是当今最流行的高级程序设计语言之一,应用十分广泛。

它也是一门复杂的语言,与C语言兼容,既支持结构化的程序设计方法,也支持面向对象的程序设计方法。

本课程的目的在于通过试验,让学生掌握用Visual C++6集成开发环境编写和调试程序。

掌握C++语言的概念、语法规则和编程方法,理解结构化的程序设计和面向对象程序设计的基本思想,会用结构化的程序设计和面向对象的程序设计方法,培养开发具有一定难度程序的编程能力。

二、适应专业:计算机科学与技术及其它相关专业三、实验学时数:20学时四、实验内容及学时安排:参考资料实验一:C++开发环境应用入门学时数:2学时实验内容:Visual C++的开发环境,学会编写简单C++程序并且编译、调试、运行。

1、实验目的了解C++开发工具的特点熟悉C++开发环境学习用C++编写标准的C++程序2、实验任务使用C++来建立一个非图形化的标准C++程序,编译、运行下例程序:#include <iostream.h>void main(void){cout<<”Hello!\n”;cout<<”Welcome to C++!\n”;}3、实验步骤启动Visual C++或C++Builder开发环境创建一个项目单击File菜单中的New选项,显示示新建对话框选择Console Wizard(C++Builder) 或Win32 Console Application(VC++)。

《面向对象程序设计》实验指导书

《面向对象程序设计》实验指导书

《面向对象程序设计》实验指导书《面向对象程序设计》课程实验教学1实验1 Java开发环境安装与配置1,实验目的:1。

JDK大师,Eclipse安装步骤2。

理解环境变量PATH、CLAPHERS的角色,以及Eclipse的配置3.熟悉Eclipse的编辑、编译和调试环境,编写一个简单的应用程序来编译、执行和完成调试2。

实验内容:熟悉JDK的安装和配置,学习如何编写和运行简单的应用程序(可以输出简单的问候信息);3.实验要求:1。

JDK2可以正确安装。

熟悉环境变量路径和类路径的设置方法,熟悉编辑环境。

3.调试程序,编译并在运行后得到正确的结果。

4.实验步骤: 1。

从/TechNet/Java/index . html下载JDK的最新版本并安装2。

设置环境变量路径、类路径,使Java程序能够正确编译和执行3.在Eclipse环境下编写一个HelloWorld.java程序,(1)调用主方法中的System.out.println()方法,使程序输出一个问候消息;(2)编译运行程序,观察运行情况并输出结果(使用JDK环境,调用Java . exe和java.exe编译器和执行器)2实验2 Java语言基础1,实验目的:熟悉Java基本语法,基本数据类型,各种运算符和表达式的使用,掌握运算符优先级,熟悉Java选择语句,循环语句二。

实验内容: 1。

编译Java应用程序以输出1900年到XXXX之间的所有年份(闰年的标准:可被4整除而不是100整除,或可被400整除);2.金字塔:Pyramid.java在屏幕上显示由星号“*”组成的金字塔图案。

示例如下:* * * * * * * * * * * * *要求:金字塔高度H可由用户设定3。

实验要求:1。

正确使用Java语言选择语句、循环语句;2.调试程序,编译,运行后得到正确的结果3。

写实验报告在编译和执行Java程序时,需要记录系统错误信息并给出解决方案。

《面向对象程序设计》实验指导书

《面向对象程序设计》实验指导书

《⾯向对象程序设计》实验指导书《⾯向对象程序设计》实验指导书郭⽟柱⼴东商学院信息学院⼆0⼀0 年⼗⼆⽉⽬录实验⼀ Java基础实验实验⼆ Java⾯向对象特性试验--Java中的类、对象和⽅法实验三类的继承、多态、接⼝、访问控制符与修饰符实验四 Java资源及其利⽤实验五 Java 语⾔的异常处理实验六输⼊输出流实验七图形⽤户界⾯设计实验⼋ Java Applet及多线程试验附录1 实验报告格式实验⼀ Java 基础实验⼀、实验⽬的与要求1. 学习编写简单的Java 程序。

2. 学习掌握Java 基本数据类型及其基本运算。

3. 学习掌握Java 的基本流程控制语句。

⼆、相关知识1. 了解JDK 的⼯作环境,以及如何使⽤JDK 进⾏编程。

2. 熟悉集成软件 eclipse3.5及其使⽤。

⼆、实验内容1. 编写Hello.java 程序并运⾏。

2. ⽤Java 语⾔编写⼀个应⽤程序在屏幕上输出1000之内的素数。

3. ⼀个数如果恰好等于它的因⼦之和,这个数就称为“完数”,⽐如28=1+2+4+7+14。

编写⼀个应⽤程序在屏幕上输出1000之内的完数。

4. 求满⾜1!+2!+3!+ …+n!≤9999的最⼤整数n 。

5. ⼀个三位的整数如果它的各位数字的⽴⽅之和等于这个三位数,就称此数为⽔仙花数,⽐如 333173371++=,编写⼀个应⽤程序在屏幕上输出所有⽔仙花数。

6. 下⾯程序的输出结果是什么?实验⼆ Java⾯向对象特性试验-Java中的类、对象和⽅法⼀、实验⽬的与要求1. 掌握类的定义和使⽤。

2. 掌握对象的声明、创建和使⽤。

3. 掌握构造⽅法的定义和使⽤。

4. 掌握类⽅法(静态⽅法)和⾮类⽅法(⾮静态⽅法)的区别和使⽤。

5. 掌握成员变量和局部变量的区别和使⽤。

⼆、实验内容1. 编写⼀个Java程序,定义⼀个表⽰学⽣的类,类名Student,其成员变量有:学号、班级姓名、性别、年龄;成员⽅法:(1)获得班号(2)获得姓名(3)获得年龄(4)修改年龄;创建⼀个Student的对象,修改该对象的年龄,并输出该对象的年龄。

《面向对象程序设计》实验指导书

《面向对象程序设计》实验指导书

《面向对象程序设计》实验指导书第一部分实验教学大纲课程名称:面向对象程序设计实验一、课程简介及基本要求面向对象的程序设计是一门实践性很强的课程,每个学生必须完成一定数量的上机作业。

通过上机作业进一步加深对课程基本内容的理解。

同时,在程序设计方法及上机操作等基本技能和科学作风方面受到比较系统的、严格的训练。

由于学生编程和上机的熟悉程度往往差别较大,本大纲所要求的实验为每个学生必须完成的实验,即最低要求。

其它上机内容由学生在教师指导下自选,内容可以是习题中编写的程序,也可以是学生解决实际问题中所编写的程序。

二、实验课程目的与要求实验课是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。

本课程使学生熟悉C++的语法特性,了解C与C++的区别和兼容性;理解面向对象程序设计的基本原理,包括类、对象、抽象、封装、继承和多态性等关键要素以及其关键语法特性—类;掌握用C++编写面向对象程序的一般方法;了解VC++编程环境。

三、主要仪器设备PC机器一台。

装有C++builder 或Visual C++或其他的C++编译软件。

四、实验方式与基本要求要求把每次实验的程序文本和运行结果通过邮件方式发送给实验指导老师.五.考核与报告本课程实验考试方式是考查,按一般课程考试方式进行,主要内容包括实验操作和实验报告,实验成绩占该课程形成性考核成绩的30%。

实验报告的规范:实验完成后填写统一的实验报告,给出实验内容题目、年级、姓名、学号、指导教师、完成日期,并详细填写:实验目的、实验程序、实验结果及分析、存在的问题。

实验0、C++开发环境应用(课外实验 2学时)1、实验目的(1)了解C++开发工具的特点(2)熟悉C++开发环境(2)学习用C++编写标准的C++程序2、实验任务使用C++来建立一个非图形化的标准C++程序,编译、运行下例程序:#include <iostream.h>void main(void){cout<<”Hello!\n”;cout<<”Welcome to C++!\n”;}3、实验步骤(1)启动Visual C++开发环境(2)创建一个项目a.单击File菜单中的New选项,显示示新建对话框b.选择Win32 Console Application(VC++)。

2021秋-《面向对象程序设计》-实验指导书

2021秋-《面向对象程序设计》-实验指导书

2021秋-《面向对象程序设计》-实验指导书《面向对象程序设计》实验指导书实验一:类的继承和封装1.1实验性质验证性实验(4学时)1.2实验目的Java是完全面向对象(OOP,Object Oriented Programming)的编程语言,任何程序都是基于类,Java中所有的代码都写于类的内部。

面向对象编写的程序则是由对象组成的,这些对象有自己的属性和能够执行的操作。

本实验目的在于通过编程和上机实验进一步理解Java 语言是如何体现面向对象编程基本思想,了解类的封装方法,以及如何创建类和对象,了解成员变量和成员方法的特性,掌握OOP 方式进行程序设计的方法,了解类的继承性和多态性的作用。

深化类的定义,类的继承,及相关语法规则,深化对类成员的使用,理解类的封装。

1.3实验任务1) 2) 3) 4) 5) 6) 7) 8)观察简单类的运行过程体会类集成的机制以及思路查看高级类(抽象类)的使用方法编写一个复数类,实现复数的加、减、乘运算编写一个银行账户类,实现简单的存取编写一个矩形类,并由该类继承出方形类编写一个图形类,完成面积计算回答思考问题1.4实验准备将以下代码输入NetBeans中,若代码存在错误请进行修改,查看输出成果,并对各行语句进行解释,将解释内容和运行结果写入实验报告。

1)简单类示例//EmployeeTest.java import java.util.*; public class EmployeeTest{ public static void main(String[] args) { // 将三个员工对象的数据赋值给职工数组 Employee[] staff = new Employee[3]; staff[0] =new Employee(\张三\ staff[1] = new Employee(\李四\ staff[2] = new Employee(\王五\ for (int i = 0; i < staff.length; i++)staff[i].raiseSalary(5);//每个员工的工资增长5% for (int i = 0; i <staff.length; i++)// 打印输出员工信息 { Employee e = staff[i]; System.out.println(\姓名=\ + \工资=\ + \工作日期=\ } } } class Employee { private String name; private doublesalary; private Date hireDay; public Employee(String n, double s,int year, int month, int day) { name = n; salary = s; GregorianCalendar calendar = new GregorianCalendar(year, month - 1,day); // GregorianCalendar 计算月份从0开始hireDay = calendar.getTime(); } public String getName(){ return name; } public double getSalary() { returnsalary; } public Date getHireDay() { return hireDay; }public void raiseSalary(double byPercent) { double raise = salary *byPercent / 100; salary += raise; } } 2)类的继承 importjava.util.*; public class ManagerTest { public static void main(String[]args) { // 创建一个新的经理并设置他的奖金 Manager boss = newManager(\陈鹏\ 1987, 12, 15); boss.setBonus(5000);Employee[] staff = new Employee[3]; // 建立员工数组和经理一起填充staff[0] = boss; staff[1] = new Employee(\何恒\ staff[2] = newEmployee(\童同\ // print out information about all Employeeobjects for (int i = 0; i < staff.length; i++){ Employee e = staff[i]; System.out.println(\ +\ } } } class Employee { public Employee(String n, double s,int year, int month, int day) { name = n; salary = s; GregorianCalendar calendar = new GregorianCalendar(year, month - 1,day); // GregorianCalendar 方法计算月份从0开始 hireDay =calendar.getTime(); } public String getName() { returnname; } public double getSalary() { return salary; }public Date getHireDay() { return hireDay; } public voidraiseSalary(double byPercent) { double raise = salary * byPercent /100; salary += raise; } private String name; private doublesalary; private Date hireDay; } class Manager extends Employee { /**变量n是员工姓名变量 s t员工工资填充工龄的年、月、日 */public Manager(String n, double s, int year, int month, int day){ super(n, s, year, month, day); bonus = 0; } publicdouble getSalary() { double baseSalary = super.getSalary();return baseSalary + bonus; } public void setBonus(double b){ bonus = b; } private double bonus; } 3)类的高级属性:抽象类的使用 // Employee.java // 抽象类Employee public abstract class Employee{ private String firstName; private String lastName; // 构造函数public Employee( String first, String last ) { firstName = first;lastName = last; } // 返回姓 public String getFirstName(){ return firstName; } // 返回名 public String getLastName() { return lastName; } public String toString() { return firstName + ' ' + lastName; } // Employee抽象方法earnings(); //将被其每个子类以实例继承public abstract double earnings(); } // Boss 类是Employee继承 public final class Boss extends Employee { private double weeklySalary; // 经理Boss 类的构造函数 public Boss( String first, String last, double s){ super( first, last ); // call superclass constructor setWeeklySalary( s ); } // 经理Boss类的工资 public void setWeeklySalary( double s ) { weeklySalary = ( s > 0 ? s : 0 ); } // 确定Boss的薪水 public double earnings() { return weeklySalary; } // 打印姓名 public String toString() { return \经理: \ } } 1.5实验过程(1)定义一个复数类,可以通过构造函数给复数对象赋值,实部和虚部是该类的私有属性,必须有获取和修改属性的方法,并定义它与复数、实数相加和相减及复数间乘的方法。

《面向对象程序设计》实验指导书

《面向对象程序设计》实验指导书

《⾯向对象程序设计》实验指导书《⾯向对象程序设计》实验指导书实验⼀ Java开发环境⼀、实验⽬的:1、熟悉JAVA开发环境(JBUILDER/JDK)2、认识Java程序结构。

⼆、实验内容:1、配置JDK,编译调试HelloWorld程序。

2、熟悉JAVA开发⼯具,编译调试HelloWorld程序。

三、实验要求:1、HelloWorld程序输出⼀条简单的问候信息;2、实验报告中对程序结构做出详细的解释;3、实验报告中给出配置JDK的步骤。

四、实验学时、性质:2学时、验证性五、实验步骤:1、进⼊Java编程环境;2、新建⼀个Java⽂件,命名为HelloWorld.java;3、定义主⽅法public static void main(String[ ] args);调⽤System.out.println()⽅法,使程序输出⼀条问候信息;4、编译运⾏程序,观察运⾏情况和输出结果。

(如果使⽤JDK环境,调⽤javac.exe和java.exe编译和执⾏程序)实验⼆类与对象⼀、实验⽬的:1、掌握类的定义与成员的封装。

2、掌握对象的创建,对象属性的访问和⽅法的调⽤。

3、掌握包的使⽤。

⼆、实验内容:1、⾃定义⼀个学⽣类。

2、导⼊并访问其他同学定义的学⽣类。

三、实验要求:2、实验报告中记录访问不同属性时编译器的反馈并分析原因。

四、实验学时、性质:3学时、验证性五、实验步骤:1、创建⼀个Java包,以⾃⼰的英⽂名字命名。

2、定义⼀个学⽣类,包含三个属性学号、姓名和性别,访问修饰符分别是private、⽆修饰符和public修饰符。

3、在另⼀个类中创建学⽣类的对象,分别设置三个属性的值,观察实验结果。

4、导⼊同学定义的学⽣类。

分别访问三个属性,观察实验结果。

实验三数据类型与数组⼀、实验⽬的:1、掌握数据类型与数组的定义、初始化与使⽤。

⼆、实验内容:1、查看⾃⼰名字的UNICODE编码。

2、转置⼆维矩阵。

三、实验要求:1、使⽤已知给定的数值初始化⼀个5X5的⼆维数组。

面向对象程序设计实验指导书

面向对象程序设计实验指导书

《面向对象程序设计》实验教学大纲一、大体信息二、实验安排三、实验目的、内容与要求实验一成立一个非图形化的C++程序(一)实验目的1.了解Visual C++的特点。

2.熟悉Visual C++的开发环境。

3.学习利用Visual C++编写标准的C++操纵台程序。

4.学会利用VC++开发环境中的debug调试功能。

(二)实验内容成立、编译和运行一个标准C++操纵台程序。

(三)实验要求1.成立一个标准C++操纵台程序。

2.学会编译、运行教材例2-1程序。

3.下课前完成实验内容,提交给教师检查。

实验二设计一个用于人事治理的People类(一)实验目的1.把握类的概念和利用;把握对象的声明和利用。

2.学会利用类的构造函数和析构函数。

3.学习类的组合利用方式。

(二)实验内容考虑到通用性,那个地址只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(诞生日期)、id(身份证号)等。

其中“诞生日期”概念为一个“日期”类内嵌子对象。

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

(三)实验要求1.程序中应包括——构造函数和析构函数、拷贝构造函数、内联成员函数、类的组合。

2.下课前完成实验内容,提交给教师检查。

实验三实现Client类(一)实验目的1.学习并把握类的静态成员的利用。

2.学习多文件结构在C++程序中的利用。

(二)实验内容概念字符型静态数据成员ServerName,保留其效劳器名称;整型静态数据ClientNum,记录已概念的客户数量;概念静态函数成员ChangeServerName( )改变效劳器名称。

(三)实验要求1.在头文件中概念类。

2.文件中实现类的概念,再添加文件,在其中概念main( )函数,测试Client 类。

3.下课前完成实验内容,提交给教师检查。

实验四实现Employee类(一)实验目的1.学习字符串数据的组织和处置2.把握指针的利用方式3.利用字符数组和标准C++库练习处置字符串的方式(二)实验内容1.声明一个Employee类,其中包括表示姓名、街道地址、城市和邮政编码等属性,包括change_name( )和display( )等函数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《面向对象程序设计》实验指导书熊利祥编武汉理工大学华夏学院2015年1月前言一、实验课目的通过本课程的学习培养学生对计算机软件开发语言及工具的综合能力。

主要介绍Java 软件开发工具及编辑工具的使用方法、语言的语法及Java类的定义和使用、使用Java进行网络和多媒体编程的方法。

通过本课程学习和上机实践,使学生掌握使用Java进行程序设计的基本技术与方法、具备软件开发的基础能力,为今后从事软件开发和应用打下基础。

二、实验要求:1.课前预习①认真阅读实验指导书,了解实验内容;②认真阅读有关实验的理论知识;③读懂程序代码。

2.实验过程①按时到达实验室;②认真听取老师对实验内容及实验要求的讲解;③认真进行实验的每一步,观察程序代码与仿真结果是否相符;④将实验过程中程序代码和仿真结果提交给老师审查;⑤做完实验后,整理实验设备,关闭实验开发板电源、电脑电源后方可离开。

3.实验报告①按要求认真填写实验报告书;②认真分析实验结果;③按时将实验报告交给老师批阅。

三、实验学生守则1.保持室内整洁,不准随地吐痰、不准乱丢杂物、不准大声喧哗、不准吸烟、不准吃东西;2.爱护公务,不得在实验桌及墙壁上书写刻画,不得擅自删除电脑里面的文件;3.安全用电,严禁触及任何带电体的裸露部分,严禁带电接线和拆线;4.任何规章或不按老师要求操作造成仪器设备损坏须论价赔偿。

目录实验一JDK与Eclipse开发环境…………………………………………………………实验二类的继承与多态实验…………………………………………………………实验三GUI图形界面设计实验……………………………………………………………实验四网络编程实验………………………………………………………………………实验一 JDK与Eclipse开发环境一、实验目的1.学会使用JDK编译和运行Java Application程序。

2.学会在Eclipse平台下编写、运行和管理Java程序。

二、实验要求1.熟悉Java程序运行环境的安装、配置方法。

2.掌握编写与运行Java程序的方法。

三、实验内容(一)在命令行方式下用JDK编译和运行Java程序。

(1)内容:用Windows记事本编辑如下Java源程序,并保存为源文件HelloWorld.java (2)程序源代码如下:public class HelloWorld{public static void main(String[] args){System.out.print("Hello World!");}}(3)编译HelloWorld.java,产生类文件HelloWorld.class。

执行“开始-所有程序-附件-命令提示符”菜单命令打开DOS窗口,用“盘符:”和cd命令转到HelloWorld.java所在目录,在命令行上键入javac HelloWorld.java回车,如果不出现错误信息,则说明编译正确,编译后的中间文件名为HelloWorld.class,位于HelloWorld.java同一目录下。

(4)运行该程序此时再键入java HelloWorld如果不出错,则在DOS窗口上看到输出“Hello World!”。

(二)Eclipse集成开发环境的使用。

(1)用Eclipse建立新的Java程序①新建项目启动Eclipse,执行“文件-新-Java项目”菜单命令,或执行“文件-新-项目”菜单命令,在弹出的“新建项目”对话框中双击“Java项目”,都会弹出“新建Java项目”对话框。

在“项目名”一栏输入一个项目名称(假定为MyProject),点击“完成”。

此时在窗口左边的“包资源管理器”中将会出现一个以项目名称命名的文件夹。

(如果窗口左半部分未出现“包资源管理器”,可执行“窗口-打开透视图-Java”菜单命令将其打开)。

②新建包单击项目名(例如MyProject)前面的加号展开该文件夹,将光标定位在其下的src文件夹上,执行“文件-新-包”菜单命令,在弹出对话框的“名称”一栏输入一个包(package)名(假定为myPackage),点击“完成”按钮。

此时在“包资源管理器”的“MyProject / src”之下将出现一个以包命名的文件夹myPackage。

注:一个项目下可以建立多个包,包中任何源文件中定义的类都可以被同一个包中任何源文件中定义的类所直接引用。

③新建类将光标定位在包名(例如myPackage)上,执行“文件-新-类”菜单命令,在弹出的对话框的“名称”一栏输入一个类名(假定为HelloWorld),点击“完成”按钮。

此时在“包资源管理器”的“MyProject / src / myPackage”之下出现一个以类命名的Java源文件HelloWorld.java,窗口中部便是该文件中的Java源代码,其中第一行是包的声明:package myPackage;其下则是类的定义。

④输入Java Application源代码可以看到这里的类定义与前面“Java Application 程序实例”中的类定义的框架是完全相同的,将Java Application程序实例类框架中的3行源代码拷入类框架中,从而形成下列完整的Java Application源程序:package myPackage;public class HelloWorld{public static void main(String[] args){System.out.print("Hello World!");}}⑤运行Java Application程序执行“运行-运行方式-Java应用程序”菜单命令,或执行“运行-运行”菜单命令,在弹出的对话框中选择“Java应用程序”。

如果源程序无语法错误,则编译后会直接执行。

代替命令行方式将结果输出到控制台上,Eclipse会将结果输出到窗口右下部的“控制台”子窗口中:Hello World!(2)用Eclipse管理老的Java程序①删除项目、包或源文件如果想删除Eclipse工作空间中的某些项目、包或源文件,则应当在Eclipse中进行而不应当在Windows资源管理器中进行,这是因为工作空间状态信息是被Eclipse实时地记录在每个项目的PROJECT文件中的,如果在Eclipse之外删除文件或文件夹,则会造成状态信息与文件系统的不同步。

先在资源管理器中用“复制”和“粘贴”命令将项目文件夹MyProject备份到另一逻辑盘上,然后在Eclipse的“包资源管理器”中将光标对准MyProject文件夹,按鼠标右键并选择“删除”,确认后,文件夹MyProject将从工作空间逻辑地删除。

若确认时选中“删除磁盘上的内容”,则选定的文件或文件夹将同时从workspace文件夹物理地删除。

②导入备份项目到Eclipse工作空间备份的Java项目要重新使用Eclipse进行管理,必须导入到硬盘的Eclipse工作空间。

执行“文件-导入”菜单命令,在弹出的对话框中选择“常规-现有项目到工作空间中”,点击“下一步”,在弹出的对话框中点击“浏览”,在“浏览文件夹”对话框中找到MyProject 文件夹,将光标定位在该文件夹上,点击“确定”再点击“完成”,备份的项目就被整体导入Eclipse工作空间(注意:如果工作空间中已存在同名项目,则不能将该项目整体导入,只能按下述方法将文件或文件夹逐个导入)。

③导入Java源文件到Eclipse工作空间备份的其它文件夹或Java源文件要使用Eclipse管理,也必须导入硬盘的Eclipse工作空间,但工作空间中必须有适当的项目和包来存放它们,如果没有,就必须按照前面所述的方法首先建立项目和包。

现在我们在Eclipse下再次删除并重新建立项目MyProject和包myPackage,然后在“包资源管理器”中将光标定位在包myPackage上,执行“文件-导入”菜单命令,在弹出的对话框中选择“常规-文件系统”,点击“下一步”,在弹出的对话框中点击“浏览”,在“从目录中导入”对话框中找到备份文件夹MyProject,展开并进入其中的src文件夹,将光标定位在存放包的文件夹myPackage上,点击“确定”,在弹出的对话框的上部右栏选中源文件HelloWorld.java,再点击“完成”,即可将该源文件导入项目和包。

实验二类的封装、继承与多态实验一、实验目的1.通过编程和上机实验理解Java语言是如何体现面向对象编程基本思想。

2.了解类的封装方法,以及如何创建类和对象。

3.了解成员变量和成员方法的特性。

4.掌握面向对象程序设计的方法。

5.掌握类的继承和多态的作用。

二、实验要求1.编写一个体现面向对象思想的程序。

2.编写体现类的继承性(成员变量,成员方法、成员变量隐藏)的程序。

3.编写体现类的多态性(成员方法重载、构造方法重载)的程序。

三、实验内容(一)编写一个体现面向对象思想的程序。

(1)程序功能:求某个数的若干次幂(2)程序源代码如下:class P{int a,b,pwr;P(int i,int j){a=i;b=j;pwr=1;for(;j>0;j--)pwr*=i;}int Getpwr(){return pwr;}}public class power{public static void main(String[] args){P p1=new P(5,3);P p2=new P(17,2);System.out.println(p1.a+"的"+p1.b+"幂等于"+p1.Getpwr());System.out.println(p2.a+"的"+p2.b+"幂等于"+p2.Getpwr());}}(3)编译power.java,产生类文件power.class。

(4)运行该程序(二)编写一个体现类的继承性的程序。

1.继承的概念新类可从现有的类中产生,并保留现有类的成员变量和方法并可根据需要对它们加以修改。

新类还可添加新的变量和方法。

这种现象就称为类的继承。

当建立一个新类时,不必写出全部成员变量和成员方法。

只要简单地声明这个类是从一个已定义的类继承下来的,就可以引用被继承类的全部成员。

被继承的类称为父类或超类(superclass),这个新类称为子类。

Java 提供了一个庞大的类库让开发人员继承和使用。

设计这些类是出于公用的目的,因此,很少有某个类恰恰满足你的需要。

你必须设计自己的能处理实际问题的类,如果你设计的这个类仅仅实现了继承,则和父类毫无两样。

所以,通常要对子类进行扩展,即添加新的属性和方法。

相关文档
最新文档