文档库 最新最全的文档下载
当前位置:文档库 › 实验3Java面向对象编程(类与对象)

实验3Java面向对象编程(类与对象)

实验3Java面向对象编程(类与对象)
实验3Java面向对象编程(类与对象)

实验3 Java面向对象编程(1)

一、实验目的:

1.掌握Java 面向对象编程的基础概念和编程方法

2.掌握类的概念,属性和方法的定义

注意:类的结构的设计,类的编写方法。

二、实验环境(硬/软件要求):

通过局域网互联,安装Windows 2000/XP操作系统环境的JDK 1.5.0(或以上版本),Jcreater Pro或JBuilder 9、eclipse。

三、实验内容:

编写并调试运行Java程序,进行类的设计,掌握构造函数及类的继承的设计方法。

四、实验主要步骤:

(一)、编写一个Java Application程序,文件名为Rect_One.java。

目的:掌握类的结构,对象的引用,熟悉属性、方法的使用。

要求::

1.建立一个类,

①矩形的属性宽、高、面积、周长分别为width、height,S、L;

②方法setBox( ),设置width和height的初始值,

③方法getArea( ),计算矩形的面积S。

④方法getL( ),计算矩形的周长L。

2.在主类的main方法中,输出矩形的长、宽和面积、周长。

3.增加两个构造方法,对矩形进行初始化。

4.对构造方法分别进行测试。

(二)编写一个复数类,包含实部和虚部属性,还有复数相加、相减以及复数的求模、输出复数字符串”a+bi”。

(三)课后试验,教材实验3内容(2)设计银行账户类。包括帐号、姓名、开户时间、余额,成员方法包括存款、取款、查询余额,计算利息等。对所设计的类进行测试。

五、实验报告(要求独立完成参考程序的代码、编译、调试与运行)

1 独立完成参考程序的代码、编译、调试与运行

六、实验报告形式(纸质/电子):

1.本次试验报告采用手写(纸质A4纸),试验结果截图打印出来,附在试验报告后。

七、评分标准:

1.能否自如地设计完成要求验证的内容。

2.程序设计的风格,是否规范。

3.上机实验的态度是否认真,实验报告书写是否规范完整。

实验5 类和对象1答案

