欢迎来到天天文库
浏览记录
ID:58728674
大小:690.00 KB
页数:110页
时间:2020-10-04
《Java面向对象编程ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章Java面向对象编程14.1面向对象编程概述公共数据函数函数函数函数算法+数据结构数据方法方法数据方法方法过程式程序设计OOP程序设计对象+消息消息1、程序设计二种方法2面向对象与面向过程考虑对象—考虑过程:前者更有意义设计对象—设计过程:前者更富挑战性,尤其是设计可重用的对象。面向对象的程序设计和问题求解力求符合人们日常自然的思维习惯,降低分解问题的难度和复杂性,提高整个求解过程的可控制性、可监测性和可维护性,从而达到以较小的代价和较高的效率获得较满意效果的目的。32、类与对象类(Class)是同种对象的
2、集合与抽象类是对象的抽象及描述,它是具有统一属性和方法的多个对象的统一描述体,是用来定义一组对象共有属性和方法的模板。类是用来创建对象实例的样板,它包含所创建对象的状态描述和方法的定义。类是一个型,而对象则是这个型的一个实例。类是静态概念,而对象则是一个动态概念,因为只有在运行时才给对象分配空间,对象才真正存在。4对象是类的唯一性实例现实世界实体抽象数据类型计算机世界对象类抽象映射计算机逻辑的实现实例化抽象概念世界53、对象的属性与方法面向对象程序设计中的对象是现实世界对象的模型化,它同样具有状态和行为。对象的状
3、态用属性来维护,对象的行为用方法来实现。因此可以简单地讲,对象是面向对象的程序设计模式,它由描述状态的属性(变量)和用来实现对象行为的方法(代码)组成。几种叫法属性—静态属性—域—成员变量状态方法—动态属性—成员方法行为6现实中的对象类是对对象的一个抽象描述;对象是类的实例化。类(CLASS)为“manclass”将对象进行抽象为类将类进行实例化属性:name//名字sex//性别age//年龄homeplace//家庭住址company//公司obligation//部门方法:eatfood()//吃饭slee
4、p()//睡觉study()//学习work()//工作潘永74、对象与类—几种相互关系包含关系当对象A是对象B的属性时,我们称对象B包含对象A。关联关系当对象A的引用是对象B的属性时,我们称对象A和对象B之间是关联关系。类之间的继承关系B类继承了A类,就是继承了A类的非私有的属性和方法。A类称之为父类,B类称之为子类。85、面向对象编程的特点封装性:类是封装的基本单元。面向对象编程中,使用属性和方法表现类的特征和行为。通过封装,可以屏蔽程序的实现细节,同时使软件错误局部化,便于程序维护继承性:类和类之间可以存在
5、继承关系。继承提高了程序代码的复用性,也便于进行功能扩充。多态性:程序设计中,类的多态性表现为“同名方法,不同实现”。即相同的行为,由于执行该行为的对象不同而具有不同的实现过程和结果。6、面向对象技术-人人受益项目经理更迅速和更经济地开发和维护软件系统。系统架构师模块化的过程将变的简单,并能获得一个清晰的、易于管理的设计方案。程序员清晰的对象模型,丰富的面向对象开发工具及类库使得编程变为一件饶有兴趣的工作。程序员明显感到编程效率的提高。104.2类类(Class)是同种对象的集合与抽象类是对象的抽象及描述,它是具
6、有统一属性和方法的多个对象的统一描述体,是用来定义一组对象共有属性和方法的模板。类是用来创建对象实例的样板,它包含所创建对象的状态描述和方法的定义。类是一个型,而对象则是这个型的一个实例。类是静态概念,而对象则是一个动态概念,因为只有在运行时才给对象分配空间,对象才真正存在。114.2.1类的定义创建一个电视机类:属性:尺寸,型号,生产厂家……classTv方法:打开,关闭,欣赏节目……classTv{intsize,style,factory;voidopen();voidclose();voidenjoy()
7、;}创建Tv类对象mytv:Tvmytv=newTv();引用mytv对象的open()方法:mytv.open();124.2.1类的定义1、Java中类的定义格式:[类修饰符]class类名[extends父类名][implements接口名]{成员变量定义;方法定义;}类体132、说明类修饰符(Modifier):public:允许其他类(没有限制)访问本类,一个源文件仅可以有一个public类缺省:可被当前包中的其他类访问abstract:没有实例的抽象概念类,是它的所有子类的公共属性和公共方法的集合fi
8、nal:不能再被扩展,不能有子类的类;易于安全性的实现,或用于创建固定功能的类父类继承声明:extends父类名实现接口(interface):implements接口名143、举例publicabstractclassshape{……}classrectangleextendsshape{……}finalclassroundrectextendsrectangle{……
此文档下载收益归作者所有