《面型对象程序设计》实验报告格式(最新版)

合集下载

面向对象程序设计-试验报告

面向对象程序设计-试验报告

《面向对象程序设计》实验报告一.实验目的与要求1.学习类与对象的定义。

2.掌握类与对象的使用方法。

3.学习类与对象的声明。

4.学习数据成员与成员函数的访问方式。

5.理解构造函数和析构函数的定义与执行过程。

6.学会构造函数的重载方法。

二.实验准备与内容1.可以定义出一个类,并且在程序中创建一个该类的对象。

2.实现类的定义,借助VC++的方法建立一个新的类。

3.体现出构造函数和析构函数的调用。

4.重载构造函数。

5.为了提高对相关知识的综合应用能力,编写一个较为复杂的类和对象的应用程序。

三.实验设计(分析)1.建立一个空的工程chap2。

2.在工程chap2中,建立一个源程序文件,在此文件中建立一个新的类。

将新建的类命名为Rect。

//--------------------------------------------------------------------------------------------------class Rect{public:int Area_int();double Area_double();Rect(double1, doublew);Rect(int 1,int w);virtual ~Rect();private:int nLength;int nWidth;double dLength;double dWidth;};//--------------------------------------------------------------------------------------------------3.向Rect类中添加数据成员及成员函数,并完善成员函数功能。

如设计一个Area_int()函数,计算机边长为整形的长方形的面积;设计一个Area_double()函数,计算机边长为double的长方形的面积。

4.重载构造函数。

一种构造函数用整形变量记录长方形的长和宽,另一种构造函数用double型记录。

面向对象实习报告(共5篇)

面向对象实习报告(共5篇)

面向对象实习报告(共5篇)第1篇:面向对象实习报告实习题目一1.三个自定义类本题有三个自定义的类:点类VecPosition,圆类circle,矩形类Rect,运用类的继承思想从这三个类中抽象出公共基类base。

其中base中有一个纯虚函数virtual void draw()=0; VecPosition类主要实现各个运算符的点的构造,运算符的重载,求两点距离,判断一个点是否在给定其他几个点的范围内,以及与向量有关的几何运算。

Circle类主要实现圆对象的构造,圆的相关参数设置,求取圆的周长函数(doubleCircle::getCircumference())、面积函数(double Circle::getArea()),判断一个点是否在圆内bool Circle::isInside(VecPosition pos),求两个圆交点函数int Circle::getIntersectionPoints(Circle c,VecPosition *p1,VecPosition *p2)返回加点个数。

求两个圆的相交面积double Circle::getIntersectionArea(Circle c)。

矩形由左上点坐标和右下点坐标确定。

包括矩形的构造,参数的设置修改,求矩形的面积,周长,以及判断一个点是否在矩形内。

2.可视化界面建立单文档工程,添加画图菜单,如下图:三个菜单项分别画点,画线,画矩形。

在view.h中添加如下变量:CPoint类的 m_oldpt,m_pt用于记录画图的起点坐标和终点坐标。

Circle m_circle,Rect m_rect,用于构造圆和矩形。

afx_msg voidOnLButtonDown(UINT nFlags, CPoint point)是响应鼠标按下的消息,并将当前坐标传给m_oldPoint。

用switch分支控制画图种类,在view类中加入变量i,添加三个菜单消息响应函数,对i进行赋值;当点击菜单项“点”时,i=0;当点击菜单项“圆” 时,i=1;当点击菜单项“矩形”时,i=2;在view中添加void C实º习一View::OnLButtonUp(UINT nFlags, CPoint point)用来响应鼠标左键弹起消息。

面向对象程序设计实验(完整版)

面向对象程序设计实验(完整版)
实验内容:
实验结果:
实验二
实验项目名称:数组及字符串
实验目的:熟悉数组以及字符串的初始化,函数调用等基本操作
实验内容:1.使用3种方式对一个二维数组进行赋值
2.使用3种方式实现两个字符串的连接操作。
实验过程:
实验三
实验项目名称:面向对象程序设计基础实验一
实验目的:熟悉java语言的面向对象基本概念
实验内容:创建类Rectangle,具有属性length和width,缺省值均为1。该类具有计算
}
finally{
System.out.println(“程序结束”);
}
}
}
思考:
(1)系统中哪条语句会抛出异常?哪条语句捕捉了异常?为什么程序不会打印出“捕
捉到一个系统一般的异常”?
(2)finally语句块中的语句一定会被执行吗?将程序中的变量b改成非零值,程序也会打印出“程序结束"吗?
(3)将两个catch语句块交换位置,程序能够编译通过吗?系统将给出什么错误提示?
3.编写3个自己定义的异常类,第一个异常类继承自Exception,第二个异常类继承自第一个,第三个异常类继承自第二个。然后通过try抛出第三个异常类,通过catch捕捉第三个异常类。如果的catch子句中捕捉的是第二个异常类或者是第一个异常类,程序能够运行吗?如果想实现这3个异常的捕捉,catch子旬的顺序按捕捉第一个、第二个、第三个这样的顺序写,试解释程序的运行结果。
面向对象程序设计面向对象的程序设计面向对象程序设计c喵翻程序完整版面向对象面向对象程序割绳子实验室完整版什么是面向对象面向对象编程面向对象的特征
实验一
实验项目名称:jdk环境配置及第一个java程序
实验目的:通过上机了解如何在windows系统中配置java环境,并在此基础上通过调试运行书中的java application以及java applet掌握java语言程序的编写以及运行步骤。