实验5:Java类与对象 一、实验目的 (1)使用类来封装对象的属性和功能; (2)掌握Java类的定义。 (3)java对象的使用 二、实验任务 (1)按要求编写一个Java程序。 (2)按要求完善一个Java程序,编译、运行这个程序,并写出运行结果。 三、实验内容 1.编写一个Java程序片断,以定义一个表示学生的类Student。这个类的属性有“学号”、“班号”、“姓名”、“性别”、“年龄”,方法有“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得年龄”、“获得年龄”。 2.为类Student增加一个方法public String toString( ),该方法把Student类的对象的所有属性信息组合成一个字符串以便输出显示。编写一个Java Application程序,创建Student类的对象,并验证新增加的功能。 class Student{ long studentID; int classID; String name; String sex; int age; public Student(long studentID,int classID,String name,String sex,int age){ this.studentID=studentID; this.classID=classID; https://www.wendangku.net/doc/9618894848.html,=name; this.sex=sex; this.age=age; } public long getStudentID(){ return studentID; } public int getClassID(){

实验报告_实验5 类与类关系与抽象类(学生学号_姓名)

实验报告_实验5类与类关系与抽象类(学生 学号_姓名) 一、实验目的 1.理解继承的概念,掌握子类的创建方法; 2.熟悉成员变量的隐藏和方法覆盖; 3.掌握使用super访问被隐藏、覆盖的基类变量与方法; 4.理解继承的层次结构,熟悉构造方法的执行顺序; 5.理解访问修饰符的作用,熟悉访问修饰符对子类继承性的影响; 6.熟悉子类对象向上转型的实现方法和Object类的基本用法; 7.理解多态种类、意义、实现条件及基本应用; 8.理解内部类的作用、种类、实现方法及注意事项; 9.理解类与类之间的关系,了解单例模式的实现机理; 10.理解抽象类、抽象方法概念,熟悉它们的声明、使用。 二、实验内容与步骤 1.(基础题)根据题意及注释补充所缺少代码,然后运行程序 public Student(){} public Student(String sno, String sname, int age) { this.sname=sname; this.sno=sno; this.age=age; } public String getSno() { return sno; } public void setSno(String sno) { this.sno = sno; } public String getSname() { return sname;

} public void setSname(String sname) { this.sname= sname; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } (1): class CollegeStudent extends Student (2): getSno() (3): getSname() (4): getAge() (5): major (6): student.setAge(26) (7): student.setSname("Jack") (8): cstudent.setSname("Jerry") (9): cstudent.setSno("1840700101") (10): cstudent.setAge(23) (11): cstudent.setMajor("物联网工程") 回答相关问题: (1)程序中有多少个类,哪个是主类?哪个是基类?哪个是子类? (2)程序中子类继承了基类哪些成员?基类对象如何给成员赋初值?子类对象又是如何给成员赋值? (3)是否可以不定义Student类的无参构造器? 2.(基础题)分析、运行以下程序,并回答相关问题: (1)分析程序,找出有问题的代码,请问出错原因是什么?

C++语言程序设计实验答案_类与对象

实验04 类与对象(6学时) (第4章类与对象) 一、实验目的 二、实验任务 4_1 声明一个CPU类。 包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。其中,rank为枚举类型CPU_Rank,声明为enum CPU_Rank{ P1=1, P2, P3, P4, P5, P6, P7 }; frequency为单位是MHz的整型数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。 4_2 声明一个简单的Computer类。 有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等,有两个公有成员函数run和stop。cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,声明并实现这个类。 4_3 声明一个表示时间的结构体。 可以精确表示年、月、日、小时、分、秒;提示用户输入年、月、日、小时、分、秒的值,然后完整地显示出来。

4_4(习题4-10)设计一个用于人事管理的People(人员)类。 考虑到通用性,这里只抽象出所有类型人员都具有的属性:number(编号),sex(性别)、birthday(出生日期)、id(身份证号)等。其中“出生日期”声明为一个“日期”类内嵌子对象。用成员函数实现人员信息的录入和显示。要求包括:构造函数和析构函数、内联成员函数、组合。 三、实验步骤 1.(验证)声明一个CPU类,观察构造函数和析构函数的调用顺序。 首先声明枚举类型CPU_Rank,例如enum CPU_Rank{ P1=1, P2, P3, P4, P5, P6, P7 },再声明CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等私有数据成员,声明成员函数run和stop,用来输出提示信息,在构造函数和析构函数中也可以输出提示顺序。在主程序中声明一个CPU的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用。程序名:。(程序见步骤2) ★程序的运行结果: 2.(示例)调试程序文件。 使用调试功能观察程序的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。参考程序如下: 操作)调试操作步骤如下: (1)单击“调试 | 逐语句”命令,系统进行单步执行状态,程序开始运行,一个DOS 窗口出现,此时Visual Studio中光标停在main()函数的入口处。

实验3 类和对象

实验3 类和对象的创建与使用 一、实验目的 1、掌握类的定义和对象的创建; 2、掌握构造方法的作用、格式及重载; 3、掌握修饰词对成员存取权限的限制。 4、掌握实例成员、类成员的定义和使用方法。 二、实验内容 1、定义储蓄账户类,并创建对象模拟银行基本操作。 2、两游戏角色决斗。给定二个不同的角色,判定交手的胜负关系。(选做) 3、设计学生类、学校类、录取类,根据学生成绩和学校分数线,判断是否录取。 三、实验步骤 说明:请将第1,3题代码写入实验报告实验步骤处。 1、模拟银行账户功能。 编写程序,模拟银行账户功能。要求如下: 属性:账号、姓名、地址、存款余额、最小余额。 方法:存款、取款、查询。 根据用户操作显示储户相关信息。 如存款操作后,显示储户原有余额、今日存款数额及最终存款余额。 取款时,若取款成功,显示信息提示;若最后余额小于最小余额,拒绝取款,并显示信息提示。具体显示信息可据方便性原则自拟。 public class AccountOperation { public static void main(String [] args) { Account account1=new Account("650101","柳眉","天河学院",800.00); Account account2=new Account("650102","郑杰","天河学院",200.00); account1.transfer(account1,account2,300.0); account1.deposit(300.5); account1.withdraw(200); account1.withdraw(300); account1.query(); System.out.println(account1.toString()); //System.out.println(https://www.wendangku.net/doc/9618894848.html,); error!! } } class Account { private String account; private String name; private String address; private double balance;

实验5 类和对象

类和对象 一、实验目的 1、掌握类的定义和对象的创建; 2、掌握构造方法的作用、格式及重载; 3、掌握修饰词对成员存取权限的限制。 4、掌握实例成员、类成员的定义和使用方法。 二、实验内容 1、定义储蓄账户类,并创建对象模拟银行基本操作。 2、两游戏角色决斗。给定二个不同的角色,判定交手的胜负关系。(选做) 3、设计学生类、学校类、录取类,根据学生成绩和学校分数线,判断是否录取。 三、实验步骤 说明:请将第3题代码写入实验报告实验步骤处。 1、模拟银行账户功能。 编写程序,模拟银行账户功能。要求如下: 属性:账号、姓名、地址、存款余额、最小余额。 方法:存款、取款、查询。 根据用户操作显示储户相关信息。 如存款操作后,显示储户原有余额、今日存款数额及最终存款余额。 取款时,若取款成功,显示信息提示;若最后余额小于最小余额,拒绝取款,并显示信息提示。具体显示信息可据方便性原则自拟。 2、两游戏角色决斗。(选做) 角色1交手次数+1,生命值-1,经验值+2;角色2交手次数+1,生命值-2,经验值+3。经验值每增加50时,生命值+1;生命值<0判为负。生命值初始为1000,经验值初始为0。给定二个不同的角色,判定交手的胜负关系。 提示: step1:建立角色类,给出相应的成员,并能以生命值、经验值初始化角色对象。 step2:建立fight方法,接收二个角色类型的参数,返回胜者。 step3:初始化二角色,调用fight方法。 3、根据分数录取学生。 设计一个学校类,其中包含成员变量line(录取分数线)和对该变量值进行设置和获取的方法。 编写一个学生类,它的成员变量有考生的name(姓名)、id(考号)、total(综合成绩)、sports(体育成绩)。它还有获取学生的综合成绩和体育成绩的方法。 编写一个录取类,它的一个方法用于判断学生是否符合录取条件。其中录取条件为:综合成绩在录取分数线之上,或体育成绩在96以上并且综合成绩大于300。在该类的main()方法中,建立若干个学生对象,对符合录取条件的学生,输出其信息及“被录取”。 四、实验记录与分析(可自拟或选择) 1、重载的构造方法具有不同个数或不同类型的参数,编译器就可以根据这一点判断出用new 关键字产生对象时,该调用哪个构造方法了。 2、每个对象拥有各自的实例成员变量,而所有对象共享一个类成员变量。 3、实例成员变量通过对象引用,类成员变量通过类或对象名访问。

C++实验二类与对象(附答案)

实验二类与对象 实验目的和要求 1.掌握类、类的数据成员、类的成员函数的定义方式。 2.理解类成员的访问控制方式。 3.掌握对象的定义和操作对象的方法。 4.理解构造函数和析构函数的定义与执行过程。 5.掌握重载构造函数的方法。 6.了解拷贝构造函数的定义方法。 实验容 1.下面程序中有错,在不删除和增加代码行的情况下,改正错误语句,使其正确运行。#include class Aa { public: Aa(int i=0) { a=i; cout<<"Constructor "<

(1) #include class Date { void set_date(); void show_date(); int year; int month; int day; }; Date d; int main() { set_date(); show_date(); } void set_date() { cin>>d.year; cin>>d.month; cin>>d.day; } void show_date() { cout< class A { public: void A(int i=0) { m=i; } void show() { cout<

实验五类与对象

实验五类和对象(一) 一、目的和要求 1 掌握类和对象的定义和使用方法 2 掌握对象的初始化方法 3 掌握定义构造函数和析构函数的方法 4 掌握静态成员和友元函数的用法。 上机准备 (1)复习教材第五章类与对象的内容 (2)准备本次上机所需的程序。 程序一(test5_2.cpp)的题目为:编写一个程序,采用一个类求n!,并输出5!的值. 程序二(test5_3.dsw))的题目为:建立一个类SUM,求二维数组外围各元素的和,并且屏幕输出数组中各元素及所求之和。具体要求如下: (1)私有数据成员。 ●int array[5][5]:二维整型数组。 ●int s: 数组array各外围元素的和。 (2)公有成员函数。 ●SUM(int d[5][5]):构造函数,初始化成员数据。 ●void process():求二维数组外围各元素的和s. ●void print ()屏幕输出二维数组(每行输出5个元素)及外围元素之和。 (3)在主程序中对该类进行测试。使用如下数据(外围元素指阴影部分元素。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 二、内容与步骤

1.启动Visual C++6.0 2、录入test5_1.cpp源程序。 程序内容如下: #include class T { public: T(int i) { t=i; cout<<"T(int"<

实验一:类和对象1

实验一:类和对象 【实验目的】 1.理解对象和类,掌握类的定义及如何创建一个对象; 2.掌握构造方法的运用; 3.掌握方法的定义和参数传递; 4. 掌握类的继承机制。 【实验准备】 一、复习配套教材相关章节的内容; 二、预习本次实验; 【实验内容】 1.编写一个程序,显示水果的定购行情。定义一个带有参数的构造方法,这些参数用于存放产品名,数量和价格。在主程序中输出三种不同的水果。package avage; public class text { String name; int agr; double page; public text(){ } public text(String name,int agr,double page){ https://www.wendangku.net/doc/9618894848.html,=name; this.agr=agr; this.page=page; } public void evagre(){ System.out.println("水果名为:"+https://www.wendangku.net/doc/9618894848.html,); System.out.println("水果数量:"+this.agr); System.out.println("水果单价:"+this.page); } } public class text1 { /** * @param args

*/ public static void main(String[] args) { // TODO Auto-generated method stub text s=new text(); https://www.wendangku.net/doc/9618894848.html,="苹果"; s.agr =10; s.page=1.0; s.evagre(); text c=new text(); https://www.wendangku.net/doc/9618894848.html,="香蕉"; s.agr =10; s.page=1.0; s.evagre(); text d=new text(); https://www.wendangku.net/doc/9618894848.html,="橘子"; s.agr =10; s.page=1.0; s.evagre(); 2. 编写一个学生类,封装学生的学号、姓名、成绩等信息。再编写一个主类,

Visual C++ 6.0实验五类和对象、继承和派生

上海电力学院 实验报告 课程名称Visual C++ 实验项目类和对象、继承和派生 姓名储昊学号20132234 班级2013112 专业通信工程 同组人姓名指导教师姓名实验日期 实验内容 程序Ex_Class:定义一个人员类CPerson,包括的数据成员有姓名、编号、性别和用于输入/输出的成员函数。在此基础上派生出学生类Cstudent(增加成绩)和教师类Cteacher(增加教龄),并实现对学生和教师信息的输入/输出。编写一个完整的测试程序,并将Ex_Class 所有的类定义保存在Ex_Class.h中,将类的成员函数实现代码保存在Ex_Class.cpp中。 实验准备和说明 (1)在学习完第2章的“继承和派生”内容之后进行本次试验。 (2)编写本次上机所需要的程序。 实验步骤 1.创建工作文件夹 打开计算机,在“D:\Visual C++程序\LiMing\5”文件夹中创建一个新的子文件夹“5”。 2.输入程序Ex_Class.h (1)启动Visual C++6.0。 (2)单击标准工具栏上的“New Test File”按钮,在新打开的文档窗口中输入下列程序代码: #include #include class CPerson { public: CPerson() { strcpy(pName,""); strcpy(pID,""); } CPerson(char*name,char*id,bool isman=1) { Input(name,id,isman);

} void Input(char*name,char*id,bool isman) { setName(name); setID(id); setSex(isman); } void Output() { cout<<"姓名:"<

作业实验类和对象基础

类和对象基础 一、选择题 1、下列哪一个不属于JAVA语言的数据类型 A)指针类型 B)类 C)数组 D)浮点类型 答案:A 2、声明类的关链字是 A)Class B)class C)void D)main

