《面向对象程序设计》课程实验指导书2
- 格式:doc
- 大小:272.50 KB
- 文档页数:27
实验一熟悉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。
面向对象程序设计实验(二)引言概述:本文档旨在介绍面向对象程序设计实验(二)的相关内容。
实验(二)主要涉及面向对象程序设计中的基本概念和实践技巧。
通过本次实验,学生可以进一步巩固对于面向对象程序设计的理解和应用能力。
正文内容:1. 类与对象1.1 定义类和对象的基本概念1.2 区分类和对象的特点和属性1.3 类的成员变量与成员函数的关系1.4 类的继承与派生的用法和作用1.5 类型转换和类型检查的重要性和技巧2. 封装和继承2.1 封装的原则和目的2.2 不同类型的访问控制修饰符的应用与实践2.3 继承的基本概念和实现方法2.4 多态性的应用与实例解析2.5 接口与抽象类的定义和使用3. 异常处理3.1 异常处理的基本原则和作用3.2 异常的分类与处理方式3.3 异常处理的语法和使用方法3.4 异常处理的常见问题和解决策略3.5 异常处理的最佳实践和注意事项4. 面向对象设计的思想和原则4.1 面向对象设计的核心概念和思维方式4.2 SOLID设计原则的介绍和实践应用4.3 设计模式的分类和使用场景4.4 常用设计模式的详细介绍和实例应用4.5 面向对象设计的常见问题和解决策略5. 实践与案例分析5.1 针对实验要求的代码设计与实现5.2 对实验结果的分析和评价5.3 面向对象程序设计思想在实验中的运用和效果5.4 实际项目中的面向对象设计相关问题的解决方法5.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周周三:编写课程设计说明书。
按照本指导书要求格式编写程序设计报告(见附件)。
11427-C++面向对象程序设计-实验指导书实验1 环境熟悉和类与对象1.实验目的(1)熟悉上机环境,了解编译过程中常见的错误与解决办法。
(2)学会编写简单的C++程序并会用debug调试程序。
(3)观察构造函数和析构函数的执行过程。
(4)掌握动态内存分配的两个运算符的使用(5)掌握函数参数的三种传递方式。
(6)学习利用友元求解问题。
2.实验内容(1)定义一个学生类,学生信息有学号、姓名和成绩。
成绩包括计算机、英语、数学成绩和平均分。
要求利用队列实现学生的入队、出队和显示等功能。
算法思路:定义一个类Student,数据成员有:学生信息,进行入队、出队和显示操作的front(队头)、rear(队尾)和num(统计队列中元素的个数),其中学生信息定义成结构体类型的数组;成员函数有学生的入队操作、出队操作和显示操作,通过构造函数对学生信息进行初始化。
(2)定义一个图书类,图书信息有图书名称、作者、出版社、价格。
要求利用栈实现图书的入库、出库和显示等功能。
算法思路:定义一个类Stack,数据成员有:图书信息,进行入库、出库和显示操作的top(栈顶指针),其中图书信息定义成结构体类型的数组;成员函数有图书的入库、出库和显示操作,通过构造函数对图书信息进行初始化。
(3)有Distance类和Point类,将Distance类定义为Point类的友元类来实现计算两点之间距离。
实验2 函数重载与内联函数1.实验目的(1)掌握函数重载的应用。
(2)理解内联函数的作用,掌握内联函数的应用。
2.实验内容(1)利用重载求两个整数、三个整数和四个整数的最小值。
(2)利用重载计算长方形、正方形、圆、梯形的面积。
(3)利用重载编写求整数绝对值和求实数绝对值。
(4)利用重载实现对10个整数和10个实数的排序。
(5)判断一个字符是否为数字字符,要求用内联函数实现。
实验3 常量与引用1.实验目的(1)理解常量的含义与#define的区别。
毛伟汪祥段晓娟编著《面向对象程序设计》实验指导书长沙学院计算机科学与技术系前言本教材由四个实训项目组成,每个实验项目又包含1~3个实验,可供教师授课时选用或让学生自学。
希望读者能独立完成实验,多思考,多实践,唯有实践才是学好一门计算机语言的不二法门。
由于计算机科学技术发展迅速,计算机学科知识更新很快,加之编者水平和时间有限,书中不妥之处在所难免,敬请批评指正。
一、实验目的和要求1、实验目的力图通过本实践课程的学习,使学生掌握编写、调试和运行Java程序的基本技巧,熟悉面向对象技术的主要原则和思维方法,借助Java把这些原则和特点融入具体的程序中,包括类库、GUI、异常、I/O流、数据库接口的编程,建立由感性到理性的深入认识,提高解决实际问题的能力。
2、实验要求实验的编排本着循序渐近、由浅入深的原则,基本覆盖了Java程序设计的主要方面,要求学生实验前认真准备,实验后提供实验报告,给出详细设计结果以及设计依据。
实验报告的格式应采用统一封面,统一的实验报告纸。
封面应包括:课程名称、实验序号、名称、专业、班级、姓名、同组实验者、实验时间。
实验报告内容应包括:实验名称、目的、内容、实验步骤、实验记录、数据处理(或原理论证、或实验现象描述、或结构说明等)。
二、实验环境介绍1、硬件设备要求PC及其联网环境2、软件设备要求Windows xp操作系统;Eclipse3.2 或者MyEclipse6.5集成开发工具;三、实验内容和学时分配注:1、实验类型分演示、验证、综合、设计、研究创新;实训类型为实训。
2、实验(实训)要求分必开、选开。
3、每组人数一般基础课1-2人、专业课2-4人、上机1人。
4、以上实验(实训)根据课程性质,只选取其中一种。
四、实验前准备在D盘建立以自己姓名的拼音首字母为名称的文件夹,以便保存实验数据。
实训项目一:面向对象特征的应用实验一:Java开发环境J2SE1.1实验目的1) 熟悉Java开发环境的搭建方法,掌握开发Java应用程序的三个步骤:编写源文件、编译源文件和运行应用程序。
实验指导书院系:数学与计算机专业:通信工程课程:面向对象程序设计编者:夏婷婷目录实验一 MATLAB的矩阵和数组的运算实验二二维平面图形的绘制与分割实验三特殊图形的设计实验四 MATLAB程序结构的应用和实现实验五线性预测谱估计的仿真实验一 MATLAB 的矩阵和数组的运算一、实验目的:1、学会矩阵和数组运算的基本规律2、会进行编程运算来检验结果二、实验内容:(1)产生6阶单位矩阵、4阶全1阵,4阶全0阵(2)产生三阶随机均匀分布矩阵A,求A 的数值3次幂运算, A 的矩阵3次幂运算(3)计算[13-(17-5)×8]+34+5e 值(4)产生三阶魔方阵A,对A 矩阵上下翻转、左右翻转各求一次。
(5)矩阵A=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡1,23,1117,5,239,5,4,矩阵B=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡8,3,92,6,41,6,1,求A.*B,A*B 三、实验原理与方法:数组运算侧重数值之间的运算,在进行加、减时是数组中对应位置上数值进行加减,这与矩阵运算一致。
数组乘与矩阵乘意义完全不同。
矩阵乘遵循左侧矩阵的第一行与右侧矩阵第一列对应相乘然后相加,得到新矩阵里第一项,与此类推得到之后的项。
数组乘指对应位置的数值相乘。
特殊矩阵的产生通常有特定的函数指令,而这些指令通常是英文。
因此在运用时要牢记英文含义。
四、实验条件:计算机、MATLAB 软件、实验教材五、实验步骤:构思、分析、编译、调试、运行、数据记录六、 实验注意事项:注意数值运算与矩阵运算的物理意义和运算方法差别。
尤其是.*与*,.^与^的区别七、实验报告要求:格式工整,独立完成,注重分析,鼓励尝试实验二 二维平面图形的绘制与分割一、实验目的:1、了解二维平面图的绘制方法。
2、学会绘制不同色彩、线型的二维图。
3、掌握图形分割的方法。
多次叠绘图和多子图。
二、实验内容:(1)在0π2≤≤x 区间内,绘制曲线)2sin(25.0x e y x π-=,线型为星号,品红色。
面向对象程序设计实验指导书(适用:电子信息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)删除中间的节点,再顺序输出学生信息。
《面向对象程序设计》课程实验指导书合肥学院计算机系实验一 Java开发环境的安装与配置,熟悉Java程序结构一、实验目的:1. 掌握JDK的安装步骤。
2. 理解环境变量PATH, CLASSPATH的作用,以及它们的设置方法。
3. 熟悉Editplus(或notePad,JCreator)编辑环境,编写简单的程序,并编译和执行。
二、实验内容:熟悉JDK的安装和配置,学习如何编写并运行简单的Application程序和Applet程序(能输出一条简单的问候信息);三、实验要求:1. 能正确地安装JDK2. 熟悉环境变量Path, Classpath设置方法,熟悉编辑环境3. 调试程序、编译,运行后得到正确的结果4. 写出实验报告,要求记录编译和执行Java程序当中的系统错误信息提示,并给出解决办法。
四、实验步骤:1.从上下载最新版本的JDK,并安装。
2.设置环境变量PATH, CLASSPATH, 使得Java程序能正确编译和执行。
3.在Editplus(或 Textpad)环境下编写一个HelloWorld.java程序,(1)在主方法static public void main(String[ ] args)中调用System.out.println()方法,使程序输出一条问候信息;(2) 编译运行程序,观察运行情况和输出结果。
(使用JDK环境,调用javac.exe和java.exe编译和执行程序)实验二 Java语言基础一、实验目的:熟悉Java基本语法,基本数据类型,各种运算符及表达式的使用,掌握运算符优先级,熟悉使用Java的选择语句,循环语句。
二、实验内容:1.输出100以内的所有素数。
提示: 逐个判断小于a的每个正整数x,第二重循环针对x,判断其是否是质数。
2.编写程序,分别用do-while和for循环计算1+1/2!+1/3!+1/4!...的前20项和三、实验要求:1. 正确使用Java语言的选择语句,循环语句;2. 调试程序、编译,运行后得到正确的结果3.写出实验报告。
要求记录编译和执行Java程序当中的系统错误信息提成示,并给出解决办法。
四、实验步骤:1.编写主类;2.在static public void main(String[ ] args)方法中加入实现要求功能的代码。
3.编译运行程序,观察输出结果是否正确。
五、自主实验(选1题完成实验报告)1. 将所输入之正整数,以二、八、十六进制表示出来。
提示: 可写三个方法分别计算输出二、八、十六进制表示。
2.用户输入的一个分数(分别输入分子和分母)进行约分,并且输出约分后的分数(分别输出分子和分母)。
例如输入分子为6并且分母为12,那么输出结果为1/2。
3.编程,计算e=1+1/1! +2/2! +……+n/n!。
要求e值精确到小数点第5位。
实验三类和对象一、实验目的:掌握Java类的结构、类的定义、方法和属性的定义以及对象的实现;掌握类及其成员修饰符的使用;掌握构造函数的使用;方法的参数传递和返回值的用法;掌握类变量与实例变量,以及类方法与实例方法的区别。
二、实验内容:1、定义一个学生类(Student),属性有private的名字(name), public的年龄(age),专业(specialty)和封装name属性的方法:setName(),getName(),getspecialty()编写Application,创建一个学生对象,设置name和age属性值,然后调用一个方法(此方法将对象作为参数传递,在方法中打印出学生的名字name和年龄age)。
(学生类仅包含静态成员变量和方法。
)2、定义一个复数(z=x+iy)类Complex,包含:两个属性:实部x和虚部y默认构造函数 Complex(),设置x=0,y=0构造函数:Complex(int i,int j)显示复数的方法:showComp()将其显示为如: 5+8i或5-8i 的形式。
求两个复数的和的方法:(参数是两个复数类对象,返回值是复数类对象)public Complex addComp(Complex C1,Complex C2)求两个复数的差的方法:(参数是两个复数类对象,返回值是复数类对象)public Complex subComp(Complex C1,Complex C2)求两个复数的乘积的方法:(参数是两个复数类对象,返回值是复数类对象,新复数实部=两复数实部乘积-两复数虚部乘积,新复数虚部=两复数实部与虚部交叉乘积之和,)public Complex multiComp(Complex C1,Complex C2)比较两个复数是否相等的方法(参数是两个复数类对象,返回值是boolean 类型)public boolean equalComp(Complex C1,Complex C2)在Application中测试该类的方法,实部x和虚部y可由main方法参数提供输入。
三、实验要求:1. 正确地定义类、方法和属性;2. 学会方法的参数传递和返回值的用法;3. 熟练使用类及其成员修饰符4.使用构造函数创建类的对象;5.类变量与实例变量,以及类方法与实例方法的使用6.程序应包括各个被调用方法的执行结果的显示。
7.写出实验报告。
要求记录编译和执行Java程序当中的系统错误信息提示,并给出解决办法。
(附运行界面、源代码)。
四、实验步骤:1.(第1题)定义一个学生类(Student)及它的属性和方法;定义主类和main(),在main()方法中创建学生对象,并通过对象调用它的方法setName(),getName(),输出学生的名字name和年龄age。
2. (第2题)定义一个复数(z=x+iy)类Complex,及它的属性、方法和构造函数;定义主类和main()方法,在main()方法中创建两个复数类Complex 对象,并通过复数类对象调用它们的属性和方法,输出方法执行结果。
五、自主实验(选1题完成实验报告)1.构造一个类来描述屏幕上的一个点,该类的构成包括点的x和y两个坐标,以及一些对点进行的操作,包括:取得点的坐标值,对点的坐标进行赋值,编写应用程序生成该类的对象并对其进行操作。
2.编写实现:有一个三角形类Triangle,成员变量有底边x和另一条边y,和两边的夹角a(0<a<180),a为静态成员,成员方法有两个:求面积s(无参数)和修改角度(参数为角度)。
3.编写实现: 构造函数为 Triangle(int xx,int yy,int aa) 参数分别为x,y,a赋值在main方法中构造两个对象,求出其面积,然后使用修改角度的方法,修改两边的夹角,再求出面积值。
(提示:求高的方法 h=y*Math.sin(a) ) 注意:构造方法用于对成员变量初始化,无参数的构造方法将成员变量初始化为0值。
4、定义一个类Point,代表一个点,public属性有x和y,方法有显示点坐标show(),构造函数有两个参数分别给x,y赋值,在main方法中构造两个对象,再创建一方法(getMiddle)为取两个点构成线段的中点的坐标,参数为2个点对象,调用此方法后得到一个新的点,编写Application,显示该对象的坐标值。
实验四 java继承与多态一、实验目的:掌握继承、多态的概念与实现方法;掌握包和接口的定义和使用方法;掌握JA V A语言实现多继承的途径;二、实验内容:1.分别编写两个类Point2D,Point3D来表示二维空间和三维空间的点,使之满足下列要求:(1) Point2D有两个整型成员变量x, y (分别为二维空间的X,Y方向坐标),Point2D的构造方法要实现对其成员变量x, y的初始化。
(2)Point2D有一个void型成员方法offset(int a, int b),它可以实现Point2D的平移。
(3)Point3D是Point2D的直接子类,它有有三个整型成员变量x,y,z (分别为三维空间的X,Y,Z方向坐标),Point3D有两个构造方法:Point3D(int x,int y,int z)和Point3D(Point2D p,int z),两者均可实现对Point3D的成员变量x, y,z的初始化。
(4)Point3D有一个void型成员方法offset(int a, int b,int c),该方法可以实现Point3D的平移。
(5)在Point3D中的主函数main()中实例化两个Point2D的对象p2d1,p2d2,打印出它们之间的距离,再实例化两个Point2D的对象p3d1,p3d2,打印出他们之间的距离。
2.定义抽象类Shape,抽象方法为showArea(),求出面积并显示,定义矩形类Rectangle,正方形类Square,圆类 Circle,根据各自的属性,用showArea方法求出各自的面积,在main方法中构造3个对象,调用showArea方法。
定义接口DiagArea,其中包含方法double getDiagonal()求对角线长, double getArea()求面积,定义一个矩形类,实现此接口,并自行扩充成员变量和方法,定义一个正方形类继承矩形类(如矩形有长w和宽h,正方形有边x,并有相应的构造函数,有一个方法中一次直接显示边长、面积和对角线长),在另一类中的主方法里使用测试该类。
三、实验要求:1. 能实现类的继承关系;2. 用多种方法创建各个类的对象;3. 程序应包括各个被调用方法的执行结果的显示。
4. 写出实验报告。
要求记录编译和执行Java程序当中的系统错误信息提示,并给出解决办法。
(附运行界面、源代码)。
四、实验步骤:1.(第1题)定义Point2D,及定义它的属性和方法;定义子类Point3D,及定义它的属性和方法;在Point3D中的主函数main()中实例化两个Point2D的对象,并通过这两个对象调用它们的属性和方法,输出方法执行结果。
2.(第2题)定义抽象类Shape,抽象方法为showArea(),再定义矩形类Rectangle,正方形类Square,圆类 Circle,和各自的属性。
定义主类、主方法,在main 方法中构造3个对象,调用showArea方法;定义接口DiagArea,其中包含方法double getDiagonal(),在主main方法中输出方法执行结果。
五、自主实验(选1题完成实验报告)1、定义一个描述人的基本类,该类包括人的性别和出生日期两个数据成员,以及设置和获取这些属性值的方法成员;再定义一个大学生类,使大学生类具有人的所有属性外,还具有姓名、学号,大学入学成绩,籍贯属性以及设置和获取这些属性值的方法成员;编写完整的程序,完成一个具有班级学生信息管理功能的程序。