《python语言实训》面向对象程序设计实验

《python语言实训》面向对象程序设计实验

《python语言实训》面向对象程序设计实验一、实验目的1、掌握面向对象程序设计的思想。

2、掌握类的定义。

3、掌握对象的创建和使用。

4、掌握属性和方法的访问控制、★△类属性和实例属性、类的方法。

5、掌握继承、多重继承、多态。

6、掌握程序流程控制语句、函数与模块、数据结构等知识内容与面向对象程序设计的综合应用。

二、实验内容1、对象的创建和使用,在Python中,用赋值的方式创建类的实例,创建对象后,通过实例对象访问这个类的属性和方法。

2、从面向过程到面向对象,面向过程程序设计采用自顶向下的方法,分析出解决问题所需要的步骤,将程序分解为若干个功能模块,每个功能模块用函数来实现。

3、定义属性、定义方法、创建实例对象、调用属性和方法。

4、构造方法,在生成对象时调用,可以用来进行一些属性初始化操作,不需要显示去调用,系统会默认去执行。

5、类方法、实例方法和静态方法,方法的访问控制使用。

6、类与对象的应用、属性与方法的应用。

7、类中内置的方法、类方法、实例方法、静态方法。

8、继承与多态的应用、面向对象程序设计案例的应用。

9、Python程序控制结构、数据结构、函数与模块与面向对象程序设计方法的综合案例。

三、主要实验设备及器材1、计算机终端1套(配备Windous10系统或Windows7系统,英特尔i5及以上的处理器,4G以上内存,256G硬盘)。

2、多媒体教学设备1套。

3、网络设备套件1套。

4、Python软件、PyCharm软件、Anaconda软件等Python软件1套。

四、实验步骤(1)演示性实验教师利用多媒体等设备,对本章节的知识在Python语言的相关软件上进行演练。

(2)验证性实验学生指对Python的语言对象有了一定了解,并提出自己的相关问题,然后学生利用实验室的电脑设备解决问题。

(3)设计性实验设计程序以解决金融工程中的计量分析问题。

2、实验步骤(1)Python的Car对象的创建。

(2)在精灵宝可梦游戏中创建小火龙角色,对给出的各个属性进行迭代和私有化。

C++面向对象程序设计》实验报告

C++面向对象程序设计》实验报告

《C++面向对象程序设计》实验内容实验1 C++程序设计初步1.实验目的(1)了解在C++编译系统(Visual C++6.0)上如何编辑、编译、连接和运行一个C++程序。

(2)通过运行简单的C++程序, 初步了解C++源程序的结构和特点。

(3)掌握简单C++程序的编写和调试方法。

(4)掌握重载函数的定义方法。

(5)能正确使用引用型变量。

2.实验内容和步骤(1)在Visual C++环境下编译和运行C++程序①先进入Visual C++6.0环境。

②在自己指定的子目录中建立一个名为test.cpp的新文件。

③从键盘输入以下程序int main(){int a,b;c=a+b;cout>> “a+b=”>>a+b;}选择Build→Compile test.cpp命令, 对此源程序进行编译。

观察和分析编译信息。

⑤根据编译信息指出的错误, 修改程序。

再进行编译, 如果还有错, 再重复此过程, 直到编译不出错为止。

⑥选择Build→Build test.exe命令, 对程序进行连接, 如果不出错, 就会生成可执行程序test.exe。

⑦选择Build→Execute test.exe命令, 执行可执行程序test.exe。

观察屏幕的变化。

在输出窗口应显示程序运行结果。

⑧分析结果是否正确, 如果不正确或认为输出格式不理想, 可以修改程序, 然后重新执行以上④和⑧步骤。