3、不属于java类中的变量的是 A)实例成员变量 B)类成员变量 C)局部变量 D)寄存器变量 答案: D 4、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或 顺序各不相同,传回的值也可以不相同,这种面向对象程序特性称为 A)隐藏 B)覆盖 C)重载 D)Java不支持此特性

5、不使用static修饰符限定的方法称为实例成员方法,下列哪一个说法是不正确的A)成员方法可以直接调用父类的成员方法 B)成员方法可以直接调用父类的类方法 C)成员方法不可以直接调用其他类的成员方法 D)成员方法可以直接调用本类的类方法 答案: 6、函数重载是指 A)两个或两个以上的函数取相同的函数名,但形参的个数或类型不同 B)两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可 以不同 C)两个以上的函数名字不同,但形参的个数或类型相同 D)两个以上的函数取相同的函数名,并且函数的返回类型相同

7、下述哪个说法是不正确的 A)局部变量在使用之前无需初始化,因为有该变量类型的默认值B)类成员变量由系统自动进行初始化,也无需初始化 C)参数的作用域就是所在的方法 D)for语句中定义的变量,当for语句执行完时,该变量就消亡了答案:A 8、下列代码的执行结果是: public class Test6{ public static void main(String args[]){ int a=4,b=6,c=8; String s="abc"; } }

