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

上传人:re****.1 文档编号:489856333 上传时间:2023-02-02 格式:DOCX 页数:10 大小:11.87KB
返回 下载 相关 举报
面向对象程序设计的实验报告_第1页
第1页 / 共10页
面向对象程序设计的实验报告_第2页
第2页 / 共10页
面向对象程序设计的实验报告_第3页
第3页 / 共10页
面向对象程序设计的实验报告_第4页
第4页 / 共10页
面向对象程序设计的实验报告_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《面向对象程序设计的实验报告》由会员分享,可在线阅读,更多相关《面向对象程序设计的实验报告(10页珍藏版)》请在金锄头文库上搜索。

1、卷面向对象程序设计实验报告学号:4100118姓名:邢启晖提交日期: 2012-10-13成 绩:东北大学秦皇岛分校 -实验一类与对象一、实验目的1 .掌握类的声明。2. 掌握对象的创建。3. 掌握方法的定义和调用。4. 掌握构造函数的使用。二、实验内容1. 编程创建一个Box类,在其中定义三个变量表示一个立方体的长、宽和 高,再定义一个方法setDem。对这三个变量进行初始化,然后定义一个方法求 立方体的体积。创建一个对象,求给定尺寸的立方体的体积。代码:package shiyanl;public class Main public static void main(String args

2、) Box box=new Box();box.setDemo(122,132, 142);System.out.print(立方体的体积:);System.out.println(box.getArea();class Boxint length;int width;int heigth;Box()void setDemo(int length,int width,int heigth) this.length=length;this.width=width;this.heigth=heigth;float getArea()return length*width*heigth;2. 将上题

3、的方法setDemo改用构造函数实现初始化。代码:package shiyan1;public class Main public static void main(String args)Box box=new Box(123,133,143);System.out.println(box.getArea();class Boxint length;int width;int heigth;Box(int length,int width,int heigth) this.length=length;this.width=width;this.heigth=heigth;float getA

4、rea() return length*width*heigth;三、思考题1. 一个方法或一个块内定义的变量是否可以在方法外或块外使用?这种变 量称为什么?方法的形式参数是否可以在方法之外使用?答:不可以。局部变量。方法的形式参数不可以在方法之外使用。2. 为什么说构造函数是一种特殊的方法?特殊在哪里?构造函数什么时 候执行?被谁调用?繇Java面向对象程序设计实验报告I答:构造函数又称构造方法。它的特殊性在于,与普通方法不同,它的名字与 类名相同,不返回结果,也不加void返回值,程序不能显示调用构造函数。构造函数的作用是初始化对象,即在创建对象时被系统调用。3. 编程创建一个Point类

5、,在其中定义两个变量表示一个点的坐标值,再 定义构造函数初始化为坐标原点,然后定义一个方法实现点的移动,再定义一 个方法打印当前点的坐标。并创建一个对象验证。package shiyanl;public class Mainpublic static void main(String args) Point point=new Point();point.move(50, 50); point.print();class Point int x,y; Point() this.x=0; this.y=0;void move(int x,int y) this.x=x;this.y=y;void

6、 print()System.out.println(The location of the point is: x- +x+ ,y- +y+ .);4. 定义一个类实现银行帐户的概念,包括的变量有“帐号”和“存款余额”, 包括的方法有“存款”、“取款”和“查询余额”。定义主类,创建帐户类的 对象,并完成相应操作。public class Main public static void main(String args)BankAccount bankAccount=new BankAccount(123,1000);bankAccount.saveMoney(2000);System.out

7、.println(Aftersaving2000$,youhave+bankAccount.checkBalance();bankAccount.takeMoney(500);System.out.println(Aftertaking500$,youhave+bankAccount.checkBalance();bankAccount.takeMoney(5000);System.out.println(Aftertaking5000$,youhave+bankAccount.checkBalance();class BankAccountint account;int balance;/

8、余额BankAccount(int account,int balance)this.account=account;this.balance=balance;void saveMoney(int money)/ 存款 balance+=money;void takeMoney(int money)if(balance=money) balance-=money;elseSystem.out.println(error,account:+account+,you can only take +balance);int checkBalance() return balance;实验二继承与多态

9、一、实验目的1 .掌握类的继承方法。2. 掌握变量的继承和覆盖。3. 掌握方法的继承、重载和覆盖。4. 了解接口的实现方法。二、实验内容定义两个接口,其方法协议分别完成两个数的加法和减法操作,然后创建一个 类实现这两个接口的方法。代码:import java.util.Scanner;public class Main2 static Scanner cin=new Scanner(System.in);public static void main(Stringargs)int a,b;a=cin.nextInt();b=cin.nextInt();Add add=new Add();Sub

10、 sub=new Sub();System.out.println(a+b+=+add.f(a,b);System.out.println(a+-+b+=+sub.f2(a,b);interface Funpublic abstract int f(int x,int y);interface Fun2public abstract int f2(int x,int y);class Add implements Funpublic int f(int x,int y)return x+y;class Sub implements Fun2public int f2(int x,int y)

11、return x-y;思考题:1. 子类重新定义与父类方法的方法头完全相同的方法,这种情况称为什 么?答:重写2. 同名的不同方法共存的情况称为什么?如何区分这些同名方法?答:重载方法的参数个数,类型3. 创建一个类,声明一个无参数的构造函数,打印类已创建的信息;再重 载一个具有String参数的构造函数,打印参数信息;并创建主类验证之。public class Main public static void main(String args)MyTest mytest=new MyTest();String s=Hello!;MyTest mytest2=new MyTest(s);薛Jav

12、a面向对象程序设计实验报告 Iclass MyTestMyTest()(System.out.println(无参数构造函数,类已创建!);MyTest(String s)(System.out.println(String参数构造函数,类已创建!且参数为:+s);4 .定义一个矩形类,再定义接口 EqualDiagonal ,其中包含方法 getDiagonal();由矩形类派生出一个正方形类,自行扩充成员变量和方法, 并实现此接口 EqualDiagonal o代码:import java.util.Scanner;public class Main static Scanner cin=

13、new Scanner(System.in);public static void main(Stringargs)System.out.println(请输入正方形的边长:);double x=cin.nextDouble();Square square=new Square(x);System.out.println(对角线二 +square.getDiagonal();System.out.println(面积=+square.getArea();interface EqualDiagonaldouble getDiagonal();class Rectangledouble x,y,diagonal;class Square extends Rectangle implements EqualDiagonal Square(double x) this.x=x;public double getDiagonal() diagonal=Math.sqrt(x*x+x*x); return diagonal;public double getArea() return x*x;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号