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

合集下载

实验二面向对象的程序设计

实验二面向对象的程序设计

实验二面向对象的程序设计(2课时)一、实验目的1 )熟悉类的定义和使用。

2)掌握创建对象的方法。

3)掌握只读字段的声明及使用。

4)学习定义和使用带参数构造函数。

5)熟悉访问权限控制符。

6)掌握属性的定义和使用。

7)掌握关键字this。

8)理解继承的概念,学会定义和使用派生类。

9)学会定义和使用接口。

10)掌握继承过程中的方法重写,区分它与方法隐藏、方法重载的不同。

11)掌握多态。

12)熟悉关键字base。

二、实验要求1)程序结构清晰、语句完整,包含有头文件和main函数;2)格式正确,语句采用缩进格式;3)设计子函数实现题目要求的功能;4)编译、连接通过,熟练使用命令键;5)运行结果正确,输入输出有提示,格式美观。

三、实验设备、材料和工具1)奔腾2计算机或以上机型2)C#.NET2008四、实验内容和步骤实验内容:1、创建一个描述图书信息的类并测试。

类中应保存有图书的书号、标题、作者、出版社、价格等信息。

步骤:1)定义图书类Book,Book类中包含isbn(书号)、title (标题)、author(作者)、press (出版社)、price (价格)等私有字段。

由于对一本书来说,书号是唯一的,因此,isbn字段应声明为只读的。

2)为Book类中的每个字段定义相应的属性,由于isbn字段只读的,其相应属性也应该是只读的。

3)为Book类定义两个构造函数,其中,一个构造函数将所有字段都初始化为用户指定的值,另一个构造函数只要求用户指定有关书号的信息,它将调用上一个构造函数初始化对象,初始化时,价格取0,除书号的其他信息取“未知”。

4)为Book类定义方法Show,Show方法用于显示图书的所有信息。

5)编写Main方法测试Book类,Main方法中分别使用上述两个构造函数创建Book对象。

2、根据几何图形的组合与继承关系定义用于描述点、直线、三角形、四边形、正方形、圆等几何图形的类(或结构)。

要求首先定义一个几何图形接口描述所有几何图形的共有特性,上述几何图形都必须现实该接口,并且其中用于描述点的类型最好定义为结构。

面向对象设计原则实验报告实验02

面向对象设计原则实验报告实验02

设计模式(2)实验报告一、实验目的1.结合实例,熟练绘制设计模式结构图。

2.结合实例,熟练使用 Java 语言实现设计模式。

3.通过本实验,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些设计模式。

二、实验要求1.结合实例,绘制设计模式的结构图。

2.使用 Java 语言实现设计模式实例,代码运行正确。

三、实验内容1.迭代器模式设计一个逐页迭代器,每次可返回指定个数(一页)元素,并将该迭代器用于对数据进行分页处理。

绘制对应的类图并编程模拟实现。

2.适配器模式某 OA 系统需要提供一个加密模块,将用户机密信息(例如口令、邮箱等)加密之后再存储在数据库中,系统已经定义好了数据库操作类。

为了提高开发效率,现需要重用已有的加密算法,这些算法封装在一些由第三方提供的类中,有些甚至没有源代码。

试使用适配器模式设计该加密模块,实现在不修改现有类的基础上重用第三方加密方法。

要求绘制相应的类图并编程模拟实现,需要提供对象适配器和类适配器两套实现方案。

3.模板方式模式和适配器模式在某数据挖掘工具的数据分类模块中,数据处理流程包括 4 个步骤,分别是:①读取数据;②转换数据格式;③调用数据分类算法;④显示数据分类结果。

对于不同的分类算法而言,第①步、第②步和第④步是相同的,主要区别在于第③ 步。

第③步将调用算法库中已有的分类算法实现,例如朴素贝叶斯分类(Naive Bayes)算法、决策树(DecisionTree)算法、K 最近邻(K-NearestNeighbor , KNN)算法等。

现采用模板方法模式和适配器模式设计该数据分类模块,绘制对应的类图并编程模拟实现。

4.工厂方法模式在某网络管理软件中,需要为不同的网络协议提供不同的连接类,例如针对 POP3 协议的连接类 POP3Connection、针对 IMAP 协议的连接类 IMAPConnection 、针对 HTTP 协议的连接类 HTTPConnection 等。