实验1:类、对象基础知识运用

广东技术师范学院实验报告 学院:计算机科学学 院 专业: 计算机科学与 技术(师范) 班级:成绩: 姓名:孔哥哥学号:组别:组员: 实验地点:Win10电脑实验日期:指导教师签名: 实验名称: 一、实验目的: 1、熟练掌握类、对象的的概念以及对事物的抽象。 2、熟练掌握成员、方法的概念以及构造方法的概念。 3、熟练掌握封装性,多态性的概念 4、理解面向对象的程序设计方法。 二、实验内容和步骤:(说明代码及运行结果) 1.运行下面的程序,理解面向对象的程序设计方法的基本概念。 class value { public int x,y; public value(int a,int b) { x=a; y=b; } } public class Ch31 { public static void main(String args[]) { int total; value num=new value(24,65); total=num.x+num.y; System.out.println("add="+total); } }

2、定义一个类实现银行帐户的概念,包括的变量有"帐号"和"存款余额",包括的方法有"存款"、"取款"、"查询余额"和”显示帐号”。定义主类,创建帐户类的对象,并完成相应操作。 2.1新建一个AccountTester的类,以下是代码: public class AccountTester { public static void main(String[] args) { BankAccount anAccount; anAccount=new BankAccount("小明",12121000,1000); System.out.println("账户名字:"+anAccount.getOwnerName()); System.out.println("账户号码:"+anAccount.getAccountNumber()); System.out.println("账户现有:$"+anAccount.getBalance()); System.out.println("存款$500,以后有:"+anAccount.setBalance(500)); System.out.println("取款$700,以后有"+anAccount.withdraw(700)); } } 2.2再建一个BankAccount类,代码如下: //定义类方法 public class BankAccount { private String ownerName; private int accountNumber; private float balance; //定义构造函数,如果没有接收参数就生成一个空的对象 public BankAccount(){

