个人实验 github地址:https://github.com/quchengyu/cher

一、实践目的

1.掌握类的定义,对象的创建。

2.掌握实现封装、继承、多态的方法,掌握各种修饰符的使用。

3.掌握将对象数组作为方法的参数和返回值。

4.掌握抽象类与接口的概念及实现,理解动态绑定机制。

5.掌握通过组合与继承,实现代码可复用。

二、实践要求

综合使用封装、继承、多态、抽象类与接口、组合及继承等面向对象知识,给出所选项目的面向对象设计与实现。

三、项目需求

所选项目名称:矩形类

设计一个名为Rectangle的类表示矩形。这个类包括:

  • 两个名为width和height的double型数据域,分别表示矩形的宽和高。默认值为1.
  • 创建默认矩形的无参构造方法。
  • 一个创建width和height为指定值的矩形的构造方法。
  • 一个名为getArea()的方法,返回这个矩形的面积。
  • 一个名为getPerimeter()的方法,返回这个矩形的周长。

画出该类的UML图。实现这个类。编写一个测试程序,创建两个Rectangle对象---一个矩形的宽为4而高为40,另一个矩形的宽为3.5而高为35.9。显示每个矩形的宽、高、面积和周长。

四、项目设计方案

首先,定义一个矩形类,并定义width和height。并在矩形类中定义getArea()和getPerimeter()方法。再定义一个display()返回方法。主类TestRectangle测试矩形类。

五、核心算法详细设计

1、创建Rectangle

根据试验内容可知,此次做的是矩形类,包括名为width和height的double型数据域,一个名为getArea()的方法,返回这个矩形的面积。一个名为getPerimeter()的方法,返回这个矩形的周长。

class Rectangle//定义一个矩形类