《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个正整数中的最大数。

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

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

《面向对象程序设计》实验一实验报告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 总结或感悟(对运行结果所作的分析以及本次调试程序所取得的经验。

《面向对象程序设计》实验指导书 (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)删除中间的节点,再顺序输出学生信息。

实验2-C++对C的扩充

实验2-C++对C的扩充

电子信息学院实验报告书课程名:面向对象程序设计题目:实验2 C++对C的扩充实验类别:设计研究型班级:BX1004学号:姓名:施程程1、实验目的〔1〕了解在面向过程程序设计中功能的扩充与增强,并善于在编写过程中应用这些新的功能。

〔2〕进一步熟悉在所用的系统上编辑、编译、连接和运行C++程序的方法。

〔3〕进一步熟悉C++程序的结构和编程方法。

2、实验内容要求事先编好解决下面问题的程序,然后上机输入并调试运行。

(1)输入以下程序,进行编译,观察编译情况,如果有错误,请修改程序,再进行编译,直到没有错误,然后进行连接和运行,分析运行结果。

#include<iostream>using namespace std;int main〔〕{int a,b;c=add〔a,b〕cout<<“a+b=”<<c<<endl;return 0;}int add〔int x,int y〕{z=x+y;return〔z〕;}(2)编一个程序,用来求2个或3个正整数中的最大数。

1、用不带默认参数的函数实现。

2、用带有默认参数的函数实现。

比照两种方法,分析用带有默认参数的函数的优点和应用场合,总结如何选择默认b参数的值。

请分析此题中默认参数的值应该在什么范围。

(3)对3个变量按由小到大顺序排序,要求使用变量的引用。

1、使用指针方法2、使用变量的的引用请总结引用时要注意什么问题。

(4)有5个字符串,要求对他们按由小到大的顺序排列,用string方法,(5)编译一个程序,用同一个函数名对n个数据进行从小到大排序,数据类型可以是整型、单精度型、双精度型。

1、用重载函数实现。

2、用函数模板实现。

比较这两种方法各有什么特点,什么情况下可以用函数模板代替重载函数?3.实验结果〔1〕程序:#include <iostream>using namespace std;int main( ){int add(int x,int y);int a,b,c;cin >> a >> b;c=add(a,b);cout <<" a+b=" << c <<endl;return 0;}int add(int x,int y){int z;z=x+y;return(z);}运行结果:〔2〕程序1:用不带默认参数的函数实现#include <iostream>using namespace std;int main( ){int max(int a,int b,int c);int max(int a,int b);int a,b,c;cin >> a >> b >> c;cout << " max(a,b,c)= " << max(a,b,c) << endl;cout << " max(a,b)= " <<max(a,b) << endl;return 0;}int max(int a,int b,int c){if(b>a) a=b;if(c>a) a=c;return a;}int max(int a,int b){if(a>b) return a;else return b;}运行结果:程序2:用带有默认参数的函数实现#include <iostream>using namespace std;int max(int a,int b,int c=0){if (b>a)a=b;if (c>a)a=c;return a;}int main(void){int a,b,c;cin >> a >> b >> c;cout << " max(a,b,c)= " << max(a,b,c) << endl;cout << " max(a,b)= " <<max(a,b) << endl;return 0;}运行结果:有时多次调用同一函数时用的是同样的实参直,C++提供的带有默认参数的的使用更加方便,给形参一个默认值,这样形参就不必一定要从实参取值了。

Java程序设计-试验2(学生版)

Java程序设计-试验2(学生版)

Java程序设计-试验2(学生版)
华北电力大学
实验报告
实验名称Java程序面向对象设计(一)课程名称Java程序设计
专业班级:学生姓名:
学号:成绩:指导教师:张学斌实验日期:
自己的speed的值增加80
【代码10】//car2调用speedUp方法将自己的speed的值增加80
System.out.println("car1目前的速度:"+car1.getSpeed());
System.out.println("car2目前的速度:"+car2.getSpeed());
car1.speedDown(10);
car2.speedDown(20);
System.out.println("car1目前的速度:"+car1.getSpeed());
System.out.println("car2目前的速度:"+car2.getSpeed());
}
}
1.3 实验指导
●创建一个对象时,成员变量被分配空间,这些内
存空间称作该对象的实体或变量,而对象中存放着引用,以确保这些变量被该对象操作使用。

