- 3
- 0
- 约1.14万字
- 约 79页
- 2017-06-11 发布于北京
- 举报
本章知识重点 本章知识难点 面向对象的基本概念 对象(Object)是一个应用系统中用来描述客观事物的实 体,是具有特定属性(数据)和行为(方法)的基本运行单 位,是类的一个特定状态下的实例。 类(Class)是Java代码的基本组织模块,是用以描述一组 具有共同属性和行为的对象的基本原型,是对这组对象 的概括、归纳与抽象表达,它定义了本类对象所应拥有 的状态属性集及操作这组属性的行为方法集。 面向对象的基本概念(续1) 接口(Interface)是一种只包含常量与抽象方法的特殊 的类,是Java语言用以实现类间多重继承功能的唯一手 段。接口定义了一组特定功能的对外接口与规范,而并 不真正实现这种功能,功能的实现留待给实现这一接口 的各个类来完成 类与对象的关系 类与对象之间的关系,类似于数据类型与变量之间的关系;一个类可以生成无数个不同的对象,每个对象属性值不同,其状态也不同。 类与对象的关系示例 计算机模型与计算机实体之间的关系: 面向对象编程(OOP) 从问题域客观存在的事物出发,将这些现实世界的物理实体抽象成概念世界的抽象数据类,再进一步将这种抽象数据类转换为计算机世界的类(Class);类刻画出实体所具有的状态信息与所能发挥的功能信息,是创建对象时所遵循的模板(Template)。对类进行实例化,就生成一个个的对象,对象对应于各个具体事物,是程序运行过程中实际发挥作用的类的独立内存映像。借助于类与对象这两个面向对象程序中最基本的要素,按照尽可能符合人类自然思维的方式,来构造软件系统,这就是所谓的面向对象程序设计(OOP) OOP的逻辑过程 面向对象设计分析的完整过程如图所示: 面向对象的重要特征 抽象 抽象(Abstraction):抽象是面向对象编程的起点,也是其最本质的特征之一。抽象的广义概念是这样定义的:从研究对象中提取与当前目标主题关系最密切的主要方面,而忽略掉与目标无关的那些方面或关系不大的细枝末节,从而更充分地注意与当前目标有关的方面,更明确地突出主题,这就是抽象 抽象示例 下图阐述了如何由自然界众多的动物实体出发,经过抽象的处理过程,最终得到动物这一概念 封装 封装(Encapsulation): 封装也可称为信息隐藏(Information Hiding), 是通过对象的方法来访问与改变对象属性的一种机制。封装是面向对象的一个重要原则,其实现的核心是将类的属性与相关的操作捆绑起来,包装成不可分割的、独立的对象实体,将内部的数据与实现细节尽可能隐蔽起来,使外部用户不能直接操纵对象的内部信息,只能通过对象对外提供的施加有一定限制的访问接口来使用对象 封装示例 下图形象地说明了一个类的封装原理。类对数据与行为的封装是借助于不同级别的访问修饰符来达到控制目的的 继承 继承(Inheritance):继承是指从已有的类中可以派生出若干个新类,已有类称为基类或父类,新类称为派生类或子类;子类将自动地获得基类的属性与方法,从而不需再重复定义这些属性与方法;当然子类还可以修改父类的方法或增加新的方法,从而使自己更适合特殊的需要。类之间的继承关系是现实世界中遗传关系的直接模拟 多态性 多态性(Polymorphism): 是指允许不同类的对象对同一消息作出各自的响应,即以统一的风格处理已存在的数据及相关的操作。多态性语言具有灵活、抽象、行为共享、代码共享的优势,较好地解决了应用程序中方法同名的问题 OOP的优越性 从面向过程到面向对象是程序设计技术的一个飞跃。人们之所以要采用面向对象的程序设计技术,其目的在于: OOP的优越性(续) 提高程序的可靠性与可维护性 提高程序的可扩展性 增强程序的可控制性 类的描述 类是Java语言面向对象编程的基本要素,用来定义对象的成员变量(数据域)与成员方法(功能接口),描述对象的状态与行为。Java程序将你要表达的实体或概念封装在类中,并由类来创建诸多的实例对象。应用程序的功能便是由各个类的实例对象,通过调用各类方法来实现的 类的定义 修饰符public、说明了类的属性,abstract与final为互斥的两个修饰符,不能同时出现于一个类的声明中 类的定义(续1) 关键字extends后面跟随着基类的名称 关键字implements后面跟随着类所实现的接口列表 带有[]的项目为可选项目,只在必要时才出现 类体是类功能实现的主体,是Java语句的集合 语句块界定符{及}标识出类体的有效范围 类的描述(续2) 成员变量与成员方法为类的成员要素,简称为成员(Member),它们又分为静态/类的要素与对象/实例要素两类。 构造方法是具有与类名相同名称的一种特殊方法,用来创建类
您可能关注的文档
- E学堂很强大.ppt
- FAB竞争分析.ppt
- Financialinstruments金融工具.ppt
- Flash中文本工具的应用.ppt
- flash游戏开发制作教程第10讲A星寻路过程2.ppt
- flash游戏开发实例教程第10讲PureMVC示例二2012.ppt
- g1《滕王阁序》010902张英满.ppt
- GEM邓紫棋简介.ppt
- GSM-WCDMA鉴权原理.ppt
- Halloween万圣节.ppt
- 2026上海虹口区委党校招聘专职教师1人备考题库新版.docx
- 2026北京市农林科学院招聘32人备考题库带答案详解(考试直接用).docx
- 2026北京大学新结构经济学研究院招聘1名劳动合同制工作人员备考题库完整答案详解.docx
- 2026北京航空航天大学航空科学与工程学院聘用编人机交互项目开发科研助理F岗招聘2人备考题库含答案详.docx
- 2026北京首都体育学院人才引进10人备考题库(第一批)及1套完整答案详解.docx
- 2026华东交通大学山区土木工程安全与韧性全国重点实验室高层次人才招聘10人备考题库(江西)带答案详.docx
- 2026南昌市劳动保障事务代理中心招聘劳务派遣人员2人备考题库带答案详解(名师推荐).docx
- 2026北京航空航天大学可靠性与系统工程学院聘用编软件测试工程师F岗招聘2人备考题库带答案详解(综合.docx
- 2026华润隆地战略运营部岗位招聘备考题库含答案详解(考试直接用).docx
- 2026年吉林水利电力职业学院单招职业技能考试题库附答案详解(培优b卷).docx
最近下载
- 个人2025年度组织生活会上对照检查材料(五个对照).docx VIP
- Semi Analysis-共封装光学(CPO)书籍-以光进行扩展,迎接下一波互连浪潮.pdf
- Dahua大华手机分类探测门_快速操作手册_V1.0.0.pdf
- 海德堡印刷机tpm保养表.pdf VIP
- 创建优质工程要点培训课件(153页).pptx VIP
- 团险营销培训课件.ppt VIP
- 2025年河南质量工程职业学院高职单招职业技能考试题库及参考答案解析.docx VIP
- 人教版七年级生物下册默写小纸条-默写版.pdf VIP
- 肠破裂多学科决策模式中国专家共识(2025版).docx
- 节后开工第一课.pptx VIP
原创力文档

文档评论(0)