版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录第一章Java与程序逻辑第二章面向对象程序设计基础第三章面向对象基本特性第四章常用对象使用第五章异常处理第六章I/O操作第七章多线程编程第八章Java的GUI可视界面编程第二章面向对象程序设计基础21任务2.1创建类和对象任务2.2理解类的方法任务2.1创建类和对象4情境描述123情境分析解决方案知识总结5应用实践2.1.1情境描述Tom在进一步认识了Java之后,发现了Java语言编程的优势,认识了一个新的名词——面向对象。针对A类员工信息,他开始按照面向对象进行程序设计,为此,他需要完成以下任务:1)认识和理解面向对象的基本概念;2)创建类与对象;3)创建类成员变量;4)调用类成员。2.1.2情境分析面向对象程序设计采用模拟现实社会理解事物的思考思维,有利于提高程序员的编程效率。就情景描述中的A类员工信息,对于员工编号、姓名、性别等这些数据都是员工固有的属性;同时除了认识A类员工的属性以外,还需要考虑A类员工能够做什么事情,比如他能够晋升职称,随着时间的推移工龄能够增长等,这就是A类员工具备的行为。2.1.3解决方案
1、打开Eclipse开发环境,
载入任务1.3的项目。2、新建类:“EmployeeA”。3、添加A类员工类字段。4、在EmployeeA类中添加main方法。5、在EmployeeA类中添加display方法。6、在main函数中创建对象。7、访问EmployeeA的成员。2.1.3解决方案
package
com.esms;public
class
EmployeeA{ StringemployeeNo;//工号 StringemployeeName;//姓名 StringemployeeGender;//性别 StringemployeeDepartment;//所属部门 StringemployeePos;//职务 StringemployeeTitlePos;//职称 StringemployeeWorkYears;//工龄public
voiddisplay(){
System.out.println("员工编号:"+this.employeeNo);
System.out.println("员工姓名:"+this.employeeName);
System.out.println("员工性别:"+this.employeeGender);
System.out.println("员工所在部门:"+this.employeeDepartment);
System.out.println("员工职务:"+this.employeePos);
System.out.println("员工职称:"+this.
employeeTitlePos);
System.out.println("员工工龄:"+this.employeeWorkYears); }public
static
voidmain(String[]args){
EmployeeA
objTom=new
EmployeeA();
//为Tom的主要属性赋值
objTom.employeeNo="00101";
objTom.employeeName="汤姆";
objTom.employeeGender="男";
objTom.employeeDepartment="技术一部";
objTom.employeePos="程序员";
objTom.employeeTitlePos
="助理工程师";
objTom.employeeWorkYears=1;
//利用
objTom.display();
}}2.1.4知识总结1.面向对象术语面向对象的程序设计是目前占主导地位的编程模式,它的核心概念是类和对象。(1)对象对象可以是有生命的个体,也可以是无生命的个体,还可以是一个抽象的概念。对对象进行分析和抽象,可以发现它有两个特征,即属性和行为。在面向对象程序设计中,对象的概念来自于对现实世界的抽象。因此,程序员眼里的对象具有属性(也称为成员变量)和行为(也称为成员方法)。2.1.4知识总结1.面向对象术语面向对象的程序设计是目前占主导地位的编程模式,它的核心概念是类和对象。(2)类类的概念现实世界中有许多相同种类的对象,可以将这些相同的对象归并为一个“类”。“类”的定义是具有相同属性和行为的对象的集合。类的实例化从类的定义可知,类是同类对象的集合,因此类和对象的关系是整体和个体的关系。从对象进行抽象,得到类的概念;从类进行实例化,得到对象。因此。对象也称为类的实例,从类导出实例的过程称为类的实例化。2.1.4知识总结2.面向对象的基本特性(1)封装(Encapsulation):封装是将对象的属性和行为封装在一起成为一个整体——类。(2)多态(Ploymorphism):多态是指程序的多种表现形式。同一个类中,同名但参数不同的多个方法(方法重载)是多态的一种表现形式;另一种表现形式是子类对父类方法的覆盖或者子类对抽象父类中的抽象方法的具体实现。(3)继承(Inheritance):继承是指一个类拥有另一个类的所有变量和方法。被继承的类称为父类,继承了父类的所有数据和操作的类称为子类。2.1.4知识总结3.类类由成员变量和成员方法组成。类的成员变量可以是基本类型的数据或数组,也可以是一个类的实例。(1)类的定义声明类的完整格式如下:[类修饰符]class类名[extends基类][implements接口列表]{[成员变量声明][构造方法定义][成员方法定义]}2.1.4知识总结3.类类由成员变量和成员方法组成。类的成员变量可以是基本类型的数据或数组,也可以是一个类的实例。(2)成员变量①成员变量的声明声明成员变量的语法格式如下:[变量修饰符]数据类型
变量名[=初始值];②成员变量的引用引用同一个类中的成员变量,可以直接通过变量名引用。如果存在同名的局部变量、方法参数变量或异常处理参数变量,则需要在成员变量前加上关键字this,例如:this.age=age;如果是引用另一个类中的成员变量,需通过类或对象来引用。2.1.4知识总结4.对象(1)声明对象:当声明一个类时,就是定义了一个新的引用数据类型,可以用这个数据类型来声明这种类型的变量,即对象。[变量修饰符]类名对象名;(2)创建对象:声明过的对象还不能被引用,必须使用new关键字创建这个对象。创建对象的格式如下:对象名=new类名([参数列表]);2.1.4知识总结4.对象(3)使用对象:声明和创建了一个对象以后,就能像使用变量那样使用它。使用的方式是通过读取它的属性、设置它的属性或者是调用它的方法来实现的。①引用对象的属性,需要使用点分隔符。对象名.成员变量名②调用对象的方法,仍需使用点分隔符。当没有参数时,圆括号也不能省略。对象名.方法名([参数列表])2.1.5应用实践Tom成功定义了A类员工类及其A类员工的对象创建。现在,他需要将A类员工的对象创建及添加操作连接到菜单中。同理,定义B类和C类员工并成功创建对象且连接到菜单中进行操作。任务2.2理解类的方法4情境描述123情境分析解决方案知识总结5应用实践2.2.1情境描述A类员工的工资组成中,有一部分工资与该员工的工龄有密切的联系,故对于A类员工的工龄计算显得相当重要,他们的工龄随着时间的推移将发生改变。在对A类员工进行抽象定义时,最好能够就A类员工的入职日期。通过入职日期和当前日期的差值得出该员工的工龄,为了计算得出该员工的工龄,Tom需要完成以下任务:1)在类中定义方法2)能够正确调用方法2.2.2情境分析Tom首先需要在Task2_1_Extends的基础上对A类员工定义类进行部分属性修改,同时需要掌握类方法成员的定义,在计算工龄方法中需要掌握Java的日期类型及其操作。最后需要在主函数中调用该方法验证该类员工的正确性。2.2.3解决方案
1、打开Eclipse开发环境,
载入任务2.1的应用实践项目。2、打开类:“EmployeeA”,修改类中的工龄成员变量,将其修改为入职日期。3、添加工龄计算方法getWorkYears(),java.util.Date类在以前版本中本身提供了getYear方法,但目前JDK已经废弃,需要通过Calendar对象对Date对象进行封装,再通过Calendar的get方法获取到年份,从而得到工龄。4、修改display方法中的调用工龄的计算。5、修改Menus类中的employeeMenu方法,便于接收用户输入的日期。2.2.3解决方案
packagecom.esms;importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Date;importjava.util.Calendar;publicclassEmployeeA{ StringemployeeNo;//工号
StringemployeeName;//姓名
StringemployeeGender;//性别
StringemployeeDepartment;//所属部门
StringemployeePos;//职务
StringemployeeTitlePos;//职称
//int
employeeWorkYears;//工龄
DateemployeeEntryDate; publicint
getWorkYears(){
int
workYears=0;//定义局部变量,表示工龄
CalendarcldNow=Calendar.getInstance();//创建日历对象
cldNow.setTime(newDate());//设置日历对象的日期为当前日期
CalendarcldEntryDate=Calendar.getInstance();//创建日期日期
cldEntryDate.setTime(this.employeeEntryDate);//设置当前日期为员工入职日期
workYears=cldNow.get(Calendar.YEAR)-cldEntryDate.get(Calendar.YEAR);//
returnworkYears; }public
static
void
employeeMenu(){try{
System.out.print("请输入员工入职日期,格式yyyy-MM-dd:");
SimpleDateFormat
fmt=new
SimpleDateFormat("yyyy-MM-dd");
//利用SimpleDateFormat的parse方法进行输入字符转换为日期
objTom.employeeEntryDate=fmt.parse(in.next()); }catch(Exceptione){
System.out.println("输入的日期格式不对")
}}2.2.4知识总结1.成员方法(1)方法定义方法的定义包含两部分:方法的声明和方法体。一个完整的方法定义格式如下:[public|protected|private|static][final|abstract]返回类型方法名([参数列表]){//方法声明//方法体
局部变量声明
所有合法的Java语句}2.2.4知识总结1.成员方法(2)使用方法声明方法后,必须调用方法才能执行其中的代码,实现其功能。同使用成员变量的方法一样,通过运算符“.”来调用对象的方法。例如,调用前面定义的类Person中的成员方法:Persondis=newPerson();dis.display();2.2.4知识总结2.构造方法一种特殊的方法,专门用来创建对象,并完成对象的初始化工作。构造方法有以下特点:构造方法的方法名与类名相同;构造
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025公司之间无息借款合同模板
- 2025品牌策划合同
- 2025商铺买卖定金合同的范本
- 2025工厂物业管理的合同
- 科技创业挑战与机遇并存
- 职场新人的季节性胃肠保健指南
- 科学与工程教育的融合与创新人才培养
- 种植技术的新时代农业科技园区的建设路径
- 跨文化背景下的学生德育评价策略
- 二零二五年度床上三件套抗菌技术研发合同2篇
- 钳工考试题及参考答案
- 移动商务内容运营(吴洪贵)任务五 引发用户共鸣外部条件的把控
- 工程造价专业职业能力分析
- 医药高等数学知到章节答案智慧树2023年浙江中医药大学
- 冲渣池施工方案
- 人教版初中英语八年级下册 单词默写表 汉译英
- 学校网络信息安全管理办法
- 中国古代文学史 马工程课件(下)21第九编晚清文学 绪论
- 2023年铁岭卫生职业学院高职单招(语文)试题库含答案解析
- 2205双相不锈钢的焊接工艺
- 2023年全国高中数学联赛江西省预赛试题及答案
评论
0/150
提交评论