{

double width, length;//定义两个整形变量width,length;

Rectangle(){width=1;length=1;}//无参的构造函数

Rectangle(double z,double w)//z、w表示矩形的长和宽

{

width=z;

length=w;//将z,w分别赋值给width,length

}

public double getArea()//创建getArea()方法

{

return width*length;

}

public double getPerimeter()//创建getPerimeter()方法

{

double p;

p=width*2+length*2;

return p;

}

2、矩形类的输出

另外需要一个方法,输出这些值。注意getArea()和getPerimeter()是方法,不能直接调用,方法中必须有返回值。

如,

void display()//矩形类的display()方法

{

System.out.println("矩形长="+width+"宽="+length+"面积="+this.getArea()+"周长="+p);//输出矩形上一个点的坐标,矩形的长和宽

}就错了。P是局部变量。

应该改为:

void display()//矩形类的display()方法

{

System.out.println("矩形长="+width+"宽="+length+"面积="+this.getArea()+"周长="+this.getPerimeter());//输出矩形上一个点的坐标,矩形的长和宽

}

3、功能测试

剩下的就开始对主函数main()的编写了。

public class TestRectangle {

public static void main(String args[])

{

Rectangle r1= new Rectangle(4,40);//为参数创建了一个矩形的对象,并赋值给引用

r1.display();//对象r1调用display()方法

Rectangle r2= new Rectangle(3.5,35.9);

r2.display();//对象r2调用display()方法

}

}//201303014044计科高职13-2曲承玉

六、完整源码

完整源码:给出完整的源代码。如:

class Rectangle//定义一个矩形类

{

double width, length;//定义两个整形变量width,length;

Rectangle(){width=1;length=1;}//无参的构造函数

Rectangle(double z,double w)//z、w表示矩形的长和宽

{

width=z;

length=w;//将z,w分别赋值给width,length

}

public double getArea()//创建getArea()方法

{

return width*length;

}

public double getPerimeter()//创建getPerimeter()方法

{

double p;

p=width*2+length*2;

return p;

}

void display()//矩形类的display()方法

{

System.out.println("矩形长="+width+"宽="+length+"面积="+this.getArea()+"周长="+this.getPerimeter());//输出矩形上一个点的坐标,矩形的长和宽

}

}

public class TestRectangle {

public static void main(String args[])

{

Rectangle r1= new Rectangle(4,40);//为参数创建了一个矩形的对象,并赋值给引用

r1.display();//对象r1调用display()方法

Rectangle r2= new Rectangle(3.5,35.9);

r2.display();//对象r2调用display()方法

}

}//201303014044计科高职13-2曲承玉

七、实践总结

本次试验,主演了解了方法的创建和调用。并明白局部变量不能直接调用。

时间: 2024-12-29 23:12:51

个人实验 github地址:https://github.com/quchengyu/cher的相关文章

我的github地址 https://github.com/1010de/Test.git

构建之法老师叫交下任务学习github,经过一段时间的学习和了解,看介绍.看视频.看博客.初步认识到github的方便与好处. 自己试着去注册和使用github,已经慢慢学会了一些基本操作. 小结 至此,你该对 Git 有了点基本认识,包括它和以前你使用的 CVCS 之间的差别.现在,在你的系统上应该已经装好了 Git,设置了自己的名字和电邮.接下来让我们继续学习 Git 的基础知识. 我的github地址   https://github.com/1010de/Test.git (计科13-1

django实战仿慕课网在线视频网站(完成了70%的功能已上传github:https://github.com/huwei86/mxonline):

1. 前台功能模块 基本模块:登录 注册 找回密码 / 全局搜索 / 个人中心, 课程功能:课程管理 / 讲师管理 / 授课机构管理  热门推荐 相关课程推荐 用户操作管理:用户收藏 / 课程评论  2.后台管理系统 课程管理模块:课程管理 / 课程资源管理 / 课程评论管理/轮播课程管理 认证和授权管理:用户管理 / 组管理 / 权限管理 / 用户日志管理 机构管理模块:课程机构管理 / 讲轮播图管理  3.开发流程 1.model数据库的设计 2.xadmin搭建后台管理系统和录入数据 3.

Android常用酷炫控件(开源项目)github地址汇总

转载一个很牛逼的控件收集贴... 第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.ScrollView.TimeView.TipView.FlipView.ColorPickView.GraphView.UI Style 等等. 一.ListView android-pulltorefresh一个强大的拉动

android 很多牛叉布局github地址(转)

原文地址 http://blog.csdn.net/luo15309823081/article/details/41449929 点击可到达github-------https://github.com/Trinea/Android-open-project 包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.ScrollView.TimeView.TipView.FlipVie

github学习:如何从本地把项目上传到github&&如何把github项目通过clone复制下来,详细教程

一.第一步---注册一个Github账号 首先要在GitHub上创建一个帐号,可以去官方网站注册一个账号. 前提:本地安装一个git 本人github:https://github.com/saucxs 二.git安装 下载地址:http://msysgit.github.io/ 二.第二步---生成私钥和秘钥 由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以要在本地生成一个私钥和一个密钥 1.本地创建ssh key $ ssh-keygen -t rsa -C "[ema

https://github.com/miaozhongfeng/my-repository.git浅谈数组求和java实验

          这次作业呢,我是用java来写的,虽然java只是自己假期里看的一点点,但是人总是要接触新事物的,应该不断向前.          说明:这次作业有一个遗憾,就是我花了一个下午真真没搞懂POI包的使用,是我的智商问题吗?由于作业提交比较急迫,暂时先放弃,用的java的文件流,男人嘛,就是要敢舍敢弃!(是我胡说八道的).当然,不搞懂它我是不会罢休的!拭目以待!          好了,不瞎扯了.进入正题吧.我用的编译软件是my Eclipse2014(这个软件不得不说:真TM好

https://github.com/wytings

博客中写了很多比较杂乱的东西,有时候可能一时看不出效果,毕竟代码问题确实是 “Talk is cheap. Show me the code” 所以,就开了一个github,把一些日常比较好用的东西,都写成实例放在上面,这样也许比单纯的文字会对大家更有用一些. 地址:https://github.com/wytings/SuperAndroid

结对项目https://github.com/bxoing1994/test/blob/master/源代码

所选项目名称:文本替换      结对人:曲承玉 github地址 :https://github.com/bxoing1994/test/blob/master/源代码 用一个新字符串替换文本文件中所有出现每个字符串的地方.文件名和字符串都作为命令行参数进行传递.给出相应的测试文件和测试字符串. 项目设计方案        一起选定项目敲定大体结构后,我负责测试和修改,搭档负责写的代码 首先,需要定义一个命令把文本文档读入内存,并进行异常处理:然后定义一个写数据流,以便于替换:最后将内存中修改

高并发 WEB 服务器 nginx 源码通读中文分析注释,带详细函数注释及函数调用注释,附 github 地址,后期持续维护更新

github地址:https://github.com/y123456yz/reading-code-of-nginx-1.9.2 对源码通读注释,函数进行了详细注释.同时对相关功能进行了优化,日志功能分析能力更易懂. github 地址下载: https://github.com/y123456yz/reading-code-of-nginx-1.9.2 或者在 github 官网搜索 reading-code-of-nginx-1.9.2

https://github.com/CocoaPods/CocoaPods/search?q=No+such+file+or+directory报错解决方案

――― MARKDOWN TEMPLATE ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― ### Command ``` /Users/rwx-mac/.rvm/rubies/ruby-2.0.0-p643/bin/pod install ``` ### Report * What did you do? * What did you expect to happen? * What happened instead? #