- 1、本文档共154页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 Java面向对象程序设计-1
3.1 面向对象程序设计方法概述
3.2 类与对象
3.3 对象初始化和回收
3.4 应用举例
3.1 面向对象程序设计方法概述
对象 (object)
现实世界
万物皆对象
都具有各自的属性,对外界都呈现各自的行为
程序
一切都是对象
都具有标识 (identity), 属性和行为(方法)
通过一个或多个变量来保存其状态
通过方法(method) 实现其行为
3.1 面向对象程序设计方法概述
类 (class)
“人以类聚,物以群分”
将属性及行为相同或相似的对象归为一类
类可以看成是对象的抽象,是对象的集合,代表了此类对象所具有的共有属性和行为。
在面向对象的程序设计中,每一个对象都属于某个特定的类。
import java.math.*;
class Circle
{
private double radius;
Circle(double rads)
{
radius = rads;
}
public double getArea()
{
return radius * radius * Math.PI;
}
}
public class TestCircle
{
public static void main(String[] args)
{
Circle c = new Circle(20.0);
System.out.println(The area is: +c.getArea());
}
}
Demo: TestCircle.java
3.1 面向对象程序设计方法概述
结构化程序设计
对应的典型计算机语言, 例如: C
面向操作(action)的
函数(方法)是程序的基本单位
面向对象程序设计
对应的典型计算机语言, 例如: Java
面向对象(object)的
类(class)是程序的基本单位
方法(函数)被封装在类中
数据也常常被封装在类中
3.1 面向对象程序设计方法概述
面向对象程序设计 (Object-Oriented Programming)
与结构化程序设计方法相比,更符合人类认识现实世界的思维方式
已成为程序设计/软件分析与设计的主流方向
涉及的主要概念
抽象——abstract
封装——encapsulation
继承——inheritance
多态 —— polymorphism
3.1.1 抽象
抽象(abstract)
忽略问题中与当前目标无关的方面,以便更充分地注意与当前目标有关的方面
计算机软件开发中所使用的抽象有
过程抽象
数据抽象
3.1.1 抽象
过程抽象
将整个系统的功能划分为若干部分,强调功能完成的过程和步骤,而隐藏其具体的实现
基于过程抽象的两个标准程序设计技术
过程分解
递归技术
3.1.1 抽象
数据抽象
将需要处理的数据和这些数据上的操作结合在一起,抽象成不同的抽象数据类型
每个抽象数据类型既包含了数据,也包含了针对这些数据的操作
相对于过程抽象,数据抽象是更为合理的抽象方法
3.1.1 抽象
举例1:
钟表- Clock
数据(属性)
int Hour; int Minute; int Second;
方法(行为)
SetTime(); ShowTime();
3.1.1 抽象
举例2:
人 - person
数据(属性)
char *name; char *gender; int age; int id;
方法(行为)
生物行为
Eat(), Step(), …
社会行为
Work(), Study(), …
3.1.1 抽象
Java
import java.math.*;
class Circle
{
private double radius;
Circle(double rads)
{
radius = rads;
}
public double getArea()
{
return radius * radius * Math.PI;
}
}
3.1.2 封装
封装(encapsulation)
是一种信息隐蔽技术
将数据和基于数据的操作封装在一起
用户只能看到对象的封装接口信息,对象的内部细节对用户是隐蔽的
封装的目的在于将对象的使用者和设计者分开,使用者不必知道行为实现的细节,只需使用设计者提供的消息来访问对象
3.1.2 封装
Java
import java.math.*;
class Circle
{
private double radius
您可能关注的文档
最近下载
- 女犯的心理征及其心理矫治.doc VIP
- 2024版义务教育(道德与法治)课程标准(含2024年修订部分).pptx VIP
- MAN+L3240(TIERII)柴油机VIT技术的介绍应用研讨.pdf VIP
- NB∕T 10139-2019 水电工程泥石流勘察与防治设计规程.pdf VIP
- 起重吊装专项施工方案.docx VIP
- 墙面金属板安装施工方案与技术措施.docx VIP
- 公司收购(股权转让)法律尽职调查报告(律师专业版).docx VIP
- 企业内部控制培训课件完整版(164页PPT).ppt VIP
- 金属板墙面安装施工方案.doc VIP
- Hypertherm海宝 MAXPRO200 使用手册 中文.pdf VIP
文档评论(0)