改过后的程序:#include<iostream>using namespace std;int add(int x,int y){int z;z=x+y;return(z);}int main(){int a,b,c;cin>>a>>b;c=add(a,b);cout<<"a+b="<<c<<endl;return 0;}实验2 C++对C的扩充(2)编一个程序, 用来求2个或3个正整数中的最大数。

《面向对象程序设计》课程设计报告模板

《面向对象程序设计》课程设计报告模板

课程设计20 ~ 20 学年第学期设计题目职工工资管理系统设计院(系)计算机科学与信息工程学院专业班级学号学生姓名设计时间20 年 1 月日——2011 年 1 月日指导教师提交日期 20 年月日上海应用技术学院课程设计任务书目录1概述: .................................................................................. 错误!未定义书签。

1.1基本功能 (5)1.2拓展功能: (6)2课题分析 (7)2.1类的设计 (7)2.2类的实现 (8)3详细设计说明 (9)3.1程序主界面 (9)3.2方案 (9)3.3程序描述(输入INPUT) (9)3.4 运行结果............................................................11 4课程设计总结 (12)5软件使用说明 (13)6附录(参考文献,原代码:) (13)参考文献:................................................ 错误!未定义书签。

原代码 ................................................... 错误!未定义书签。

1概述:课程设计目的本课程设计是《面向对象程序设计》课程的后继教学环节,学好C++语言就必须坚持用面向对象的思维方式分析问题、解决问题,最好的方法是仿照教材编写C++实际应用程序。

根据教材中人事管理应用程序框架,在此基础上按要求完成以下实际应用程序。

1.1基本功能1.1.1输入员工信息输入员工信息包括以下几个信息点员工姓名员工编号(4位数)员工职务类型(1.技术经理2. 销售经理3. 技术人员4. 销售人员5. 文秘.)输入后将自动保存至info.txt文件中。

在每次输入的时候均判断输入的合法性。

面向对象程序设计实验一及实验报告样式

面向对象程序设计实验一及实验报告样式

《面向对象程序设计》实验一实验报告1 实验目的:(1)了解在VC++、C-free中如何编辑、编译、连接和运行一个C++程序;(2)掌握声明类的方法,类和类的成员的概念以及定义对象的方法(3)了解多文件的C++程序结构2 实验任务(1)输入两个整数,将它们按由大到小的顺序输出。

要求使用变量的引用;(2)编写一个程序,将两个字符串连接起来,结果取代第一个字符串;(3)声明Animal 类,数据成员有age,成员函数有SetAge()等。

首先把数据成员声明为公有的,在main()函数中访问,再把它改为私有的,指出在main()函数中访问会出现怎样的情况,如何避免?该程序需要在同一个文件中分别给出类的声明、类的实现、类的演示每部分的代码。

(4)声明日期类,数据成员有year、month、day,成员函数有输出日期、加一天等。

练习使用多文件结构来组织程序。

3 程序清单实验一:#include"iostream"using namespace std;int main(){int i,j;cout<<"input two number"<<endl;cin>>i>>j;swap(i,j);cout<<i<<","<<j<<endl;return 0;}void swap(int &a,int &b){int temp;temp=a;a=b;b=temp;}实验二:#include"iostream"#include"string"using namespace std;int main(){string string1,string2;cout<<"please input two string:";cin>>string1>>string2;string1=string1+string2;cout<<string1<<endl;return 0;}实验三:4 运行结果图1.1 任务一运行结果图2.1任务二运行结果5 总结或感悟(对运行结果所作的分析以及本次调试程序所取得的经验。

面向对象编程综合实训报告模板

面向对象编程综合实训报告模板

面向对象编程综合实训报告模板一、实训目的本次实训的主要目的是通过实际项目应用,使我们深入理解和掌握面向对象编程(OOP)的核心概念、原理和编程技术。

具体包括:1. 理解并掌握OOP的基本思想,包括封装、继承和多态等;2. 熟悉并掌握至少一种OOP语言(如Java、C++、Python等)的语法和特性;3. 学习和运用OOP在软件开发中的应用,如设计模式、软件架构等;4. 通过团队协作,提高我们的项目管理和团队协作能力。

二、实训内容1. 实训题目我们选择的实训题目是“[项目名称]”。

这是一个基于[技术栈/语言]的[项目类型],主要功能是[简要描述项目功能]。

2. 需求分析我们详细分析了项目的需求,包括功能需求、性能需求、用户界面需求等。

在功能需求方面,我们确定了系统需要实现的主要功能和辅助功能;在性能需求方面,我们设定了系统的响应时间、并发用户数等关键性能指标;在用户界面需求方面,我们设计了友好、易用的用户界面。

3. 系统设计根据需求分析结果,我们设计了系统的总体架构、数据库结构、类图、时序图等。

