- 1、本文档共78页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章节类与面向对象编程
第四章 类与面向对象编程 面向对象编程基础 类的编程实现 对象的定义与使用 重载 访问控制符 其他修饰符 4.1 面向对象编程基础 4.1.1 面向对象编程的基本概念 面向对象编程与传统的面向过程编程的区别 面向过程编程:按照计算机的问题处理逻辑来描述和 处理现实世界中的具体问题,采用结构化程序设 计和编程方法,将复杂任务逐步分解为多个子任 务,用一组函数实现任务求解。(动宾结构) 面向对象编程:程序的设计和编写力求符合人们的思 维方式,让计算机处理模拟人们对现实世界的问 题求解方法,使现实世界中的事务与面向对象程 序中的类和对象相对应。(主谓结构) 4.1.1 面向对象编程的基本概念 1、对象(Object):两个层次,一一对应----客观存在。 现实生活中的对象:客观世界中的实体(属性和行为); 程序中的对象:变量和相关方法的集合(数据和方法); 即类是对象的抽象,而对象则是类的实例化(具体化) 4.1.1 面向对象编程的基本概念 2、类(Class)----对应现实世界的类别 将具有共性的一类对象,抽象为“类”---概念上的意义。 是一种数据类型,在Java中是一种复合/引用数据类型。 类是创建某一类对象的模板,属于类的某个对象为类的一个实例,使用对象前需要先定义它所属的类。 类中定义一类对象共有的变量和方法。 类的定义可实现代码的复用。我们不用去描述每一个对象(如某辆汽车),而是通过创建类(如汽车类) 的一个实例来创建类的一个对象,这大大减化了软件的设计。 4.1.1 面向对象编程的基本概念 3、成员与方法 抽象为一个类的不同对象具有许多相同的特点,这些特点基本上可以分为两类:一是描述对象静态状态的,这就是对象的属性/状态,在程序设计中,称之为变量(Variable)/成员;另一个是描述对象的动作和行为,这就是对象的方法(Method),方法决定了该类中的数据如何使用。 例:“汽车”的属性:颜色、重量、功率、速度等; 方法:前进、后退、加速、减速等。 汽车类示例 class Car{ int color_number; int weight; … void brake(){…}; void speedUp(){…}; void slowDown(){…}; … } 4.1.2 面向对象编程的优点 与面向过程编程相比较,面向对象编程 具有如下优点: 提高了程序的可维护性(全局变量-不共享数据) 可重用性高---继承(提高效率,降低成本) 保护数据-----封装 类比:组装电脑 4.1.3 对象的抽象 抽象是一种思维形式,就是把事物共同点抽取出来,以统一的方式进行概要描述的一种过程。 4.1.3 对象的抽象 面向对象的编程中,系统由多个包含不同属性和方法的对象组成,每个对象实现部分功能。(如上页交通工具) 什么是抽象:用面向对象的方法解决现实世界的问题时去掉物体中与问题不相关的部分,形成所需要类的过程,称为抽象。 采用数据抽象方法----构建程序的类 4.1.4 封装 什么是封装:封装是将数据和对数据的操作封装在一个抽象的数据类型中,数据被保护在抽象数据类型的内部,其他对象只能通过接口与数据进行交互。 4.1.4 封装 在程序中,用类将数据和方法封装在类体中。模块之间通过接口进行交互。 封装技术的优点: (1)降低问题的复杂度; (2)提高了类或模块的可重用性; (3)保护数据的完整性和安全性。 类比:计算机的主机 4.2 类的编程实现 4.2.1 类定义 语法结构: [修饰符] class 类名 [extends 父类名] [implements 接口名] //类头 { 类成员声明及初始化; 类方法声明及方法体; } 修饰符:说明类的性质,包括访问控制符(空或public)和类型说明符(abstract抽象、final最终)。 类名:用户自定,约定每个单词的首字母大写。 extends 父类名:实现继承/派生 implements 接口名:多重继承 4.2.1 类定义 类声明只是创建一个模板(或类型描述),并不会创建一个实际的对象,只有用new方法创建一个该类的实例对象时,才具有“物理”的真实性。 例 BoxDemo.java的源程序 4.2.2 域/成员变量的定义 1、什么是域 域:类体中数据部分体现为成员变量的定义,也称为域或 静态属性。域体现了类
文档评论(0)