●空对象不能使用,即不能让一个空对象去调用方
法产生行为。

假如程序中使用了空对象,在运行时会产生异常:NullPointerException,对象时。

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

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

面向对象程序设计(C++)实验报告姓名:刘九州学院:数学与计算机学院班级:10级计算机大类三班学号:100511314实验5 单继承一、实验目的1.掌握派生的类别与方式;2.了解派生类中如何使用基类的成员、基类成员在派生类中的访问控制;3. 掌握继承中构造函数和析构函数的调用过程。

二、实验内容及步骤1.给出一个Document类,从Document派生出Book类,增加PageCount变量。

在主函数中进行测试,创建Book类对象并进行初始化,输出书名和页数。

2.设计一个单基继承的类层次程序,利用Person类派生出Student类,增加属性xh(学号),Person类中至少有姓名、年龄等数据成员,成员函数中构造函数对其初始化,析构函数释放相应存储单元,输出函数输出其数据成员的值,其它成员函数根据需要添加,在主函数中进行测试。

3.设计一个人员类person和一个日期类date,由人员类派生出学生类student和教师类professor,学生类和教师类的数据成员birthday为日期类。

在主函数中进行测试。

三、实验源程序和运行结果实验(一)源程序:#include<iostream>#include<string>using namespace std;class Document{public:Document(){};~Document();Document(char*name);char *Name;void PrintNameOf();};Document::Document(char*name){Name=new char[strlen(name+1)];strcpy(Name,name);}Document::~Document(){delete []Name;}void Document::PrintNameOf(){cout<<Name<<endl;}class Book:public Document{public:int PageCount;Book(char *a,int b):Document(a){PageCount=b;}};void main(){char BookName[20];int n;cout<<"请输入书名:"<<endl;cin>>BookName;cout<<"请输入书的页数:"<<endl;cin>>n;Book b(BookName,n);cout<<"书名为:"<<<<endl;cout<<"页数为:"<<b.PageCount<<endl;}运行结果:实验(二)源程序:#include<iostream>#include<string>using namespace std;class person{public:person(){name="张三";age=0;}person(string c,int a){name=c;age=a;}~person(){}void setname(string c){name=c;}string getname(){return name;}void setage(int a){age=a;}int getage(){return age;}private:string name;int age;};class student:public person{public:student(){xh=0;}student(int d){xh=d;}student(string c,int a,int d):person(c,a){xh=d;}~student(){}void setxh(int d){xh=d;}int getxh(){return xh;}private:int xh;};void main(){string c;cout<<"请输入学生的姓名:\n";cin>>c;cout<<"请输入学生的年龄:\n";int a;cin>>a;cout<<"请输入学生的学号:\n";int d;cin>>d;student n(c,a,d);cout<<"请输入学生的姓名为:"<<n.getname()<<endl;cout<<"请输入学生的年龄为:"<<n.getage()<<endl;cout<<"请输入学生的学号为:"<<n.getxh()<<endl; }运行结果:实验(三)源程序:#include<iostream>using namespace std;class person{public:person(){name="张三";age=0;}person(string c,int a){name=c;age=a;}~person(){}void setname(string c){name=c;}string getname(){return name;}void setage(int a){age=a;}int getage(){return age;}private:string name;int age;};class date{public:date(){year=2011;month=12;day=17;}~date(){}date(int y,int m,int d){year=y;month=m;day=d;}int getyear(){return year;}int getmonth(){return month;}int getday(){return day;}private:int year;int month;int day;};class student:public person{public:student(){// birthday.date();}student(int y,int m,int d):birthday(y,m,d){}~student(){}void getbirthday(){cout<<"学生的生日为:\n";cout<<birthday.getyear()<<"年"<<birthday.getmonth()<<"月"<<birthday.getday()<<"日"<<endl;}private:date birthday;};class teacher:public person{public:teacher(){// birthday.date();}teacher(int y,int m,int d):birthday(y,m,d){//birthday.date(y,m,d);}~teacher(){}void getbirthday(){cout<<"老师的生日为:\n";cout<<birthday.getyear()<<"年"<<birthday.getmonth()<<"月"<<birthday.getday()<<"日"<<endl;}private:date birthday;};void main(){cout<<"请输入学生的生日:"<<endl;int y,m,d;cin>>y>>m>>d;student s(y,m,d);cout<<"请输入老师的生日:"<<endl;cin>>y>>m>>d;teacher t(y,m,d);s.getbirthday();t.getbirthday();}运行结果:实验6 多继承一、实验目的1.掌握多基继承的使用,访问方法;2.理解类层次中访问规则;3.掌握虚基类的定义及使用。