在总体架构设计上,我们采用了[架构名称]架构,将系统分为表示层、业务逻辑层和数据访问层;在数据库设计上,我们设计了合理的数据库表结构和索引;在类图设计上,我们详细设计了系统的类、属性、方法等;在时序图设计上,我们描述了系统主要功能的执行流程。

4. 编码实现我们按照系统设计,使用[编程语言]实现了项目的所有功能。

在编码过程中,我们遵循了良好的编程规范,保证了代码的可读性和可维护性。

同时,我们也注重代码的性能优化,确保系统能够满足性能需求。

5. 测试与调试我们对项目进行了全面的测试,包括单元测试、集成测试和系统测试。

在单元测试阶段,我们对每个模块进行了详细的测试,确保每个模块的功能都正确实现;在集成测试阶段,我们将各个模块集成在一起进行测试,确保模块之间的接口正确无误;在系统测试阶段,我们对整个系统进行了全面的测试,确保系统能够满足所有的需求。

面向对象设计实验报告

面向对象设计实验报告

一、实验目的1. 理解面向对象设计的核心概念,如封装、继承、多态等。

2. 掌握面向对象设计的方法和步骤。

3. 通过实际案例分析,提高面向对象设计的实践能力。

二、实验环境1. 操作系统:Windows 102. 编程语言:Java3. 开发工具:Eclipse三、实验内容1. 面向对象设计的基本概念2. 类与对象3. 继承与多态4. 实际案例分析四、实验步骤1. 面向对象设计的基本概念(1)定义:面向对象设计(Object-Oriented Design,OOD)是一种以对象为中心的设计方法,通过将现实世界中的实体抽象为对象,以对象及其相互关系来描述系统的结构和行为。

(2)核心概念:a. 封装:将对象的属性(数据)和行为(方法)封装在一起,对外提供接口。

b. 继承:允许一个类继承另一个类的属性和方法,实现代码复用。

c. 多态:允许不同类的对象对同一消息作出响应,实现行为的变化。

2. 类与对象(1)定义:类是具有相同属性和行为的对象的抽象,对象是类的实例。

(2)步骤:a. 定义类:创建一个新的类,定义属性(成员变量)和方法(成员函数)。

b. 创建对象:使用new关键字创建类的实例。

c. 访问对象属性和方法:使用点号(.)操作符访问对象的属性和方法。

3. 继承与多态(1)继承:定义一个新的类(子类)继承自另一个类(父类),子类继承父类的属性和方法。

(2)多态:允许不同类的对象对同一消息作出响应,实现行为的变化。

(3)步骤:a. 定义父类:创建一个父类,定义属性和方法。

b. 定义子类:创建一个子类,继承自父类,并添加新的属性和方法。

c. 实现多态:使用子类对象调用父类方法,实现不同对象对同一消息的不同响应。

4. 实际案例分析(1)案例分析:设计一个简单的图书管理系统。

(2)设计步骤:a. 分析需求:图书管理系统需要管理图书的增删改查等功能。

b. 设计类:设计图书类(Book)、借阅者类(Borrower)和管理员类(Admin)。

东北大学面向对象程序设计实验报告模板

东北大学面向对象程序设计实验报告模板

课程编号:B080103110
面向对象程序设计
实验报告
东北大学软件学院
一、实验目的
写出你认为比较重要的实验目的
二、实验内容
简短明确地写出实验的内容
三、实验步骤
(1)分析要解决的问题,给出你的思路。

(2)根据对问题的分析,写出你的设计思路,可以用类图等表达。

(3)给出你的关键数据结构设计。

(4)描述你在进行实现时,主要的功能或方法的实现。

(5)你在程序设计过程中遇到了怎样的问题?如何解决得?
(6)其它(你认为需要在此说明的)。

四、实验结果
(1)对不同的输入,该系统都存在哪几类可能出现的情况,你的测试数据要完全覆盖了你所想到的这些情况,并给出测试结果。

(2)测试过程中发现了哪些问题?你是如何解决这些问题的?
(3)其它(你认为需要在此说明的)。

五、实验总结
(1)阐述通过实验你对面向对象程序设计相关知识的认识和理解。

(2)你认为该系统还有其它设计和实现方案吗?
(3)其它(你认为需要在此说明的)。

教师评语或评价表格:。

面向对象程序设计实验报告

面向对象程序设计实验报告

面向对象程序设计实验报告【实验报告】面向对象程序设计一、引言面向对象程序设计是一种以对象为基础的软件开发方法,它将现实世界中的事物抽象成对象,并通过对象之间的交互来实现程序的功能。

