第2章 类与对象的基本概念

第2章 类与对象的基本概念

ID:41347421

大小:1020.00 KB

页数:147页

时间:2019-08-22

第2章 类与对象的基本概念_第1页
第2章 类与对象的基本概念_第2页
第2章 类与对象的基本概念_第3页
第2章 类与对象的基本概念_第4页
第2章 类与对象的基本概念_第5页
资源描述:

《第2章 类与对象的基本概念》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1第2章类与对象的基本概念清华大学郑莉2目录2.1面向对象的程序设计方法概述2.2类与对象2.3对象初始化和回收2.4枚举类型2.5应用举例2.6UML简介2.7注解2.8本章小节32.1面向对象的程序设计方法概述(续)面向对象的程序设计与结构化程序设计方法相比,更符合人类认识现实世界的思维方式已成为程序设计的主流方向涉及的主要概念抽象封装继承多态4对象现实世界中万物皆对象都具有各自的属性,对外界都呈现各自的行为程序中一切都是对象都具有标识(identity),属性和行为(方法)通过一个或多个变量来保存其状态通过方法(method)实现他

2、的行为2.1面向对象的程序设计方法概述(续)5类将属性及行为相同或相似的对象归为一类类可以看成是对象的抽象,代表了此类对象所具有的共有属性和行为在面向对象的程序设计中,每一个对象都属于某个特定的类,2.1面向对象的程序设计方法概述(续)6结构化程序设计通常由若干个程序模块组成,每个程序模块都可以是子程序或函数数据和功能分离,代码难于维护和复用面向对象程序设计基本组成单位是类程序在运行时由类生成对象,对象是面向对象程序的核心对象之间通过发送消息进行通信,互相协作完成相应功能2.1面向对象的程序设计方法概述(续)72.1.1抽象抽象忽略问题中

3、与当前目标无关的方面,以便更充分地注意与当前目标有关的方面例:钟表数据(属性)intHour;intMinute;intSecond;方法(行为)SetTime();ShowTime();2.1面向对象的程序设计方法概述82.1.2封装封装是一种信息隐蔽技术利用抽象数据类型将数据和基于数据的操作封装在一起用户只能看到对象的封装界面信息,对象的内部细节对用户是隐蔽的封装的目的在于将对象的使用者和设计者分开,使用者不必知道行为实现的细节,只需使用设计者提供的消息来访问对象2.1面向对象的程序设计方法概述9封装的定义清楚的边界所有对象的内部信息

4、被限定在这个边界内接口对象向外界提供的方法,外界可以通过这些方法与对象进行交互受保护的内部实现功能的实现细节,不能从类外访问。2.1.2封装(续)2.1面向对象的程序设计方法概述102.1.3继承继承是指新的类可以获得已有类(称为超类、基类或父类)的属性和行为,称新类为已有类的派生类(也称为子类)在继承过程中派生类继承了基类的特性,包括方法和实例变量派生类也可修改继承的方法或增加新的方法,使之更适合特殊的需要有助于解决软件的可重用性问题,使程序结构清晰,降低了编码和维护的工作量2.1面向对象的程序设计方法概述11单继承任何一个派生类都只有

5、单一的直接父类类层次结构为树状结构多继承一个类可以有一个以上的直接父类类层次结构为网状结构,设计及实现比较复杂Java语言仅支持单继承2.1.3继承(续)2.1面向对象的程序设计方法概述122.1.4多态多态一个程序中同名的不同方法共存主要通过子类对父类方法的覆盖来实现不同类的对象可以响应同名的消息(方法),具体的实现方法却不同使语言具有灵活、抽象、行为共享、代码共享的优势,很好地解决了应用程序方法同名问题2.1面向对象的程序设计方法概述13类与对象在程序中,对象是通过一种抽象数据类型来描述的,这种抽象数据类型称为类(Class)一个类是

6、对一类对象的描述。类是构造对象的模板对象是类的具体实例2.2类与对象142.2.1类的声明声明形式[public][abstract

7、final]class类名称[extends父类名称][implements接口名称列表]{变量成员声明及初始化;方法声明及方法体;}2.2类与对象15关键字class表明其后声明的是一个类。extends如果所声明的类是从某一父类派生而来,那么,父类的名字应写在extends之后implements如果所声明的类要实现某些接口,那么,接口的名字应写在implements之后2.2.1类的声明(续)2.2类

8、与对象16修饰符可以有多个,用来限定类的使用方式public表明此类为公有类abstract指明此类为抽象类final指明此类为终结类类声明体变量成员声明及初始化可以有多个方法声明及方法体可以有多个2.2.1类的声明(续)2.2类与对象17钟表类publicclassClock{//成员变量inthour;intminute;intsecond;//成员方法publicvoidsetTime(intnewH,intnewM,intnewS){hour=newH;minute=newM;second=news;}publicvoidshow

9、Time(){System.out.println(hour+":"+minute+":"+second);}}2.2.1类的声明(续)——例2-12.2类与对象18变量和对象变量除了存储基本

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。