2015vc实验二

2015vc实验二

《Visual C++ 面向对象与可视化程序设计》实验报告
实验二:API函数的应用
班级:
姓名:
学号:
一、实验目的
1.使用API函数编制包含各种资源的Windows应用程序;
2.实现Windows应用程序对键盘与鼠标的响应。

二、实验内容
1、创建一个菜单,其中有三个菜单项,分别为“文件”、“计算”和“帮助”,其
中,“文件”菜单项包含“打开”、“保存”、“画图”、“退出”等菜单选项;
“计算”菜单包含“总和”、“方差”、“均方差”等菜单选项;“帮助”菜单项包含“计算总和帮助”、“计算方差帮助”和“计算均方差帮助”以及“关于”等项。

2、若单击“画图”菜单项,则绘出P103图形。

3、若在用户区内按下鼠标左键,则动态创建一个包括“删除计算总和”、“添加计
算平均值”和“修改计算均方差”三个菜单项的弹出式菜单,由此菜单控制“计算”菜单中菜单项删除、添加与修改。

(要求新的弹出式菜单开始时不可用,按下右键后变为可用。

)单击“修改计算均方差”菜单项后,“计算”菜单下的“计算均方差”项改为“线性拟合”,单击“添加计算平均值”菜单项后,“计算”菜单中添加上了“计算平均值”菜单项。

2、将光标设定为自己名字中的某个字、图标设定为自己名字中的另一个字。

三、程序代码
//程序:*.cpp
//程序:*.rc
//程序:*.h
四、实验心得
1。

类与对象基础实验(二)实验报告

类与对象基础实验(二)实验报告

浙江大学城市学院实验报告课程名称面向对象程序设计实验项目名称类与对象基础(二)学生姓名葛添翼专业班级计算0903 学号30901183一. 实验目的和要求1.掌握String类与StringBuffer类2.掌握数组对象的使用3.掌握基本数据类型的包装类的使用二. 实验内容1. 编程实现:解析身份证号码的生日。

2. 编程实现:字符串比较和转换。

3. 编程实现:解析身份证号码的地区。

4. 编程实现:数组操作。

三. 实验结果与分析(可将程序运行结果截屏,也可分析运行结果)1. 编程实现:解析身份证号码的生日。

要求从键盘输入身份者号码字符串,将其中生日信息提取,并屏幕显示。

(身份证号码验证,只需要验证身份证号码为18位)。

请分析并回答以下问题:(1)程序源码如下:import java.util.*;public class test1 {public static void main(String args[]){Scanner scanner = new Scanner(System.in);System.out.println("请输入身份证号!");String a = scanner.next();int b =a.length();if (b == 18)System.out.println(a.substring(6,10)+'-'+a.substring(10,12)+'-'+a .substring(12,14));elseSystem.out.println("error!");}}(2)请将运行结果截图:2.编程实现:字符串比较和转换。

编写一个Java应用程序,判断两个字符串是否相同,判断字符串的前缀、后缀是否和某个字符串相同,按照字典顺序比较两个字符串的大小关系,检索字符串,创建子字符串,将数字型字符串转换为数字,将字符串存放到数组中,用字符数组创建字符串。

JAVA实验报告

JAVA实验报告

