面向对象的核心特性.pptx
第3章类与对象《Java2程序设计实用教程(第2版)》面向对象程序设计概述面向对象与UML建模Java语言与面向对象特性类的定义和对象的创建方法静态成员包成员的访问控制封装利用系统已有类
《Java2程序设计实用教程(第2版)》3.1面向对象程序设计概述
1面向对象术语的解释什么是对象:现实世界中解决问题的实物(包括有行为和属性)例如:咖啡猫黄色的(属性)爱睡觉(行为)什么是类:对象的模板模板内容=类的特性(属性)+行为(方法)类的成员例如:猫类(有颜色,猫龄等属性;有睡觉,吃食等行为。对象类
3.1面向对象程序设计概述《Java2程序设计实用教程(第2版)》类与对象关系概念:类(class)是既包括数据又包括作用于数据的一组操作的封装体。对象(object)是类的实例(instance)。类对象抽象实例化方法数据或变量
继承《Java2程序设计实用教程(第2版)》1什么叫继承?继承是接收来自父辈的财产2在面向对象中继承的外延是什么?拥有父辈所拥有的东西3子类的继承→子类拥有父辈的成员4例如:汽车继承车//所有种类的汽车都需要实现汽车的基本功能5类的继承实现了代码的重用。
接口《Java2程序设计实用教程(第2版)》01接口像一个类定义的模板,它提供了与其他事物之间相互通信的规则条目,但并非具体实现。02例如:多个程序员开发同一个应用程序的不同类,约定不同类之间使用同一组方法进行通信。则创建一个接口用于定义这些方法。
5.封装数据隐藏。成员的详细信息对于对象外的代码是私有的和不可见的。数据方法外界访问
3.1.2面向对象程序设计方法的优点《Java2程序设计实用教程(第2版)》可重用性1可扩展性2易于管理和维护3
3.2面向对象与UML建模《Java2程序设计实用教程(第2版)》建模是一项经过检验并被广为接受的工程技术。建立房屋和大厦的建筑模型,能帮助用户得到实际建筑物的印象。要生产合格的软件就要有一套关于体系的结构、过程和工具的规范。建模的目的:有助于按照实际情况或按照所需的样式使系统可视化能够规约系统的结构或行为给出指导系统构造的模板使做出的决策文档化
3.2.2UML建模语言什么是UML?《Java2程序设计实用教程(第2版)》——UnifiedModelingLanguage(统一建模语言)UML是一种用来创建程序模型的图形语言(即带有语意的一种图形记号)。可以用来说明代码中对象之间的关系。
3UML进行面向对象的系统分析设计01UML进行面向对象的系统分析设计,其过程通常由以下3个部份组成。识别系统的用例和角色进行系统分析,并抽取类系统设计,并设计类及其行为02
3.3Java语言与面向对象特性《Java2程序设计实用教程(第2版)》Java中的垃圾回收机制:自动回收垃圾内存Java中的多态Java中的继承:只准继承一个类,但可以“继承”多个接口。Java中的封装:无需关心调用对象的内部细节Java中的类:信息以类为单位单独封装
类的封装性、继承性和多态性类的封装性类的继承性类的多态性数据操作成员变量成员方法类类的封装性直接访问——访问权限类的继承性类的多态性外部直接访问
类的继承性继承的概念:子类拥有父类的成员。特性:1.子类自动拥有父类全部成员(成员变量+方法)人类(父)学生类(子)性别、姓名、身高、国籍……吃饭、睡觉、工作…….性别、姓名、身高、国籍……吃饭、睡觉、工作…….继承
子类可以更改父类继承的成员;如学生类中,“工作”方法会有自己的限制。01子类可以增加自己的成员;如学生类中,添加“学习”、“考试”等方法。01子类不能删除父类任何成员。01
《Java2程序设计实用教程(第2版)》Java的单继承C++java父类1父类n子类父类子类接口多继承:一个类有多个直接父类。可以拥有多个父类的属性或方法。单继承:一个类只有一个直接父类,若需要继承其他方法,则通过接口实现。注意:java中只支持单继承。即子类只有一个直接父类。多继承特点通过接口实现。
类的多态性01多态:允许拥有相同的形式,但在不同情况下拥有不同机能的特性。如“+”02多态性——方法执行的多样性03重载:方法名同,参数列表不同04覆盖:子类重写了父类中同名的方法。05
3.4类的定义和对象的创建《Java2程序设计实用教程(第2版)》程序运行可理解为做三件事:建立对象使用对象:对象之间传递消息,程序处理消息作出响应运行完毕收回对象所占空间。对象的生命周期:创建——运行——消亡获得内存空间进行各种操作使用完释放内存
3.4.1定义类:类声明+类主体《Java2程序设计实用教程(第2版)》类定义的格式:类声明{成员变量的声明;成员方法的声明及实现;}类主体类