C++面向对象程序设计实验五 类与对象之三

C++面向对象程序设计实验五类与对象之三 一、实验目的 1、掌握C++类的概念和基本组成。 2、掌握类的声明和使用方法,并能根据实际定义相应的类。 3、熟悉友元函数和友元类的定义与使用方法。 4、掌握静态成员的定义与使用方法。 5、掌握this指针的使用方法。 二、实验内容 1、阅读下面程序,先在纸上写出输出结果,再运行程序核对笔算结果,并说明原因。 (1) #include // 编译预处理命令 using namespace std; // 使用命名空间std class Test { private: int a; // 数据成员 public: ~Test() { cout << "对调用默认构造函数的对对象进行析构" << endl; } // 析构函数 void set(int value) {a=value;} void show() {cout << a << endl;} };

int main() // 主函数main() { Test d; // 定义对象 d.set(7); d.show(); return 0; // 返回值0, 返回操作系统} (2) #include // 编译预处理命令 using namespace std; // 使用命名空间std class Test { public: static int a; // 静态成员 void Init() {a = 1; } // 初始化函数 Test(int a=6) {Init(); a++;} // 构造函数 }; int Test::a = 0; // 初始化a Test obj; // 定义全局对象 int main() // 主函数main() { cout << obj.a << endl; // 输出a return 0; // 返回值0, 返回操作系统}

