欢迎来到天天文库
浏览记录
ID:34425879
大小:4.93 MB
页数:94页
时间:2019-03-06
《3-面向对象程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java语言与面向对象程序设计吴青wuqingwhu@gmailcomwuqingwhu@gmail.com面向对象程序设计思想1概念提要2概念详解面向对象的基本概念和基本原理•核概念核心概念–对象–类•基本原理–抽象–封装–继承–多态3面向对象的基本概念和基本原理•对象(Object)–定义:对象是由数据及其操作所构成的封装体。–要素:•标识(Identity):每一个对象必须有一个名字以区别于其它对象•状态(State):用来描述对象静态特征的一个数据项。•服务(Service):用来描述对象动态特征(行为)的一个操作序列。•对象的状态值只能由这个对象的服务来读取和修改。面向对
2、象的基本概念和基本原理•对象–对业务领域而言,对象是指现实世界中的一个事物,即建立系统模型中与目标有关的有待抽象的事物,具有静态特征和动态特征。•可以是有形的,如汽车、房屋;•可以是无形的,如学校、教学计划。–对系统建模而言,对象用来描述客观事物的一个实体,是构成系统的基本单元,由一组属性和一组操作组成。在这里,对象只描述客观事物本质的、与系统目标有关的特征,而不考虑那些非本质的、与系统目标无关的特征。–对象之间通过消息通信,系统功能通过新对象的建立和对象之间的消息通信来实现。面向对象的基本概念和基本原理•类(Class)–定义:具有相同静态特征和动态特征的一组对象的集合,它为属于
3、该类的全部对象提供了统一的抽象描述。–类体现了人们认识事物的基本思维方法•分类(Classification)•类代表一个抽象的概念或事物,对象是在客观世界中实际存在的类的实例。–在学校教学管理系统中,“学生”是一个类,一个具体学生“王平”是一个对象,也是“学生”类的一个实例。面向对象的基本概念和基本原理类与对象的关系•类与对象的关系就如模具和铸件、设计图与实物的关系。•在左图中,如果将对象比作汽车,那么类就是汽车的设计图纸。•所以面向对象程序设计的重点是类的设计,而不是对象的设计。面向对象的基本概念和基本原理类与对象的关系•类与对象的关系就是抽象与具体的关系。•类是同一种对象的集
4、合的抽象。•一个对象是类的一个实例。•所以消息是通过对象传递而不是类。面向对象的基本概念和基本原理•类与对象的比较–同类对象具有相同的属性和服务,是指它们的定义形式相同,而不是说每个对象的属性值都相同。–类是静态的,类的存在、语义和关系在程序执行前就已经定义好了。–对象是动态的,对象在程序执行时可以被创建和删除。–在面向对象的系统分析和设计中,并不需要逐个对对象进行说明,而是着重描述代表一批对象共同的类。面向对象的基本概念和基本原理•抽象性(()Abstraction)–抽象是通过特定的实例或例子抽取共同的性质以后形成概念的过程。–它强调主要性质,忽略次要性质。Whatisthis
5、?BriefCase-Capacity:IntegerCapacity:Integer-Weight:Integer+open()+ccose()lose()+carry()面向对象的基本概念和基本原理•封装性(ElEncapsulattiion)–封装是将相关的概念组成一个单元,然后通过一个名称来引用它。–面向对象的封装是将数据和基于数据的操作封装成一个整体对象。•封装使对象形成两个部分:接口和实现–对用户来说,接口是可见的,实现是不可见的。•封装可以保护对象,避免用户误用,也可以保护客户端,其实现过程的改变不会影响到相应的客户端的改变。•与封装密切相关的概念是可见性,它是指对象
6、的属性和服务允许对象外部存取和引用的程度。面向对象的基本概念和基本原理•继承性(IhitInheritance)类间共享特征–继承表示类之间的层次关系,这种关系使得某类对象可以自动拥有另外一类对象的全部静态和动态特征。–继承简化了人们对现实世界的认识和描述,在定义子类时不必重复定义那些已在父类中定义过的属性和服务,只要说明它是某个父类的子类,并定义自己特有的属性和服务即可。类间差别特征•与父类/子类等价的其他术语–一般类/特殊类、超类/子类、基类/派生类、……•继承可分为单继承和多继承–单继承是指子类只从一个父类继承–多继承是指子类从多个父类继承面向对象的基本概念和基本原理•单继承
7、面向对象的基本概念和基本原理•多继承面向对象的基本概念和基本原理•多态性(Polymorphism)–多态是一种方法,使得在多个类中可以定义同一个操作或属性名,并在每个类中可以有不同的实现。–多态是一种特性,使得一个属性或变量在不同的时期可以表示不同类的对象。面向对象的基本概念和基本原理•多态性的实现–动态绑定:即运行时绑定,是一种在运行时(而不是在编译时)确定被执行代码的技术。•Overriding&OverloadingOverriding&Overloading
此文档下载收益归作者所有