本次实验旨在通过实践,加深对面向对象程序设计的理解,并掌握面向对象程序设计的基本原理和技巧。

二、实验目的1. 熟悉面向对象程序设计的基本概念和术语;2. 掌握面向对象程序设计的基本原理和技巧;3. 能够运用面向对象程序设计的思想解决实际问题。

三、实验内容1. 设计一个简单的图书管理系统;2. 实现图书的增删改查功能;3. 设计并实现图书管理系统的类结构;4. 编写测试代码,验证图书管理系统的功能。

四、实验步骤1. 设计图书管理系统的类结构:a. 创建一个Book类,包含图书的属性(书名、作者、出版社等)和方法(借阅、归还等);b. 创建一个Library类,用于管理图书馆的图书,包含添加图书、删除图书、查找图书等方法;c. 创建一个User类,用于表示图书馆的用户,包含借书、还书等方法;d. 创建一个Main类,作为程序的入口,用于测试图书管理系统的功能。

2. 实现图书的增删改查功能:a. 在Book类中实现图书的增删改查方法;b. 在Library类中调用Book类的方法,实现图书的增删改查功能。

3. 设计并实现图书管理系统的类结构:a. 根据实验要求,设计图书管理系统的类结构,包括Book、Library和User 类;b. 在每个类中定义相应的属性和方法,实现图书管理系统的功能。

4. 编写测试代码,验证图书管理系统的功能:a. 在Main类中创建图书馆和用户对象;b. 调用相应的方法,测试图书管理系统的功能;c. 检查输出结果,确保图书管理系统的功能正常运行。

五、实验结果与分析经过实验,成功设计并实现了一个简单的图书管理系统。

该系统具备图书的增删改查功能,用户可以通过借书和还书操作实现对图书的借阅和归还。

经过多次测试,系统运行稳定,功能正常。

面向对象程序设计实验报告(标准)

面向对象程序设计实验报告(标准)

面向对象程序设计实验报告(标准)南昌航空大学实验报告二年月日课程名称:面向对象程序设计B 实验名称:类与结构班级:XXXXXXX 学生姓名:XXXXXX 学号:指导教师评定:XX 签名: XXXXX1、实验目的·学习掌握声明和定义类及成员。

·学习掌握访问类对象成员。

·学习掌握保护数据如何屏蔽外部访问的原理,更好的认识类的封装2、实验内容(1)定义一个满足下列要求的Date类:①用下面的格式输出日期:日/月/年②可运行在日期上加一天操作③设置日期//Date.h#includeclass Date{public:void Display();void AddOneDay();void SetDay(int y,int m,int d);protected:bool Legal(int y, int m, int d);bool IsLeapYear(int y);int year;int month;int day;};void Date::Display(){ cout <<<endl;<="" <<}void Date::AddOneDay(){if(Legal(year,month,day+1))day++;else if(Legal(year,month+1,1))month++,day=1;else if(Legal(year+1,1,1))day=1,month=1,year++;}void Date::SetDay(int y, int m, int d){ if(Legal(y,m,d))day=d, month=m, year=y;}bool Date::Legal(int y, int m, int d){ if(y>9999||y<1||d<1||m<1||m>12)return false;int dayLimit=31;switch(m) case 4: case 6: case 9: case 11: dayLimit--;if(m==2) dayLimit = IsLeapYear(y) ? 29 : 28;return (d>dayLimit)? false : true;}bool Date::IsLeapYear(int y){ return !(y%4)&&(y%100)||!(y%400);}(2)定义一个时间类Time,能提供和设置由时、分、秒组成的时间,并编出应用程序,定义时间对象,设置时间,输出该对象提供的时间。

面向对象程序设计C++实验报告书1

面向对象程序设计C++实验报告书1

二、实验步骤 1、C++程序上机操作方法 (1)启动 Visual C++集成环境; (2)生成项目; (3)生成和编辑源程序; (4)将源程序文件加入到项目中 2.创建 HelloWord 工程,并在界面上将“Hello, World!”显示出来,同时说明工程中哪些为类,哪些 为对象,哪些为属性,哪些为方法。
面向对象程序设计 C++实验报告书
班级:
姓名:
学号:
实验项目类型 熟悉 Visual C++6.0 集成开 验 演 综 设 发环境/类和对象 1 证 示 合 计 √
课程名称
面向对象程序设计 C++
实验项目
指导isual C++6.0 集成开发环境及编辑简单源程序的方法; 2.掌握在 Visual C++6.0 集成开发环境中编译、调试与运行的方法; 3.掌握 C++数据类型的概念、标识符常量与变量的概念和定义方法、指针变量的概念、引用的概念 及定义方法; 4.掌握使用关键字 const 约束对象和指针访问的方法; 5.理解类的概念,会创建 C++的类。类的定义包括成员访问说明符、成员函数原型、构造函数、析 构函数和数据成员; 6.掌握运用 private 成员访问说明符来控制对对象数据成员和成员函数的访问
三、上机过程原始记录(源程序等) 1、include<iostream.h> int main() { cont<<"Hello, World!\n"; } 四、上机结果及分析 1、
2

