实验三 类的构成和对象的使用
更新时间:2023-09-13 03:46:01 阅读量: 综合文库 文档下载
- 实验三中推荐度:
- 相关推荐
实验三 类的构成和对象的使用
【开发语言及实现平台或实验环境】
Windows2000 或XP,JDK1.6与Jcreator4.0 【实验目的】
1.理解Java语言是如何体现面向对象编程基本思想, 2.了解类的封装方法,以及如何创建类和对象, 3.了解成员变量和成员方法的特性。 4.了解类的继承性和多态性的作用。 【实验要求】
1.编写一个体现面向对象思想的程序。
2.编写一个创建对象和使用对象的方法程序。 3.编写不同成员变量修饰方法的程序。 4.编写不同成员方法修饰的程序。
5.编写体现类的继承性(成员变量,成员方法,成员变量隐藏)的程序。 6.编写体现类多态性(成员方法重载,构造方法重载)的程序。 【实验内容】 一、包的应用
在Elearning下载ygw.rar文件,进行解压。得到Circle.class、Rect.class和MyWindow.classs三个字节码文件,这三个文件都在ygw包中,编写一个程序,用import 导入这三个类,求半径为3的圆和长、宽分别为10、5的矩形的面积,定义MyWindow的一个对象,观察结果,理解封装的好处。
二、三角形和圆柱体的类封装及构造方法的使用(每个类存为不同的.java源文件)
(1)创建一个三角形类Triangle,放入以你的姓名为包名的包中。三角形类Triangle包含的属性有三条边的长sideA,sideB,sideC, ,这些属性设为private类型;包含的方法有构造方法(两个:一个没有参数,默认三边均为1.0;一个给定三条边的长度,并进行判定给定的三条边是否能组成三角形,如果不能构成三角形则报错),求面积方法getArea(),求周长方法getLength();
提示:设三角形的三边长为a,b,c,则它的面积为S(S?a)(S?b)(S?c),其中
S=(a+b+c)/2,开平方的方法为Math.sqrt()。
(2)创建一个圆柱体类YZT,放入以你的姓名为包名的包中。圆柱体类YZT包含的属性有底面半径radius和圆柱体的高height,这些属性设为private类型;包含的方法有构造方法(两个:一个没有参数,默认底面半径和高均为1.0;一个给定半径radius和圆柱体的高height,并且要求均大于0.0,符合实际圆柱体要求,否则报错),包含的方法有设置底面半径setRadius(),获取底面半径getRadius(),设置高setHeight(), 获取高getHeight(),求体积calTJ(),求表面积calBMJ();
(3)用import导入三角形类Triangle,用Triangle类定义以下三个对象: ? 定义默认的三角形,求它的面积和周长;
? 定义边长分别为1.0,2.0,5.0的三角形,查看输出错误; ? 定义边长分别为25,20,37.5的三角形,求它的面积和周长; (4)用import导入圆柱体类YZT,用YZT类定义以下三个对象: ? 定义默认的圆柱体,求它的体积和表面积;
? 定义半径radius和高heigth分别为2.0,-10.5的圆柱体,查看输出错
误;
? 定义半径radius和高heigth分别为12.5,11.0的圆柱体,求它的体
积和表面积。
三、静态成员的使用
(1)使用Math类下的静态方法计算sin30°+ tan50°+ sqrt(10)的值。 (2)声明一个点类Point,有两个private类型变量保存点坐标,一个类变量(静态变量)保存已有点的个数。生成10个点的Point数组,第i个点的坐标为(i, i2),依次生成每一个点,输出每一个点的坐标和当前已有点的个数。
四、继承的使用(每个类存为不同的.java源文件)
(1)声明一个人类Person,放入以你的姓名为包名的包中,姓名为private类型属性,性别为protected类型变量,年龄为默认访问类型变量;该类有两个构造方法Person()和Person(姓名,性别,年龄),构造方法Person()中设
置姓名,性别为空字符串,年龄为0,构造方法Person(姓名,性别,年龄)中设置姓名,性别只能为“男”或“女”,年龄大于0、小于130,如果不满足就报错重新;定义三个属性的set和get方法;重新定义toString()方法,能打印该人的基本信息;
(2)学生类Student继承Person,增加了学号信息,有两个构造方法Student()和Student(姓名,性别,年龄,学号),调用父类Person的构造方法对父类部分进行构造,在Student()中,默认学号为空字符串,在Student(姓名,性别,年龄,学号)中,对各个变量进行赋值;定义新增属性的set和get方法;重新定义toString()方法,能打印该学生的基本信息,该方法中试对private类型属性姓名、protected类型变量性别、默认访问类型变量年龄直接访问,理解子类对父类不同类型的属性的访问权限;
(3)大学生类Undergraduate继承学生类Student,又增加了专业属性,有两个构造方法Undergraduate()和Undergraduate(姓名,性别,年龄,学号,专业),调用父类Student的构造方法对父类部分进行构造,在Undergraduate()中,默认专业为空字符串,在Undergraduate(姓名,性别,年龄,学号,班级,专业)中,对各个变量进行赋值;定义新增属性的set和get方法;重新定义toString()方法,能打印该大学生的基本信息
(4)创建姓名、性别、年龄分别为(”郭靖”,”男”,20)的Person对象,输出他的信息;创建姓名,性别,年龄,学号,班级分别为(”黄蓉”,”女”,17,”1263001”)的Student对象,输出她的信息;创建姓名,性别,年龄,学号,专业分别为(”黄飞鸿”,”男”,23,”1892001”,”中国武术学”)的Undergraduate对象,输出它的信息;创建姓名,性别,年龄,学号,专业分别为(”韦小宝”,”男”,300,”1892001”,”中国武术学”)的Undergraduate对象,查看输出的年龄错误信息。
创建一个研究生类Graduate的对象,理解继承的用法,输出该研究生的信息。
五、字符串操作
任意给定一个由英文字母和数字组成的字符串,英文字母不区分大小写,例如:
String s=”AbC123sdfg7fFCM987D0ddFFPAZvvvFFFggg43”;
(1)输出字符串中第5个到第10个字符(约定顺序从0开始); (2)统计每种字符出现的次数;
(3)在出现的字符中,输出出现最多和最少的字符是哪个,个数是多少; (4)出现最多的字符用#号替换,输出替换后的字符串; (5)把替换后的字符串逆序输出。
尽可能采用String类或StringBuffer类的方法实现,怎样使用请查看Java帮助文件、ppt或自己百度。
注意事项:在定义类的时候,尽量要做到类的通用性,使的今后可以做到代码重用,例如:
第二题三角形和圆柱体的类封装中,部分人在写求体积calTJ(),求表面积calBMJ()代码时,在这些函数中直接用print输出计算值,如果以后要继承这些类或把计算集成到图形用户界面中,怎么办?
好的方式是,所有方法中都不进行输出,只返回计算得到的值,方便各种不同的应用需求。
正在阅读:
实验三 类的构成和对象的使用09-13
令人感动的一册相片作文400字07-06
杠杆滑轮功功率机械效率04-20
2017年中国泡菜市场规模现状分析及十三五投资动向研究报告(目录) - 副本 - 副本 - 副本 (4)05-08
TOLES阅读:制衡机制10-15
第十九篇 - - 神经传导通路12-25
试论新生代农民工道德同一性问题05-25
《经济学原理》随堂练习答案01-08
建筑物理习题及答案03-25
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 构成
- 对象
- 实验
- 使用
- 杭州交通卫星定位应用系统用户手册
- 南京信息工程大学滨江学院数据结构课程设计
- 高三物理第二次月考题doc
- 二年级上学期数学奥数题 - - - - - 姓名
- 中国批发和零售市场现状分析及未来五年发展规划分析报告
- 东营市继续医学教育答案公布
- 校长国旗下讲话稿
- 财务管理练习题及参考答案9
- 《SQL数据库管理与开发》试题(C卷)
- 化工原理实验教案
- 05年西方文论自考试题
- 2016年天津市教师招聘考试小学语文学科专业知识教学教法考点系统复习
- 人教部编版二年级语文下册期末检测过关测试卷含答案 - 图文
- 北师大版初三数学中考模拟试题及答案11
- 烘干室管理规定
- 射频识别
- 六爻卦解《推背图》44象
- 中国五大新区简介
- 地球小博士地理科技大赛高中组试题 - 图文
- 清单定额两种工程量计算规则共同部分归纳