实验三 深入面向对象编程.docx

上传人:小飞机 文档编号:5175087 上传时间:2023-06-11 格式:DOCX 页数:14 大小:179.91KB
返回 下载 相关 举报
实验三 深入面向对象编程.docx_第1页
第1页 / 共14页
实验三 深入面向对象编程.docx_第2页
第2页 / 共14页
实验三 深入面向对象编程.docx_第3页
第3页 / 共14页
实验三 深入面向对象编程.docx_第4页
第4页 / 共14页
实验三 深入面向对象编程.docx_第5页
第5页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《实验三 深入面向对象编程.docx》由会员分享,可在线阅读,更多相关《实验三 深入面向对象编程.docx(14页珍藏版)》请在三一办公上搜索。

1、淮海工学院计算机工程学院实验报告书课程名:面向对象程序设计题 目:实验三 深入面向对象编程(1)班 级:学号:姓名:一. 实验目的(1)理解继承的概念及Java中继承的实现方法。(2)理解接口的概念及Java中接口的使用方法。(3)理解子类对于父类方法的继承与重载;理解类中方法(包括构造方法)重载的实现。(4)理解包的概念及定义包的方法二. 实验内容及要求在前几次实验所实现的学生基本信息管理的基础上,在本实验中将以下知识融合进来:(1)实现单重继承并借助接口实现多重继承。(2)实现方法的继承与覆盖。(3)实现方法(包括构造方法)的重载。(4)在程序中利用包进行类的逻辑组织。三. 实验步骤1.

2、简易步骤:(1)新建文件夹来存放这次实验的所有内容。(2)将每个小题作为一题,分析形成简单的框架。(3)详细编写程序。(4)整理所有实验内容。2. 源程序:(1)继承和接口(和包)的应用(:些程序用于显示一个人的基本信息。(接口内是作为 学生时的班级信息)package clp.gj111.c6;/建 立包class human/人类类,用来定义做为人的基本信息static String name,sex; /参数定义human()human(String n,String s) /构造方法用初始化 name=n;sex=s;import clp.gj111.c6.*; /弓 |入包em ms

3、gstatic String F,M;child(String f,String m)F=f;M=m;void chout() /输出方法System.out.println(姓名:+name);System.out.println(性别:+sex);System.out.println(父亲:+F); S“”Sm 的别”static int sid;一sid=id;System.out.println(学号:+sid);static final String i= G 计 111 ;static final String j=计 111;_ numint max=109;int min=85

4、;,mclass my implements num,glass/利用接口实现了多重继承int namber;public int f(int x)/public 一定不能少 int q=1;namber=x;if(nambermax | nambermin) System.out.println(此学学生不是本班学生);return 0;while(q!=namber & qmax) q+;System.out.println(此学生是班里第”+(q-min+1)+个学生);returnq;publicclass w implements glasspublic static void ma

5、in(String args)System.out.println(学生信息);human h=new human(陈路平”,女”);child ch=new child(陈”,朱”);student st=new student(88);ch.chout();if(st.sid=85)System.out.println(班级:+i);/使用了接口中的成员elseSystem.out.println(班级:+j);my m=new my();m.f(88);(2) 继承与覆盖的应用:static String name,sex,identity;human()human(Stringn,St

6、rings,Stringide)/初始化 name=n;sex=s;identity=ide;5法System.out.println(姓名:+name);System.out.println(性别:+sex);System.out.println(身份:+identity);5huma“5,5child(String f,String m,String ide)F=f;M=m;identity=ide;/覆盖了父类中的 indentityvoid chout() /覆盖了父类的输出方法System.out.println(姓名:+name);/继承了父类中的 nameSystem.out.p

7、rintln(性别:+sex);/继承了父类中的 sexSystem.out.println(父亲:+F);System.out.println(母亲:+M);System.out.println(身份:+identity);public class fugaipublic static void main(String args)System.out.println(学生信息、);human h=new human(陈路平”,女”,人类);h.chout();System.out.println(学生信息、);child ch=new child(陈”,朱”,孩子);ch.chout();(

8、3)方法(包括构造方法)的重载;(主要通过参数的个数,参数类型来控制)class study/定义学习类static String name,sex,sid,glass;static int score;study()study(String n)name=n;study(int sc,String se)score=sc;sex=se;study(String si,String g)sid=si;glass=g;/无参的构造函数/一个字符串的构造函数/一个整型,一个字符串的构造函数/两个字符串的构造函数/ 一个字符串的输出函数i) /一个整型,三个字符串的构造函数void getout(S

9、tring n) System.out.println(*学生姓名 *”);System.out.println(学生姓名:+name);void getout(String n,String m,String h,intSystem.out.println(*学生资料 *);System.out.println(学生学号:+sid);System.out.println(学生性别:+sex);System.out.printl口(学生班级:+glass);System.out.println(学生分数:+score);public class czpublic static void mai

10、n(String args) System.out.println(学生信息、);study s=new study( 陈路平);s.getout( 陈路平);study s1=new study(2011151088,G计 111);study s2=new study(95,女);s.getout(2011151088,G 计 111,女,95);四. 实验结果(1)学生信息输出如下,接口实现的多重继承主要是用来计算和输出学生在班的排序:C:Wi n dowssyste m 3 2cmd. exe1=1 回第续 里继 班键 88陈女陈朱曾翌忠 生任 号备丞苯翅子按 学姓性父请个学生(2)

11、两个学生信息,分别是覆盖前和重写后的学生信息及输出方法前后的结果:(3) 利用构造函数的重载实现了学生信息的初始化,“* ”隔开显示输出方法重载了两次的 不同形式:(4) 在打包时的命令package clp;class human/人类类,用来定义做为人的基本信息 .st at i c String namej ses ; 参数定义human 0human (St ring n, String s) /构造方法用初始化 najne=n;ses=s;E C:Wi n dow5syste m 3 2cmd. exe| u回以|请按任意键继续-1I( L. m卜X.五. 分析体会大多现实程序都使用

12、了所谓的多重继承”,但JAVA不支持多重继承,所以它引入了接 口的概念,接口在JAVA中是为了支持运行时多态方法解决而设计的.通过提供interface 这个关键字,JAVA就允许开发人员充分利用多态性的一个接口,多个方法.也就是说,用 interface你可以指定一个类必须做什么而不是规定它如何去做,一个类可以实现多个接 口 .接口中只进行方法的声明,不许提供方法的实现,所以,方法定义没有方法体,且用 “;”结尾。接口体中只有常量定义和public、abstract方法定义,也可以省略这些方 法,但系统默认的也是这种方法。所以在使用接口中的方法时,不论接口中有没有写出来, 使用时都要用public进行声明。如果子类继承了父类的方法,那么子类可以重写继承了的方法,一但重写了父类的方 法,则父类的方法被隐藏(覆盖),子类对象调用方法是重写后的方法,重写的方法既可 操作继承的成员变量也可以操作子类声明定义的成员变量。如果子类想使用被隐藏的父类 中的方法,必须使用关键字super。方法的重载主要就是通过方法的参数的个数的不同,类型的不同来控制的。包的使用能够使程序健壮性更好,能更好的实现“一次写成,处处运行”。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号