欢迎来到天天文库
浏览记录
ID:58703406
大小:1.63 MB
页数:146页
时间:2020-10-04
《第2章类与对象的基本概念ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Csdn(ChinaSoftwareDevelopmentNation):中国软件开发联盟12第二章类与对象的基本概念JAVA语言程序设计3主要概念面向对象的基本特征:抽象、封装、继承、多态类(class)、类的成员(属性、方法)对象(new)、构造函数、this修饰符:访问控制修饰符(public、protected、private)静态修饰符:static(类变量、类方法)最终修饰符:final软件包(import)42.1面向对象的程序设计方法概述面向对象的程序设计与结构化程序设计方法相比,更符合人类认识现实世界的思维方式已成为程序设计的主流方向涉及
2、的主要概念抽象封装继承多态5对象现实世界中万物皆对象都具有各自的属性,对外界都呈现各自的行为程序中一切都是对象都具有标识(identity),属性和行为(方法)通过一个或多个变量来保存其状态通过方法(method)实现他的行为2.1面向对象的程序设计方法概述(续)6类将属性及行为相同或相似的对象归为一类类可以看成是对象的抽象,代表了此类对象所具有的共有属性和行为在面向对象的程序设计中,每一个对象都属于某个特定的类,2.1面向对象的程序设计方法概述(续)7俄罗斯方块游戏监听方向键监听类主TABLE下落线程计时器形状类每一个小格类主类8结构化程序设计通常由若干个
3、程序模块组成,每个程序模块都可以是子程序或函数数据和功能分离,代码难于维护和复用面向对象程序设计基本组成单位是类程序在运行时由类生成对象,对象是面向对象程序的核心对象之间通过发送消息进行通信,互相协作完成相应功能2.1面向对象的程序设计方法概述(续)92.1.1抽象抽象忽略问题中与当前目标无关的方面,以便更充分地注意与当前目标有关的方面计算机软件开发中所使用的抽象有过程抽象数据抽象10过程抽象将整个系统的功能划分为若干部分,强调功能完成的过程和步骤,而隐藏其具体的实现任何一个明确定义的功能操作都可被看作单个的实体,尽管这个操作实际上可能由一系列更低级的操作来
4、完成基于过程抽象的两个标准程序设计技术过程分解递归技术2.1.1抽象(续)11数据抽象将需要处理的数据和这些数据上的操作结合在一起,抽象成不同的抽象数据类型每个抽象数据类型既包含了数据,也包含了针对这些数据的操作相对于过程抽象,数据抽象是更为合理的抽象方法2.1.1抽象(续)12例:钟表数据(属性)intHour;intMinute;intSecond;方法(行为)SetTime();ShowTime();2.1.1抽象(续)13例:人数据(属性)char*name;char*gender;intage;intid;方法(行为)生物行为Eat(),Step(
5、),…社会行为Work(),Study(),…2.1.1抽象(续)142.1.2封装封装是一种信息隐蔽技术利用抽象数据类型将数据和基于数据的操作封装在一起用户只能看到对象的封装界面信息,对象的内部细节对用户是隐蔽的封装的目的在于将对象的使用者和设计者分开,使用者不必知道行为实现的细节,只需使用设计者提供的消息来访问对象15封装的定义清楚的边界所有对象的内部信息被限定在这个边界内接口对象向外界提供的方法,外界可以通过这些方法与对象进行交互受保护的内部实现功能的实现细节,不能从类外访问。2.1.2封装(续)16封装的意义在面向对象的程序设计中,类封装了数据及对数
6、据的操作,是程序中的最小模块禁止了外界直接操作类中的数据,模块与模块之间只能通过严格控制的接口进行交互,这使得模块之间的偶合度大大降低保证了模块具有较好的独立性,程序维护和修改较为容易2.1.2封装(续)172.1.3继承继承是指新的类可以获得已有类(称为超类、基类或父类)的属性和行为,称新类为已有类的派生类(也称为子类)在继承过程中派生类继承了基类的特性,包括方法和实例变量派生类也可修改继承的方法或增加新的方法,使之更适合特殊的需要有助于解决软件的可重用性问题,使程序结构清晰,降低了编码和维护的工作量18单继承任何一个派生类都只有单一的直接父类类层次结构为
7、树状结构多继承一个类可以有一个以上的直接父类类层次结构为网状结构,设计及实现比较复杂Java语言仅支持单继承2.1.3继承(续)192.1.4多态多态一个程序中同名的不同方法共存主要通过子类对父类方法的覆盖来实现不同类的对象可以响应同名的消息(方法),具体的实现方法却不同使语言具有灵活、抽象、行为共享、代码共享的优势,很好地解决了应用程序方法同名问题20类与对象在程序中,对象是通过一种抽象数据类型来描述的,这种抽象数据类型称为类(Class)一个类是对一类对象的描述。类是构造对象的模板对象是类的具体实例*2.2类与对象212.2.1类的声明声明形式[publ
8、ic][abstract
9、final]class类名
此文档下载收益归作者所有