实验报告(9)(面向对象程序设计(Java))(15级计科0140何超健)
- 格式:doc
- 大小:58.00 KB
- 文档页数:5
《面向对象程序设计》实验报告一.实验目的与要求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型记录。
面向对象编程实验报告一、实验目的本次实验旨在通过面向对象编程的方式,设计并实现一个简单的学生信息管理系统,加深对面向对象编程原理和概念的理解,并掌握面向对象编程的应用技巧。
二、实验内容1. 设计学生类(Student):包括学生的基本信息(学号、姓名、性别、年龄等)以及相关操作(添加信息、修改信息、删除信息等)。
2. 设计班级类(Class):包括班级的基本信息(班级编号、班级名称等)以及与学生类的关联关系(一个班级包含多个学生)。
3. 设计主程序类(Main):用于对学生信息进行管理和操作,包括添加学生、删除学生、修改学生信息、查询学生信息等功能。
4. 编写测试用例:对设计的学生信息管理系统进行测试,保证系统能够正常运行并实现预期功能。
三、实验步骤1. 设计学生类(Student):首先确定学生类的属性和方法,定义学生类的成员变量(学号、姓名、性别、年龄)以及成员方法(添加学生信息、修改学生信息、查询学生信息等)。
2. 设计班级类(Class):确定班级类的属性和方法,包括班级编号、班级名称以及一个包含学生信息的集合,设计班级类与学生类的关联关系。
3. 编写主程序类(Main):在主程序类中实现学生信息的管理功能,通过用户输入选择对学生信息的操作,调用学生类和班级类中的方法实现相应功能。
4. 编写测试用例:设计多个测试用例,分别测试添加学生、删除学生、修改学生信息等功能,确保系统能够正确运行并实现预期功能。
四、实验结果分析经过测试,学生信息管理系统能够正常运行并实现预期功能。
用户可以通过主程序类对学生信息进行添加、删除、修改和查询操作,操作界面友好,操作流程清晰,便于用户操作和管理学生信息。
五、实验总结通过本次实验,我深入理解了面向对象编程的原理和概念,掌握了面向对象编程的应用技巧,提升了对Java编程语言的熟练程度。
面向对象编程具有代码复用、维护方便和高扩展性等优点,是一种高效的编程思想。
在今后的学习和工作中,我将继续深入研究面向对象编程,不断提升自己的编程能力。
一、实验目的1. 理解面向对象编程的基本概念和原理。
2. 掌握面向对象编程语言(如Java、Python)的基本语法和编程技巧。
3. 通过实验,加深对面向对象编程思想的理解,提高编程能力。
二、实验环境1. 操作系统:Windows 102. 开发环境:Eclipse/PyCharm3. 编程语言:Java/Python三、实验内容1. 面向对象编程基本概念(1)面向对象编程(OOP)是一种编程范式,强调数据和操作数据的代码的封装。
(2)面向对象编程的基本要素包括:类(Class)、对象(Object)、继承(Inheritance)、多态(Polymorphism)和封装(Encapsulation)。
2. 类与对象的定义(1)定义一个名为“Student”的类,包含以下属性:姓名(name)、年龄(age)和性别(gender)。
(2)创建一个名为“Student”的对象,并初始化属性值。
3. 封装(1)将Student类的name、age和gender属性定义为私有属性,以防止外部直接访问。
(2)提供公有的setter和getter方法,用于访问和修改属性值。
4. 继承(1)定义一个名为“Student”的父类,包含姓名、年龄和性别属性。
(2)定义一个名为“Teacher”的子类,继承自“Student”类,并添加一个新的属性:职称(title)。
5. 多态(1)定义一个名为“Animal”的父类,包含一个名为“makeSound”的方法。
(2)定义一个名为“Dog”的子类,继承自“Animal”类,并重写“makeSound”方法。
(3)定义一个名为“Cat”的子类,继承自“Animal”类,并重写“makeSound”方法。
6. 实验代码以下是实验过程中编写的Java代码示例:```javapublic class Student {private String name;private int age;private String gender;public Student(String name, int age, String gender) { = name;this.age = age;this.gender = gender;}public void setName(String name) { = name;}public String getName() {return name;}public void setAge(int age) {this.age = age;}public int getAge() {return age;}public void setGender(String gender) {this.gender = gender;}public String getGender() {return gender;}}public class Teacher extends Student {private String title;public Teacher(String name, int age, String gender, String title) { super(name, age, gender);this.title = title;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}}public class Animal {public void makeSound() {System.out.println("Animal makes a sound"); }}public class Dog extends Animal {@Overridepublic void makeSound() {System.out.println("Dog barks");}}public class Cat extends Animal {@Overridepublic void makeSound() {System.out.println("Cat meows");}}```7. 实验结果与分析通过本次实验,我们掌握了面向对象编程的基本概念和原理,了解了面向对象编程语言的基本语法和编程技巧。
《面向对象程序设计》实习报告班级:电子商务学号:xx姓名xx指导教师:实习时间:2011.12.26-2012.1.6一、实习目的经过两个周的面向对象程序设计的实习,让我再次复习了SQL和VB 的相关知识,因为自己这这学期的课程中对VB和SQL都有学习。
虽然我们的上机课是有限的,但是在这次的实习中让我更加的对自己多掌握的知识做了个很详细的补充。
由于两个周基本上都是自己在电脑上亲自操作完成任务,所以我就更加熟悉和掌握其具体应用的方法。
当然在这个任务完成的工程中会遇到很多的难题,所以就要靠自己努力不懈的看书弄懂,还有问老师和四周的同学,把不懂的地方尽量通过这几种渠道把它弄懂。
在整个实习过程中,我清楚并掌握了SQL Server的集成环境、系统的菜单、工具栏、企业管理器、查询分析器的具体使用方法还有掌握了创建数据库、数据表等的方法,了解并知道数据表的操作命令以及T-SQL命令的使用。
在编写代码的时候,我大概了解VB基本命令的使用方法;掌握常用函数、表达式的使用方法,掌握程序控制结构的使用和程序设计,掌握变量的作用范围和自定义函数的使用。
以及熟悉了VB与数据库管理系统的连接方法等。
这些都是要通过自己的实际操作中慢慢的的熟悉和了解的。
我觉得这样的实习不仅让我在这两门重要的编程课中加深自己的知识,同时在以后的工作中能够有更大的用途。
这次的实习,在我自己来看,虽然还存在很多的问题,但是总体的效果还是很好的。
老师的逐渐提醒和同学们之间的共同商量,都能够让我受益匪浅。
还有还渐渐的掌握了一些小的程序的编程,这让我在vb和sql上有更加深刻的掌握,对我的以后工作还是学习上都是百利无一害的。
二、实验内容在这次的实习中我完成了SQL SERVER的基本操作,如创建学生情况表等三个表以及录入记录;SQL Server 与程序设计语言连接,从中对之前的三个表的录入信息等;程序设计语言基本算法中的求素数和自然数对、最大公约数和公倍数问题、百钱百鸡问题等;常用统计算法中的成绩统计和字符统计问题;常用排序方法中的选择排序法和二维数组排序问题;以及加密解密、数值转换问题;矩阵的综合运算;学生管理信息系统、集成界面已经程序封面的设计等问题。
面向对象程序设计实训报告总结面向对象程序设计是计算机科学与技术领域中重要的编程范式之一。
通过面向对象的思想,我们可以将问题分解为若干个对象,并通过对象之间的交互来解决问题。
在本次面向对象程序设计实训中,我学到了许多关于面向对象编程的知识和技能。
首先,我学会了如何定义类和创建对象。
在面向对象编程中,类是一种抽象的数据类型,用于定义对象的属性和行为。
通过定义类,我们可以创建多个对象,每个对象都有自己的属性值和方法。
在实训中,我通过定义各种类,如学生类、教师类等,来模拟一个学校管理系统。
这样,我可以根据需要实例化多个学生对象或教师对象,并对其进行操作。
其次,我学会了如何使用继承和多态。
继承是面向对象编程中的一种重要机制,通过继承,一个类可以从另一个类继承属性和方法。
在实训中,我通过创建一个基础的人类,然后从人类派生出学生类和教师类。
这样,学生类和教师类可以继承人类的属性和方法,并可以添加自己特有的属性和方法。
多态是指同一类对象在不同情况下会表现出不同的行为。
在实训中,我通过多态的方法来实现不同对象的相同方法,但具体执行的代码不同。
此外,我还学会了如何使用封装和抽象。
封装是指将对象的属性和方法封装在一起,只暴露必要的接口给外部使用。
通过封装,我们可以隐藏对象的内部细节,提高代码的安全性和可维护性。
在实训中,我使用了私有属性和公有方法来实现封装。
抽象是指将具有相同属性和行为的对象进行归类,提取出共同的特征,形成一个抽象的类。
在实训中,我通过抽象出人类作为基类,来实现学生类和教师类的继承。
总的来说,通过本次面向对象程序设计实训,我对面向对象编程有了更深入的理解。
我学会了如何定义类和创建对象,使用继承和多态,以及如何使用封装和抽象。
这些知识和技能将对我未来的编程工作有很大帮助。
我相信通过不断的实践和学习,我可以进一步提高自己的面向对象编程能力。
一、摘要本次面向对象技术实训以Java编程语言为基础,通过实例分析和实践操作,让学生深入了解面向对象编程的基本概念、原则和方法。
实训过程中,学生掌握了面向对象编程的基本语法、类和对象的设计与实现、继承与多态等核心概念,并通过实际项目开发提高了编程能力。
本文将从实训内容、方法与收获三个方面进行总结。
二、实训内容1. 面向对象基本概念(1)面向对象编程(OOP)的基本概念:封装、继承、多态。
(2)Java编程语言中的面向对象编程特性:类、对象、构造方法、访问控制符等。
2. 类和对象的设计与实现(1)设计一个简单的Java程序,实现学生信息管理系统。
(2)设计并实现学生类、教师类、课程类等实体类,以及相关的方法。
3. 继承与多态(1)使用继承实现学生类和教师类的继承关系。
(2)通过多态实现不同类对同一方法的重写和重载。
4. 实际项目开发(1)设计并实现一个图书管理系统,包括图书类、读者类、借阅类等。
(2)实现图书的借阅、归还、查询等功能。
三、实训方法1. 理论学习:通过阅读教材、参考书籍,了解面向对象编程的基本概念和原理。
2. 实践操作:根据实训内容,动手编写Java程序,实现面向对象编程。
3. 交流与讨论:在实训过程中,与其他同学进行交流与讨论,共同解决遇到的问题。
4. 查阅资料:针对遇到的具体问题,查阅相关资料,提高编程能力。
四、实训收获1. 理论知识:掌握了面向对象编程的基本概念、原则和方法,为后续课程和实际项目开发奠定了基础。
2. 编程能力:通过实际项目开发,提高了编程能力,学会了如何将理论知识应用到实际项目中。
3. 团队协作:在实训过程中,与其他同学进行交流与讨论,提高了团队协作能力。
4. 问题解决能力:在遇到问题时,能够主动查阅资料、请教他人,提高了问题解决能力。
五、总结本次面向对象技术实训使我受益匪浅,不仅加深了对面向对象编程的理解,还提高了编程能力。
在今后的学习和工作中,我会继续努力,将所学知识运用到实际项目中,为我国信息技术领域的发展贡献自己的力量。
一、前言面向对象编程(Object-Oriented Programming,OOP)是当今软件开发领域的主流编程范式,具有封装、继承、多态等特点。
为了提高我们的编程能力和面向对象思维能力,本学期我们进行了面向对象课程的实训。
以下是我对本次实训的总结报告。
二、实训内容1. 实训目标本次实训旨在帮助我们:(1)掌握面向对象编程的基本概念、原则和设计模式;(2)学会使用面向对象编程语言(如Java、C++等)进行编程;(3)提高编程能力和面向对象思维能力;(4)培养团队协作和沟通能力。
2. 实训过程本次实训分为三个阶段:(1)理论学习:深入学习面向对象编程的基本概念、原则和设计模式,理解面向对象编程的优势;(2)实践操作:通过编写简单的面向对象程序,巩固所学知识,提高编程能力;(3)项目实战:分组完成一个小型项目,锻炼团队协作和沟通能力。
三、实训收获1. 理论知识方面通过本次实训,我对面向对象编程有了更深入的理解,掌握了以下知识点:(1)面向对象编程的基本概念:类、对象、封装、继承、多态等;(2)面向对象设计原则:单一职责原则、开闭原则、里氏替换原则、依赖倒置原则、接口隔离原则、组合优于继承等;(3)常用设计模式:工厂模式、单例模式、观察者模式、策略模式、模板方法模式、适配器模式等。
2. 实践操作方面在实训过程中,我学会了使用面向对象编程语言编写程序,掌握了以下技能:(1)掌握面向对象编程语言的基本语法和语法规则;(2)熟练运用面向对象编程语言进行编程,提高编程效率;(3)学会使用面向对象设计原则和设计模式,提高代码质量。
3. 团队协作和沟通能力方面在项目实战阶段,我与团队成员紧密合作,共同完成项目。
在此过程中,我学会了以下技能:(1)明确项目目标和任务分工;(2)与团队成员有效沟通,确保信息畅通;(3)协调团队成员,共同解决问题。
四、实训不足与改进1. 理论知识方面在理论学习阶段,我发现自己在某些知识点上掌握得不够扎实,如面向对象设计模式的应用。
实验报告学年第学期任课老师:m=max[i];}}System.out.println("5个人中java成绩最大值是:"+m);}}实验结果分析与总结1、程序运行结果(请提供所完成的各道题运行结果界面截图):2、在实验过程中遇到的问题与解决方法:实验中并未有太多技术上的问题,除了对软件运用的不够熟练造成最初的一些错误,比如,用Jcreator时未编译便运行,一直出错,检查多次后才发现此处与eclipse的不同(上机时没问题,写实验报告用的Jcreator出错了,所以是软件用的不熟记错的缘故。
)而且要先编译Student类才可编译Main。
3、实验过程中的发现与收获,未解决或需进一步解决的问题:实验中的发现便是java其实较C/C++简单许多,很多东西都不要自己多加考虑,但试验还是太少所以会在一些小的细节方面浪费很多时间。
指导老师评阅意见指导老师:年月日填写内容时,可把表格扩大。
附:实验源程序代码//Mainpackage Test;public class Main {public static void main(String[] args) {Main ma=new Main();Student stu1=new Student();stu1.setAge(18);stu1.setJava(86);stu1.setName("aaa");stu1.setNo("001");stu1.setSex("M");int a=stu1.getJava();System.out.println("第一个学生的信息为:\r\n"+"姓名是:"+stu1.getName()+"\r\n"+"年龄是:"+stu1.getAge()+"\r\n"+"性别是:"+stu1.getSex()+"\r\n"+"学号是:"+stu1.getNo()+"\r\n"+"成绩是:"+stu1.getJava()+"\r\n");Student stu2=new Student();stu2.setAge(18);stu2.setJava(90);stu2.setName("bbb");stu2.setNo("011");stu2.setSex("M");int b=stu2.getJava();System.out.println("第二个学生的信息为:\r\n"+"姓名是:"+stu2.getName()+"\r\n"+"年龄是:"+stu2.getAge()+"\r\n"+"性别是:"+stu2.getSex()+"\r\n"+"学号是:"+stu2.getNo()+"\r\n"+"成绩是:"+stu2.getJava()+"\r\n");System.out.println("两个人的java平均成绩为:"+(stu1.getJava()+stu2.getJava())/2);Student stu3=new Student();stu3.setAge(20);stu3.setJava(76);stu3.setName("ccc");stu3.setNo("067");stu3.setSex("F");int c=stu3.getJava();System.out.println("第三个学生的信息为:\r\n"+"姓名是:"+stu3.getName()+"\r\n"+"年龄是:"+stu3.getAge()+"\r\n"+"性别是:"+stu3.getSex()+"\r\n"+"学号是:"+stu3.getNo()+"\r\n"+"成绩是:"+stu3.getJava()+"\r\n");Student stu4=new Student();stu4.setAge(19);stu4.setJava(100);stu4.setName("ddd");stu4.setNo("09091219");stu4.setSex("M");int d=stu4.getJava();System.out.println("第四个学生的信息为:\r\n"+"姓名是:"+stu4.getName()+"\r\n"+"年龄是:"+stu4.getAge()+"\r\n"+"性别是:"+stu4.getSex()+"\r\n"+"学号是:"+stu4.getNo()+"\r\n"+"成绩是:"+stu4.getJava()+"\r\n");Student stu5=new Student();stu5.setAge(22);stu5.setJava(89);stu5.setName("eee");stu5.setNo("097");stu5.setSex("F");int e=stu2.getJava();System.out.println("第五个学生的信息为:\r\n"+"姓名是:"+stu5.getName()+"\r\n"+"年龄是:"+stu5.getAge()+"\r\n"+"性别是:"+stu5.getSex()+"\r\n"+"学号是:"+stu5.getNo()+"\r\n"+"成绩是:"+stu5.getJava()+"\r\n");int max[]={a,b,c,d,e};int m=max[0];for(int i=0;i<5;i++){if(m<max[i]){m=max[i];}}System.out.println("5个人中java成绩最大值是:"+m);}}//Student类package Test;public class Student {private String sNo;private String sName;private String sSex;private int sJava;private int sAge;//set方法public void setJava(int java){sJava=java;;}public void setAge(int age){sAge=age;}public void setNo(String no){sNo=no;}public void setName(String name){ sName=name;}public void setSex(String sex){sSex=sex;}//get方法public int getJava(){return sJava;}public int getAge(){return sAge;}public String getNo(){return sNo;}public String getName(){return sName;}public String getSex(){return sSex;}}。
java面向对象实验报告《Java面向对象实验报告》摘要:本实验报告旨在探讨Java面向对象编程的基本概念和实践方法。
通过实验,我们将学习如何创建类、对象、封装、继承和多态等面向对象的特性,并通过实际代码演示这些概念的应用。
本报告将详细介绍实验过程和结果,并总结所得到的经验和教训。
一、实验目的1. 了解面向对象编程的基本概念和原则2. 掌握Java语言中类、对象、封装、继承和多态的使用方法3. 通过实验加深对面向对象编程的理解和掌握二、实验环境1. Java开发环境:Eclipse/IntelliJ IDEA等2. Java SDK版本:1.8及以上三、实验内容1. 创建一个简单的Java类2. 创建对象并调用对象方法3. 实现类的封装和访问控制4. 实现类的继承和方法重写5. 实现类的多态四、实验步骤1. 创建一个名为Person的Java类,包含姓名和年龄两个私有属性,并提供公有的get和set方法进行访问和修改。
2. 创建一个名为Student的子类,继承Person类,并重写父类的get方法。
3. 创建一个名为Teacher的子类,继承Person类,并重写父类的get方法。
4. 创建一个名为Main的主类,实例化Person、Student和Teacher对象,并调用其方法进行测试。
五、实验结果1. 成功创建了Person、Student和Teacher三个类,并实现了类的封装、继承和多态。
2. 通过测试,验证了类的封装和访问控制的有效性。
3. 通过测试,验证了类的继承和方法重写的有效性。
4. 通过测试,验证了类的多态的有效性。
六、实验总结通过本次实验,我深刻理解了面向对象编程的重要性和优势,掌握了Java语言中面向对象编程的基本概念和实践方法。
在今后的学习和工作中,我将继续加强对面向对象编程的理解和应用,不断提高自己的编程水平。
七、实验感想通过本次实验,我对Java面向对象编程有了更深入的了解,也更加熟练地掌握了面向对象编程的基本概念和实践方法。