技术帮
 

面向对象练习1

本网站内容基本都是原创作品,未得到作者同意也欢迎转载
转载请注明出处:技术帮
说你呢,赶紧长按二维码,然后点击识别图中二维码

任何技术难题可进QQ群提问:【小崔说编程
对于提问的原则是:没有你不能问的,只有我不会答的

有感于很多新人都不知道怎么学习软件开发,个人感觉还是因为练习做的太少,软件开发知识想看懂太难了,必须是边读资料边动手练习。莫说是新人,Java老人研究新技术的时候也是边读资料边练习。因此整理和编排了一系列的练习题,希望对新人学习有帮助。


1473058358717068189.png  定义部门和人员

定义部门类;

属性:部门名称。

   

定义人员类:

属性:姓名、工号、所属部门、电话。

方法:

    构造方法(所属部门);

    显示人员的详细信息;(张三(U0001) 计划部 电话:1392645****)


定义公司类:

公司下有部门、有员工,都是多个,是动态数组;

方法:

    新增员工到公司;

    根据姓名查找员工;

    根据电话查找员工;

    根据部门名称查找部门;

    在部门中根据姓名查找员工;

    在部门中根据电话查找员工;


stock_view_details_24px_519332_easyicon.net.png 推荐定义一个接口:查找员工的接口;



定义复杂结构的部门

以面向对象的方法定义部门类。

部门要求有上下级部门的关系,譬如:根部门为总公司、二级部门为石家庄市分公司、三级部门为计划部、四级部门为采购中心、五级部门为终端设备采购科。

上下级至少要支持5层。

部门属性:部门名称、上级部门、部门等级(1,2,3)、是否有下级部门。

部门方法:

    构造方法(部门名称、上级部门);

    查看部门名称;

    查看部门等级;

    查看部门是否有下级部门;

    查看是否有一个子部门(根据名称查询);

    查看部门的完整名称(列出其所有的上级部门的名称,以逗号分隔);


分页控件

在软件系统中,数据库中会存储大量的数据,譬如公文列表,为了提高查询速度,每次只显示20条记录,但可以通过翻页功能查看不同页的数据列表。

根据以上功能需求,定义一个分页控件类:

属性:总记录数、每页的记录数、当前页数、总页数

方法:

    构造方法(总记录数、当前页数)

    获取总页数;

    获取前一页;

    获取后一页;


动态数组类

该功能是模拟实现List,要求不允许使用List,只能在普通数组的基础上实现。

定义一个动态数组类,实现可以实现变长的数组。

方法:

    增加一个对象;

    移除一个对象;

    在指定位置插入一个对象;

    将另一个普通数组增加到当前类中;   

    获取数组中对象数量;

    

有序动态数组类

在动态数组类的基础上实现有序接口;

定义排序接口(interface Squenable)

方法:

    squene(boolean);

    执行该方法将对动态数组进行排序,参数true为正序,参数false为倒序。


字符串格式化

对一个字符串进行格式化;

方法:

    (upFirst)首字母大写;

    (revert)对字符串倒序显示;

   

  定义省、市、区县的结构

定义行政区域的类(dist)。

属性:区域等级(省/市/区县)、名称、上级行政区。

方法:

    构造方法(名称,上级行政区);

    显示详情;(河北省 石家庄市 桥西区 )

    查找某行政区;根据名称找到某行政区