学生实验报告课程名称:面向对象程序语言(Java)年级:专业:学号:姓名:指导教师:实验地点:学年至学年度第学期1.目录实验一初识Java——“一个简单的应用程序”实验二基本数据类型与数组——“输出希腊字母表”实验三分支与循环语句——“猜数字游戏”实验四类与对象——“机动车”实验五类与对象——“家中的电视”实验六类与对象——“共饮同井水”实验七类与对象——“求方程的根”实验八子类与继承——“中国人、北京人和美国人”实验九子类与继承——“银行计算利息”实验十子类与继承——“公司支出的总薪水”实验十一接口与实现——“评价成绩”实验十二内部类与异常类——“检查危险品”实验十三常用实用类——“检索简历”实验十四组件及时间处理——“计算三角形的面积”实验十五实验十六实验(一)初识Java——“一个简单的应用程序”实验时间:2017年02月21日实验目的本实验的目的是让学生掌握开发Java应用程序的三个步骤:编写源文件、编译源文件和运行应用程序实验要求编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,欢迎学习Java”和“We are students”。

实验内容public class Hello {public static void main (String args[ ]) {System.out.println("你好,很高兴学习Java"); //命令行窗口输出"你好,很高兴学习Java"A a=new A();a.fA();}}class A {void fA() {System.out.println("We are students"); //命令行窗口输出"We are students"}}实验结果分析通过本次实验,在老师的指导下我学会了基本的JAVA编译原理,能够自行改变环境变量,能够成功编译出一个简单的应用程序,而且通过实验后的练习知道了一些基础的错误在JAVA中出现时编译器的提示信息是怎样的。

UML实验报告

UML实验报告

中南民族大学管理学院学生实验报告课程名称:UML面向对象分析与设计教程年级:专业:信息管理与信息系统学号:姓名:指导教师:实验地点:管理学院综合实验室2013 学年至2014 学年度第2 学期目录实验一UML建模基础实验二用例图实验三UML类图实验四对象图实验五包图实验六动态模型图实验(一)UML建模基础实验时间:实验目的1.熟悉UML建模工具Rational Rose的基本菜单及操作。

2.掌握UML的三大组成部分及各部分作用。

3.掌握UML的可见性规则和构造型的作用。

实验内容1.练习使用建模工具建立各种UML图形,并对图形进行相应编辑和修改。

2.认识各种UML关系及可见性符号,并用工具表示出来。

答:各种UML关系如下:分析与讨论1.总结UML在软件工程中的作用以及使用UML建模的必要性。

答:统一建模语言(UML)是用来对软件密集系统进行可视化建模的一种语言,也是为面向对象开发系统的产品进行说明、可视化、构造和编制文档的一种语言。

UML作为一种模型语言,它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现。

当模型建立之后,模型可以被UML工具转化成指定的程序语言代码。

UML可以贯穿软件开发周期中的每一个阶段,最适于数据建模、业务建模、对象建模、组件建模。

UML展现了一系列最佳工程实践,这些最佳实践在对大规模、复杂系统进行建模方面,特别是在软件架构层次方面已经被验证有效。

UML是一种功能强大的,面向对象的可视化系统分析的建模语言,它的各个模型可以帮助开发人员更好地理解业务流程,建立更可靠,更完善的系统模型,从而使用户和开发人员对问题的描述达到相同的理解,以减少语义差异,保障分析的正确性。

指导教师批阅:实验(二)用例图实验时间:实验目的1.掌握用例的概念、UML用例图的组成、作用以及使用场合。

2.掌握用例与用例之间的各种关系。

3.用Rational Rose工具练习教材中的用例图。

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

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

学生学号27实验课成绩学生实验报告书实验课程名称面向对象的信息系统设计开课学院管理学院指导教师姓名刘勇军学生姓名张佳琦学生专业班级信管12022014 —2015 学年第一学期实验报告填写规范1、实验是培养学生动手能力、分析解决问题能力的重要环节;实验报告是反映实验教学水平与质量的重要依据。

为加强实验过程管理,改革实验成绩考核方法,改善实验教学效果,提高学生质量,特制定本实验报告书写规范。

2、本规范适用于管理学院实验课程。

3、每门实验课程一般会包括许多实验项目,除非常简单的验证演示性实验项目可以不写实验报告外,其他实验项目均应按本格式完成实验报告。

在课程全部实验项目完成后,应按学生姓名将各实验项目实验报告装订成册,构成该实验课程总报告,并给出实验课程成绩。

4、学生必须依据实验指导书或老师的指导,提前预习实验目的、实验基本原理及方法,了解实验内容及方法,在完成以上实验预习的前提下进行实验。

教师将在实验过程中抽查学生预习情况。

5、学生应在做完实验后三天内完成实验报告,交指导教师评阅。

6、教师应及时评阅学生的实验报告并给出各实验项目成绩,同时要认真完整保存实验报告。

在完成所有实验项目后,教师应将批改好的各项目实验报告汇总、装订,交课程承担单位(实验中心或实验室)保管存档。

4、选择标记选择数据源,并选择新建数据源5、选择数据库选项7、下一步之后,全选“*”8、测试查询9、点击完成后点击,自动套用格式10、可于编辑列中更改外观列名11、属性中建立更改、删除、添加功能12、设置分页功能13、运行初始结果如下图六、实验结果与讨论实验运行结果截图:1、初始运行结果2、点击编辑按钮3、点击删除4、完整代码using System;using System.Collections.Generic;using System.Data;using System.Data.SqlClient;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;namespace WebApplication29.Gridview_1{public partial class WebForm2 : System.Web.UI.Page{protected void GridViewBind(){//实例化SqlConnection对象SqlConnection conn = new SqlConnection();conn.ConnectionString = "Data Source=(local);Initial Catalog=C#zuoye;Integrated Security=True";string sqlstr = "select Number,Name,Type,Price from Table_1";//确定所要引用的列//实例化SqlCommand对象SqlCommand cmd = new SqlCommand(sqlstr, conn);//异常处理try{conn.Open();SqlDataAdapter sda = new SqlDataAdapter();sda.SelectCommand = cmd;DataSet ds = new DataSet();sda.Fill(ds, "Employees");//数据源{//实例化SqlConnection对象conn = new SqlConnection();conn.ConnectionString = "Data Source=(local);Initial Catalog=C#zuoye;Integrated Security=True";string sqlstr="select Number,Name,Type,Price from Table1";//确定所要引用的列//实例化SqlCommand对象cmd = new SqlCommand(sqlstr,conn);//异常处理try{conn.Open();SqlDataAdapter sda = new SqlDataAdapter();sda.SelectCommand = cmd;DataSet ds = new DataSet();sda.Fill(ds, "Employees");//数据源GridView1.DataSource = ds;GridView1.DataKeyNames = new string[] { "ID" }; //设置主键GridView1.DataBind();}//捕获异常catch (Exception exp){Response.Write(exp.Message); }finally{conn.Close();}4、实现GridView的编辑功能protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) {GridView1.EditIndex = e.NewEditIndex;GridViewBind(); }//编辑功能下的取消事件protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e){ GridView1.EditIndex = -1;GridViewBind();}//编辑功能下的更新事件protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { conn = new SqlConnection();conn.ConnectionString = ""Data Source=(local);InitialCatalog=C#zuoye;Integrated Security=True";string sqlstrupd = "update Table1 set Number='" +((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim() + "'Name='" +((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim() + "'Type='" +((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim() + "'Price='" +((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[0])).Text.ToString().Trim() + "'where Number='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";cmd = new SqlCommand(sqlstrupd,conn);conn.Open();cmd.ExecuteNonQuery();conn.Close();GridView1.EditIndex = -1;GridViewBind();}5、实现GridView的删除功能protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e) { string sqlstrdel = "delete from Table1 where Number='" +GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";conn = new SqlConnection();conn.ConnectionString = ""Data Source=(local);InitialCatalog=C#zuoye;Integrated Security=True";cmd = new SqlCommand(sqlstrdel, conn);conn.Open();cmd.ExecuteNonQuery();conn.Close();GridViewBind();}6、实现GridView的分页功能protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e){GridView1.PageIndex = e.NewPageIndex;GridViewBind();}对应的前台代码为:AllowPaging="true" PageSize="4”OnPageIndexChanging="GridView1_PageIndexChanging"<PagerSettings Mode="NextPreviousFirstLast" FirstPageText="首页" LastPageText="末页" NextPageText="下一页" PreviousPageText="上一页" />六、实验结果与讨论实验运行结果截图:1、初始页面:2、点击编辑:3、点击删除4、总结刚学习C#的时候,感觉很难,做的时候出现很多错误而且我是照着书打代码还有错误,那时的感觉是迷茫的。

java实验报告实验2答案(共5篇)

java实验报告实验2答案(共5篇)

java实验报告实验2答案(共5篇)第一篇:java实验报告实验2答案互联网软件应用与开发实验指导书实验二熟悉Applet,GUI编程实验目的:本实验旨在巩固同学们对上课所讲Applet,异常处理,java的控制加深理解,图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,对java的语法和编程有一个更加深入的理解,为同学们以后的能够用Java进行独立地编写桌面程序打下一定的基础。

了解如何使用布局管理器对组件进行管理,以及如何使用Java的事件处理机制。

实验内容:创建一个java项目,命名为experiment2。

(如何创建项目参考《实验一》的项目创建方法。

)(一)创建图形用户界面图形用户界面(Graphic User Interface,简称GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。

组件(Component)是构成GUI的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。

组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。

通过容器的add方法把组件加入到容器中。

1.在Applet中添加标签、按钮并使用网格布局(1)程序功能在Applet 容器中添加组件标签、按钮,并使用网格布局管理器排列组件在容器中的位置。

(2)编写LX6_1.java 程序文件,源代码如下:import java.awt.*;import java.applet.Applet;public class LX6_1 extends Applet { Label l1;Button b1, b2, b3, b4, b5,b6;public void init(){互联网软件应用与开发实验指导书setLayout(new GridLayout(3,3));// 设置网格布局(3 行3 列共9 个网格)l1=new Label(“标签1”);b1 = new Button(“按钮1”);b2 = new Button(“按钮2”);b3 = new Button(“按钮3”);b4 = new Button(“按钮4”);add(l1);add(b1);add(b2);add(b3);add(newLabel());add(b4);add(new Button(“按钮5”));add(new Button(“按钮6”));add(new Label(“标签2”));} }(3)编译程序LX6_1.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++面向对象类与对象实验报告图书管理系统
if(b)
{c.borrow(c);}
else
{c.retore(c);}
}
};
inti;
voidBook::set()//定义成员函数
{
cin>>i;
Book::price=10;
Book::number=100;
Book::sum=1000;
}
intBook::borrow(Bookc)
{
c.number=c.number-1;c.sum=c.sum-1;
c.display();
实验环境
WindowXp,VisualC++6.0
ok类,在该类定义中包括:
(1)数据成员:bookname(书名)、price(价格)和number(数量)。
(2)成员函数:display()显示图书的情况;borrow()将存书数量减1,并显示当前存书数量;restored()将存书数量加1,并显示当前存书数量。
cout<<"书的总库存是:"<<Book::sum<<endl;
}
voidmain()
{
Bookc;//定义类
cout<<"书的名字:"<<""<<"输的号码:"<<endl;
cout<<"数学"<<""<<"1"<<endl;
cout<<"语文"<<""<<"2"<<endl;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ZHUHAI CAMPAUS OF BEIJING INSTITUTE OF TECHNOLOGY
班级:13级计算机3班学号:130201031001 姓名:陆伟杰指导教师:谭忠兵
实验题目:类和对象实验时间:2014-04-09 成绩:
一、实验内容
程序1.编写一个学生和教师数据输入和显示程序,学生数据有编号、姓名、班号和成绩,教师数据有编号、姓名、职称和部门。

要求将编号、姓名输入和显示设计成一个类person,并作为学生数据操作类student和教师数据操作类teacher的基类。

程序2.设计一个楼房基类building,属性有floors(表示楼房层数)、areas(表示建筑面积)和name(表示建筑名称)。

建立派生类house表示居住楼,增加成员ds表示单元数。

建立派生类office表示办公楼,增加成员cs表示公司数。

为每个类定义一个输出函数print,输出该类的相关信息。

程序3.定义点类,然后由点类生成圆类,再由圆类生成圆柱体类。

圆类的属性有圆心、半径;方法有构造函数、析构函数、显示、计算面积。

圆柱体类的新增属性有高度;方法有构造函数、析构函数、显示、计算体积。

类的应用:创建一个圆柱体对象,显示其信息,求它的体积。

二、问题分析(类的数据成员、成员函数等的确定,对象的创建等)
三、程序实现(完整程序)
四、调试与运行
五、实验总结:
1、学到了xxx。

2、遇到了什么问题,如何解决的。

3、实验中需要特别注意什么,有哪些细节和技巧。

1。

相关文档
最新文档