面向对象程序设计入门.ppt

面向对象程序设计入门.ppt

ID:51616330

大小:981.86 KB

页数:24页

时间:2020-03-26

面向对象程序设计入门.ppt_第1页
面向对象程序设计入门.ppt_第2页
面向对象程序设计入门.ppt_第3页
面向对象程序设计入门.ppt_第4页
面向对象程序设计入门.ppt_第5页
资源描述:

《面向对象程序设计入门.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、wengxh2010年3月JavaSE进阶第二章OOP入门目录程序设计简史OO思想概述SP与OO对比类,对象简介类的声明构造器(Constructor)信息的隐藏2程序设计简史程序设计简史结构化程序设计(SP)(自顶向下,逐步求精)面向对象程序设计(OOP)(面向抽象编程,而非面向具体)3面向对象的思想概述面向对象的编程思想力图使对计算机语言中对事物的描述与现实世界中该事物的本来面目尽可能的一致。类(class)和对象(object)是面向对象的核心概念。类是对一类事物描述,是抽象的、概念上的定义;对象是实际存在的该

2、类事物的每个个体,因而也称实例(instance)。4SP与OOP比较从一个示例谈起示例场景:我们需要设计一个人事管理系统,其中的一个功能是对各种不同类型的员工,计算其当月的工资---不同类型的员工,拥有不同的薪资计算制度。结构化做法:1.获得人事系统中所有可能的员工类型。2.根据不同的员工类型所对应的不同的薪金制度,计算其工资。enumEmployeeType{//计算工资程序Engineer;if(type==EmployeeType.Engineer){Sales;…Manager;}elseif(type==

3、EmployeeType.Sales){……}}5SP与OOP比较面向对象做法:1.根据不同的员工类型设计不同的类,并使这些类继承自一个Employee抽象类,其中一个抽象方法GetSalary。2.在各自不同的员工类中,根据自己的薪金制度,重写(override)getSalary方法。abstractclassEmployee{classEngineerextendsEmployee{……publicabstractintgetSalary();publicintgetSalary(){}…}}classSale

4、sextendsEmployee{…//显示工资程序publicintgetSalary(){Employeee=eFactory.getEmployeeByID(id);…System.out.println(e.getSalary());}}6SP与OOP比较现在需求改变了...示例场景:随着客户公司业务的拓展,又出现了更多类型的员工,比如钟点工,计件工...等等,这对人事管理系统提出了挑战---原有的程序必须改变。结构化做法:几乎所有涉及到员工类型的地方(当然包括“计算工资程序”)都需要做改变...这些代码都需

5、要重新编译,重新部署...面向对象做法:只需要在新的文件里添加新的员工类,让其继承自Employee抽象类,并重写getSalary()方法,然后在eFactory.getSalary()方法中根据相关条件,产生新的员工类型就可以了。其他地方(显示工资程序,Engineer类,Sales类等)则不需要做任何改变。7SP与OOP比较重新认识面向对象对于前面的例子,从宏观层面来说,面向对象的构建方式更能适用软件的变化,能将变化所带来的影响减为最小。从微观层面来看,面向对象的方式更强调各个类的“责任”,新增员工类型不会影响

6、原来员工类型的实现代码---这更符合真实的世界,也更能控制变化所影响的范围,毕竟Engineer类不应该为新增的“钟点工”来买单...8类、对象EverythingisObject:万事万物皆对象。面向对象的编程(OOP)思想力图使对计算机语言中对事物的的描述与现实世界中该事物的本来面目尽可能的一致。Class/Object:类(class)和对象(object)是面向对象的核心概念。类是对一类事物描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因而也称实例(instance)。9类、对象类(Cla

7、ss)是用来描述一个对象(Object):类描述了每个对象应包括的数据类描述了每个对象的行为特征类与对象的关系:抽象与具体10类和对象举例//定义一个类classPerson{privateintage;publicintgetAge(){returnage;}publicvoidsetAge(inti){age=i;}}//声明并创建一个Person类的对象,将该对象命名为aPersona=newPerson(36);//调用对象a中的方法a.setAge(36);a.getAge();//3611Java中类、属

8、性、方法的定义类包括两方面的内容:属性:用来描述对象的数据元素称为对象的属性(也称为数据/状态)方法:对对象的属性进行的操作称为对象的方法(也称为行为/操作)12声明类语法格式:[]class{[][

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。