面向对象程序设计实验报告

面向对象程序设计实验报告

面向对象程序设计实验报告姓名Name学号Student No.班级Class代码总行数Code Lines 实验名称Item1.实验目的综合应用所学的知识分析问题、解决问题,提高实际编程能力及程序调试能力。

2.实验内容设计并实现一个个人通信录,能记录人员的各种通信信息。

支持通信录条目的添加、查找、删除、修改。

要求:1)通信录需记录的个人信息自行设计。

2)要求采用图形用户界面(GUI),界面效果及事件处理方式自行设计,尽量考虑美观与易用性。

3)系统结构设计应采用面向对象的思想,发现问题域中的事物(常称为实体),抽象成类,建立实体类之间的关系。

同时建立实体类与界面类之间的关系。

要求程序结构设清晰合理。

3.关键代码public class AddressBook extends Frame implements ActionListener{private MenuItem noteAdd=new MenuItem("添加");private MenuItem noteDel=new MenuItem("删除");Private MenuItem noteEdit=new MenuItem("修改");private MenuItem noteSearch=new MenuItem("查找");private MenuItem noteExit=new MenuItem("退出");private List noteList=new List();private String[][]message=new String[1000][4];public Info notes=new Info();public AddressBook(){super("通讯录");Menu note=new Menu("编辑");note.add(noteAdd);note.add(noteDel);note.add(noteEdit);note.add(noteSearch);note.addSeparator();note.add(noteExit);MenuBar bar=new MenuBar();bar.add(note);setMenuBar(bar);add(noteList);noteAdd.addActionListener(this);noteDel.addActionListener(this);noteEdit.addActionListener(this);noteExit.addActionListener(this);noteSearch.addActionListener(this);noteList.addActionListener(this);addWindowListener(new WindowCloser());setSize(400,600);setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getSource()==noteAdd){notes.mail=null;=null;notes.address=null;notes.telephone=null;int index=noteList.getItemCount();EditDialog dlg=new EditDialog(this,"通讯录",notes,false);if(dlg.isOk){message[index][0]=dlg.textName.getText();message[index][1]=dlg.text Address.getText();message[index][2]=dlg.textEmail.getText();message[index][3]=dlg.textTelephone.getText();if(message[index][0]!=null){String s="姓名:"+message[index][0]+"地址:"+message[index][1]+"E-mail:"+message[index][2]+"电话:"+message[index][3];noteList.add(s);}}dlg.dispose();}else if(e.getSource()==noteEdit||e.getSource()==noteList){int i=noteList.getSelectedIndex();if(i!=-1){=message[i][0];notes.address=message[i][1];notes.mail=message[i][2];notes.telephone=message[i][3];面向对象程序设计实验报告EditDialog dlg=new EditDialog(this,"修改通讯录",notes,false);if(dlg.isOk){message[i][0]=dlg.textName.getText();message[i][1]=dlg.textAddress.getText();message[i][2]=dlg.textEmail.getText();message[i][3]=dlg.textTelephone.getText();String s="姓名:"+message[i][0]+"地址:"+message[i][1]+"E-mail:"+message[i][2]+"电话:"+message[i][3]; noteList.replaceItem(s,i);}dlg.dispose();}}else if(e.getSource()==noteDel){ConfirmDialog cd=new ConfirmDialog(this,"确认删除?","确认要删除这条通讯录信息吗?");if(cd.close){int index=noteList.getSelectedIndex();for(int i=index;i<noteList.getItemCount()-1;i++){for(int j=0;j<4;j++)message[i][j]=message[i+1][j];}noteList.remove(index);}}else if(e.getSource()==noteSearch){EditDialog dlg=new EditDialog(this,"查找通讯录",notes,true);if(dlg.isOk){for(int i=0;i<noteList.getItemCount();i++){String thisname=noteList.getItem(i).toString().split("")[0].split(":")[1];String thistelephone=noteList.getItem(i).toString().split("")[30].split(":")[1];if((.equals(thisname)&&dlg.telephone.equals(thistelephone))||(.equal s(thisname)&&(dlg.telephone.equals("")))||((.equals(""))&&dlg.telephone.equ als(thistelephone))){String show="查找成功!信息为:"+noteList.getItem(i).toString();JOptionPane.showMessageDialog(null,show);return;}}。

面向对象程序设计实验报告

面向对象程序设计实验报告

面向对象程序设计实验报告面向对象程序设计实验报告一、引言面向对象程序设计(Object-Oriented Programming,简称OOP)是一种广泛应用于软件开发的编程范式。

本实验旨在通过实践,加深对面向对象程序设计的理解,并掌握其基本概念和技巧。

二、实验目的1. 理解面向对象程序设计的基本概念和思想;2. 掌握类、对象、继承、封装、多态等面向对象的核心概念;3. 运用面向对象的思想设计和实现一个简单的程序。

三、实验过程1. 设计类和对象在本次实验中,我们选择实现一个简单的学生管理系统。

首先,我们需要设计一个学生类(Student),包括学生的姓名、年龄、学号等属性,并定义相关的方法,如获取学生信息、修改学生信息等。

然后,我们创建多个学生对象,模拟学生管理系统中的多个学生。

2. 继承和多态为了进一步理解继承和多态的概念,我们可以设计一个教师类(Teacher),继承自学生类。

教师类除了继承学生类的属性和方法外,还可以定义自己特有的属性和方法。

通过创建教师对象,我们可以看到继承和多态的效果。

3. 封装和访问控制在面向对象程序设计中,封装是一个重要的概念。

我们可以将学生类的属性设置为私有(private),并通过公有(public)的方法来访问和修改属性。

这样做的好处是可以保护属性的安全性,同时提供统一的接口供外部使用。

四、实验结果通过实验,我们成功地实现了一个简单的学生管理系统。

我们可以创建学生对象,并通过调用相关方法来获取和修改学生的信息。

同时,我们还实现了教师类,通过继承和多态的特性,我们可以灵活地使用学生和教师对象。

五、实验总结通过本次实验,我们深入了解了面向对象程序设计的基本概念和思想。

通过设计和实现一个简单的程序,我们掌握了类、对象、继承、封装、多态等核心概念,并学会了如何运用这些概念来设计和实现面向对象的程序。

面向对象程序设计具有很多优点,如代码的可重用性、可维护性、可扩展性等。

通过合理地设计类和对象,我们可以更好地组织和管理代码,提高开发效率和代码质量。

《面向对象程序设计》实验报告十一

《面向对象程序设计》实验报告十一

《面向对象程序设计》实验报告实验十一绘制图形【实验目得】掌握使用图形类Graphics 画出不同图形得方法。

【实验内容】(选做一题)1、编写绘制圆形程序DrawOval、java。

点击“确定”按钮时,在画布得指定位置画圆。

2、编写移动方块程序MoveSquare、java。

程序由二个类组成:窗体主类(表现层)负责控制,确定所有组件得位置,处理用户对方块得操作。

画布MoveCanvas类(逻辑层)负责绘图,其paint负责绘制方块,其方法moveUp,moveDown,moveLeft,moveRight分别响应窗体主类actionPerformed 方法得对应得按钮事件,再调用repaint方法来刷新图像。

【实验报告】具1、编写绘制圆形程序DrawOval、java。

点击“确定”按钮时,在画布得指定位置画圆。

体实验内容运行成功得程序为:import java、awt、event、ActionEvent;import java、awt、event、ActionListener;import java、awt、*;import javax、swing、*;public class DrawOval extends JFrame implements ActionListener { Ovalcanvas canvas;JTextField in_R,in_X,in_Y;JButton btn;public static void main(String[] args) {// TODO Autogenerated method stubDrawOval DrawOval=new DrawOval;}public DrawOval {super("画布上绘制圆");setSize(600,300);setVisible(true);canvas=new Ovalcanvas;in_R=new JTextField(6);in_X=new JTextField(6);in_Y=new JTextField(6);setLayout(new FlowLayout);add(new JLabel("输入圆得位置坐标:"));add(in_X);add(in_Y);add(new JLabel("输入圆得半径:"));add(in_R);btn=new JButton("确定");btn、addActionListener(this);add(btn);下面为具体实验过程:(1)运行,出现错误,主要就是“cannot be resolved to a type”得错误。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Com(a,b,c);
Com(d,,e);
Com(p,q,r);
}
Int com(int x,int y=5,int z)
{if(x>y)
{if(x>z)
cout<<"最大数为:"<<x<<endl;
else
cout<<"最大数为:"<<z<<endl;
}
else
{if(y<z)
cout<<"最大数为:"<<z<<endl;
3、进一步掌握C++程序的调试方法。
三、实验内容
1、定义一个函数,比较两个数的大小,形参分别使用指针和引用。
2、求不同类型的三个数的最大值,要求分别采用如下三种方法:
(1)、使用重载函数方法。
(2)、使用函数模板方法。
(3)、使用带缺省参数的函数。
3、创建一个学生链表,进行链表的插入、删除、查找相关操作,要求
else
cout<<"最大数为:"<<y<<endl;
}
return x,y,z;
}
运行界面:5 6 7
7
3.#include<iostream>
#include<string>
#include <windows.h>
#define null 0
using namespace std;
struct stu{
《面向对象程序设计》实验报告(二)
姓名
刘强
学号
2009033521
系别
数计系
班级
09信计
指导教师
陈书明
实验日期
2011.09.21
课程名称
《面向对象程序设计》
同组实验者
单独实验
一、实验名称:实验二C++对C语言的扩充
二、实验目的:
1、掌握CHale Waihona Puke +语言的引用的声明方法及使用。
2、掌握C++语言动态内存分配和释放、函数重载,函数模板相关知识点、
T init_stu(T *s)
{s=new(T);
s->next=null;
return *s;
}
void main()
{ stu *head,*elem;
int choose;
init_stu(head);
while(1){
cout<<"0--输入信息"<<"1--查找信息"<<"2--系统退出"<<endl;
string name ;
int num;
int age;
stu *next;
};
stu insert(stu *s,stu *data);
studel(stu *s,int n);
stu print(stu *s);
stu find(stu *s,int num);
template<class T>
2009033521刘强20
七、实验总结(一定要写)
对链表很不熟悉,很多代码都是经过很多遍的改动,诶,得得多多看书….
八、教师评语(或成绩)
教师签字:
年月日
注意:1、系里规定,每次实验务必有两份实验报告,一份是电子版实验报告,一份是纸质版实验报告。
2、电子版实验报告严格按照上面格式书写,纸质实验报告尽量尽量按照实验报告纸的格式书写,务必要完整书写实验五大部分(除实验题目外),特别是实验中的测试数据,输出结果。
(1)、使用函数模板
(2)、使用new和delete进行动态内存的分配和释放。
四、实验类型:验证
五、实验材料、工具、或软件
多媒体计算机、WINDOWS XP系统或纯DOS系统、Visual6.0 C++开发工具。
六、试验过程与体会:(实验代码,测试数据,输出数据以及调试过程)
1.#include <iostream>
}
Int com(int x,int y)
{
If(x>y)
{cout<<”形参为应用的情况如下:”<<endl;
Cout<<x;
Else
Cout<<y;
Return x,y;
}
}
Int comp(int *x,int *y){
If(*x>*y){
Cout <<”形参为指针的情况如下:”<<endl;
Cout <<*x;
}
Else
Cout<<*y;
Return *x,*y;
}
运行界面:5 6
6
2.#include "iostream"
using namespace std;
Int com(int x,int y=5,int z);
template <class t>
t max(t x,t y,t z){
cout<<"本系统中学生详细信息如下: "<<endl;
cout<<"学生学号学生姓名学生年龄"<<endl;
while(s!=null)
{cout<<s->name <<s->num <<s->age <<endl;
s=s->next;
}
return *s; }
运行界面:2009033521刘强20
cin>>choose;
switch(choose){
case 0:elem=new(stu);
cout<<"输入学生信息:姓名--学号--年龄"<<endl;
cin>>elem->name>>elem->num>>elem->age;
insert(head,elem);
case 1:
print(head);
Using namespace std;
Int com(int x,int y);
Int comp(int *x,int *y);
Void main(){
Int a,b;
Cout<<”输入俩个数:”<<endl;
Int &ref=a,&reh=b;
Cin>>a>>b;
Com(ref,reh);
Comp(&a,&b);
case 2:exit(1);
}
}
}
stu insert(stu *s,stu *data){
stu *temp;
if(s->next!=null&&data!=null)
{temp=s->next;
s->next=data;
data->next=temp;
}
return *s;
}
stu print(stu *s){
int a,b,c;
float d,e,f;
char p,q,r;
cin>>a>>b>>c;
cin>>d>>e>>f;
cin>>p>>q>>r;
Cout<<”函数模板的情况:”<<endl;
max(a,b,c);
max(d,e,f);
max(p,q,r);
Cout<<”缺省参数的情况为:”<<endl;
if(x>y)
{if(x>z)
cout<<"最大数为:"<<x<<endl;
else
cout<<"最大数为:"<<z<<endl;
}
else
{if(y<z)
cout<<"最大数为:"<<z<<endl;
else
cout<<"最大数为:"<<y<<endl;
}
return x,y,z;
}
void main(){
相关文档
最新文档