实验3 类和对象

实验3 类和对象 一、实验目的 1、掌握Java语言面向对象的程序设计方法; 2、理解对象的封装概念; 3、掌握Java的类和对象的声明和使用方法 二、实验环境 1、PC微机; 2、DOS操作系统或Windows 操作系统; 3、Java sdk程序开发环境、eclipse集成环境。 三、实验内容 1. 银行账户管理 编写一个Account类模拟账户,该类包含成员变量和成员方法见下面的UML图。编写程序测试Account类:创建一个对象,其账号为123456、余额10000元、年利率3.3%。使用withdraw 方法从该账户提款2000元,使用deposit方法往该账户存款3000元,并打印余额、月利息以及账户的开户日期。 public class bank { public static void main(String[] args) { Accout test1=new Accout(123456,10000,0.033); test1.withdraw(2000);

test1.deposit(3000); System.out.println("id: "+test1.getId()); System.out.println("balance: "+test1.getBalance()); System.out.println("monthlyinterest: "+test1.getMonthlyInterest()); System.out.println("datecreated: "+test1.getDateCreated()); } } class Accout{ private int id; private double balance; private double annualInterestRate; private java.util.Date dateCreated; public Accout() { id=0; balance=0; annualInterestRate=0; dateCreated=new java.util.Date(); } public void deposit(int i) { // TODO自动生成的方法存根 } public Accout(int newid,double newbalance,double newannualInterestRate) { id=newid; balance=newbalance; annualInterestRate=newannualInterestRate; dateCreated=new java.util.Date(); } public int getId() { return id; } public double getBalance() { return balance; } public double getannualInterestRate() { return annualInterestRate; } public void setId(int newid) { id=newid; } public void setBalance(double newbalance) { balance=newbalance; }

实验5-类和对象题目

实验5 类和对象 程序填空 1. 题目描述:仔细阅读下列求两个点之间距离的程序,程序的输出结果是50,根据程序的输出结果在划线处填入正确语句。 代码: #include #include using namespace std; class point { public: point(float a,float b) { x=a; y=b; } float Distance(point &p) { float dx=p.x-x; float dy=p.y-y; return (float)sqrt(dx*dx+dy*dy); } private: float x,y; }; int main() { point p1(2,3),p2(32,43); cout< using namespace std; class CRectangle { public: void Set(float a,float b) { if((a>0)&&(a<50)) length=a; else length=1; if((b>0)&&(b<50)) width=b;

实验3 类与对象

实验3 类与对象 一、实验目的 本实验的目的用于指导读者掌握Java语言面向对象的程序设计方法,理解对象的封装等概念,要求读者在调试实例程序后,总结出面向对象的事务定义以及以对象的形式进行封装等内容。 二、实验内容 1、课本P221,8-6 和课本P237,8.1题 2、编写一个名为“复数”的类,包含复数的实部和虚部(数据成员),以及复数之间的基本算术运算:加、减(方法成员),并要求复数加减运算,程序运行中能对给定的复数进行运算,并打印运算的结果。 3、用类来描述游戏角色的交手次数、经验值、生命值之间的关系,并断定角色决斗的胜负。 三、实验要求 1、加减运算能够接收不同类型的参数既可以实现复数与实数的加减、复数与复数的加减运算。 2、两游戏角色决斗。角色1交手次数+1,生命值-1,经验值+2;角色2交手次数+1,生命值-2,经验值+3。经验值每增加50时,生命值+1;生命值<0判为负。生命值初始为1000,经验值初始为0。 3、给定二个不同的角色,判定交手的胜负关系。 4、实验报告给出决斗结果和交手次数 5、实验报告给出所有源代码。 四、实验环境 1、PC微机; 2、DOS操作系统或 Windows 操作系统; 3、Eclipse程序集成环境。 五、实验步骤 内容一: 1、创建“复数”类Complex,定义实部、虚部成员 2、定义构造函数接收二个double参数用来初始化数据成员

3、定义二个复数运算函数plus()以及minus()各接收一个复数类型以实现复数与复数的加减运算。 4、定义二个复数运算函数plus()以及minus()各接收一个double类型以实现复数与与实数的加减运算。 4、定义一个打印方法。 5、在main()方法中创建复数对象并调用相关方法来验证。 内容二: 1、建立角色类Role,给出相应的成员,并能以生命值、经验值初始化角色对象。 2、在角色类中建立fight方法,接收一个角色类型的参数并与之“战斗”,返回胜者信息。 3、在主函数中初始化二个角色,调用fight方法。 六、测试数据 略 七、实验报告(学生完成) 实验报告应包括以下几个部分: 1、程序流程图; 2、程序的数据结构设计; 3、程序的源代码及相关注释 4、程序运行结果的分析。 八、思考题(学生完成) 1.定义一个点类“Point”。Point 类的属性有x 轴和y 轴坐标,可以通过方法setX()设置x轴坐标,方法setY()设置y 轴坐标,方法getX()获得x 轴坐标,方法getY()获得y 轴坐标。编写一个测试类PointTest 来创建Point 类的对象,测试该类。 2.编程定义一个栈类,它封装了栈数组,判断栈空方法、判断栈满方法以及进栈和出栈。

实验报告_实验3 类与对象

实验报告_实验3 类与对象(学生学号_姓 名) 一、实验目的 1.熟悉类的组成,掌握类的声明方法; 2.理解构造方法的作用,并掌握构造方法的定义; 3.熟练使用访问器和设置器实现信息隐藏和封装; 4.熟悉一般方法、构造方法的重载; 5.能够正确地区分静态变量与实例变量、静态方法与实例方法的不同,掌握静态变量和静态方法的使用;6.掌握对象的创建、引用和使用及向方法传递参数的方式; 7.掌握this关键字的使用以及对象数组的创建和访问; 8.掌握Java包的创建、包成员的各种访问方式; 9.掌握一维数组:声明,创建,初始化,数组元素的访问; 10.掌握多维数组的概念:二维数组的声明,初始化,元素的访问。 二、实验内容与步骤 1.请回答下列问题: (1)Cirecle类定义了几个属性?它们的类型、访问权限各为什么? 答:两个PI,floatl类型,静态私有权限 Radius,float;类型,私有权限 (2)类中的“PI”的值可以在程序的方法中更改吗? 答:不可以,因为PI为静态变量 (3)Cirecle类定义了几个方法?它们的访问权限怎样?

答:四个,getRadius(),setRadius(float radius),getPerimeter(),getArea()都是公有权限 2.写出Rectangle类的程序代码: class Rectangle { private float width; private float length; public float getWidth( ) //获取矩形宽度 {return width;} public float getLength( ) //获取矩形长度 {return length;} public float getPerimeter( ) //获取矩形周长 {return 2*(width+length);} public float getArea( ) //获取矩形面积 {return (width*length);} public void setWidth(float w) //设置矩形宽度 {width=w;} public void setLength(float l) //设置矩形长度 {length=l;} } 3.回答下列问题: (1)该程序中有几个类?主类是什么?如果将这两个类放在一个文件中,源程序文件名应是什么?答:两个类:Circle、CircleTest;主类是CircleTest;源程序文件名是CircleTest。

内蒙古科技大学面向对象的程序设计实验5 类和对象(二)

内蒙古科技大学 面向对象的程序设计 实验报告 一、实验目的 1.理解掌握this指针的作用和用法; 2.理解掌握构造函数的定义和作用; 3.掌握构造函数的使用; 4.理解掌握拷贝构造函数的定义和使用; 5.理解掌握构造函数的重载; 6.理解掌握析构函数的定义和使用。 二、实验环境 编译器:Visual C++ 6.0. 操作系统:Windows 7 旗舰版 三、实验内容 2.1练习(一): 1.理解下面的程序,并在VC++6.0下运行查看结果,回答程序后面的问题。 #include class CPoint { public:

void Set(intx,int y); void Print(); private: int x; int y; }; void CPoint::Set(intx,int y) { x = x; y = y; } void CPoint::Print() { cout<<"x="< class CPerson { public: void Print(); private: CPerson(); private: int age; char *name; }; CPerson::CPerson() { } void CPerson::Print() { cout<<"name="<

面向对象程序设计实验项目

实验一 C++面向过程练习(一) (2学时) ? 实验目的和要求: 1. 掌握C ++程序的基本格式与规范,学会编写简单的C ++程序。 2. 理解C ++程序的结构和特点。 3. 熟悉C ++程序基本的输入和输出操作。 4. 掌握C ++数据类型、常量和变量以及修饰符的使用方法。 5. 掌握C ++的各种流程控制语句的使用。 6. 熟悉C ++语言实验环境,能够在VC6.0或BC3.0的环境下调试与运行程序。 ? 实验内容: 1. 求解方程02=++c bx ax 在复数域上的解,a,b,c 由终端输入。注意分析的全面性。 2. 用!1!21!111n e ++++≈ ,求e 之值,直到610! 1-

实验三:类与对象(bo)

实验三 Java类与对象 【实验目的】 1) 理解面向过程与面向对象区别 2) 理解面向对象的三大特征 3) 掌握类声明的方法 4) 掌握构造方法 5) 掌握对象的创建方法与创建机制 6) 掌握成员变量、类变量和局部变量区别 7) 掌握成员方法与类方法区别 8) 掌握函数的重载 9) 掌握4种访问修饰符的区别 【实验环境】 JDK1.6+Eclpise3.2 【实验准备】 1)复习课件中理论知识 2)练习课堂所讲的例子 【实验内容】 1、创建猴子类。具体要求如下: 1)编写一个类Monkey,用来表示猴子类; 2)给Monkey类确定添加4个属性:3个实例成员变量(名字、体重、年龄)、1个静态成员变量(爱好:默认值为:吃香蕉); 3)添加默认构造方法和有参构造方法(3个参数,分别给名字、体重和年龄赋初始值) 4)编写展示猴子能够爬树(climbTree)的方法――提供两个参数传入:分别代码猴子的名字(name)和爬树的高度(height)(方法内只需打印猴子的”名字+会爬树,能爬+高度”) 5)测试:在main方法中创建两个猴子对象monkey1(皮蛋、50、3)和monkey2(兰兰、45、2),monkey1使用默认构造方法创建,monkey2使用有参构造方法创建。分别打印出

monkey1和monkey2的名字、体重、年龄和爱好。并调用monkey1和monkey2的爬树方法。 2、创建矩形Rectangle类。具体要求如下: 1)创建一个Rectangle类; 2)创建属性:两个double成员变量:width和height。 3)创建方法:计算矩形的周长getLength()和面积getArea()。 4)测试:创建Rectangle对象,并给两个成员变量赋值,调用周长和面积的方法,输出周长和面积。 【实验过程及结果】 实验代码及结果: 1. package arp; public class Monkey {//创建类 // 4个属性(成员变量) private String name; private int weight; private int age; private static String love="吃香蕉"; public Monkey(){ } //有参构造方法 public Monkey(String name,int weight,int age) { https://www.wendangku.net/doc/9618894848.html,=name; this.weight=weight; this.age=age; } //爬树 public void climbTree(String name,int height){ System.out.println(name+"会爬树,能爬"+height+"米"); } //测试 public static void main(String [] args){ Monkey monkey2=new Monkey(); https://www.wendangku.net/doc/9618894848.html,="猪猪"; monkey2.weight=50;

相关文档