要点 1.面向对象程序设计(Object-oriented Programming, OOP) 2.人们所能够解决的问题的复杂性直接取决于抽象的类型和质量。 类型:指“所抽象的是什么?” 3.面向对象思想的实质是:程序可以通过添加新类型的对象使自身适用于某个特定问题。 4.OOP运行根据问题来描述问题,而不是根据运行解决方案的计算机来描述问题。但是它仍然与计算机有联系:每个对象看起来都有点像一台微型计算机----它具有状态,还有操作,用户可以要求对象执行这些操作。 5.对象:对象具有状态、行为和标识。 6.面向对象思想的基本特性: - 万物皆为对象。
- 程序是对象的集合。
- 每个对象都有自己的有其它脆响所构成的存储。
- 每个对象都拥有其类型。
- 某一特定类型的所以对象都可以接收同样的消息。
7.每个对象都有一个接口 - 所有的对象都是唯一的,但同时也是具有相同的特性和行为的对象所归属的类的一部分。
- 类描述了具有相同特性(数据元素)和行为(功能)的对象的集合,所以,一个类实际上就是一个数据类型。
- 程序员通过定义类来适应问题,而不再被迫只能使用现有的用来表示机器中的存储单元的数据类型,可以根据需求,通过添加新的数据类型来扩展编程语言。
8.任何程序都是你所设计的系统的一种仿真。 9.接口确定了对某一特定对象所能发出的请求,而决定接口的并使类型(类)。 10.每个对象都提供服务 11.被隐藏的具体实现 访问控制存在的原因: - 让客户端程序员无法触及他们不应该触及的部分。
- 允许库设计者可以改变类内部的工作方式而不用担心会影响到客户端程序员。
12.Java使用三个关键字在类的内部设定边界:public private protected 这些访问指定词(access specifier)决定了紧跟其后被定义的东西可以被谁使用。 - Public:对任何人都是可用的的元素
- Private:除类型创建者和类型的内部方法之外的任何人都不能访问的元素
- Protected:除继承的类可以访问protected成员,但是不能访问private成员。
Java的默认访问权限(没有指定以上关键字): 包访问权限 (类可以访问在同一包--库构建-中的其他类的成员,但是在包之外,这些成员如同指定了private一样)。 12.复用具体实现 新类可以由任意数量、任意类型的其它对象以任意可以实现新的类中想要的功能的方式所组成,这种概念被称为:组合(composition)(has-a 关系) ; 如果组合是动态发生的,那么它通常被称为:聚合(aggregation) 13.在创建新类时,应该首先考虑组合,因为它更加灵活简单,然后再考虑使用继承。 14.继承 基类、超类、父类<---->导出类、继承类、子类 一个基类型包含了其所有导出类型所共享的特性和行为。 使用继承时使基类和导出类产生差异的两种方式: - 直接在道出了中添加新方法。
- 改变现有基类的方法的行为:覆盖(overriding)
15.是一个(is-a) 和 像是一个(is-like-a)关系 is-a: 导出类只覆盖基类的方法,导出类和基类具有完全相同的接口,它们是完全相同的类型。---->纯粹替代、替代原则 Is-like-a: 导出类中添加了新的接口元素(接口扩展),基类无法访问新添加的方法。 16.伴随多态的可互换对象 非面向对象编程的编译器参数的函数调用采用:前期绑定 OOP采用:后期绑定(编译器确保被调用方法的存在,并对调用参数和返回值进行检查(强类型),但是并不知道将被执行的确切代码。) 向上转型 17.单根继承结构 除C++以外,所有的OOP语言都是单根继承的。 18.容器 |
相关推荐
#### 第1章 对象入门 - **对象的概念**:介绍面向对象编程的基本概念,包括对象、类、实例等。 - **创建对象**:详解如何在Java中创建对象,包括使用`new`关键字。 - **对象的属性与方法**:解释对象如何拥有属性...
Odoo 14 Development Cookbook - Fourth Edition(ebook-eglish) 代码
《Programming in Lua Fourth Edition》是关于Lua编程语言的一本权威指南,由Luiz Henrique de Figueiredo、Ricardo Tomasi和Tiago Fonseca共同撰写。这本书详细介绍了Lua语言的核心概念、语法和特性,是学习和精通...
java think in java (英文第四版)至今为止 被认为是java教程之中权威作品之一
书名《Data Structures and Algorithms in Java Fourth Edition》直译为《Java数据结构与算法第四版》,是由Michael T. Goodrich和Roberto Tamassia两位教授撰写,第四版书籍的出版时间为2010年,由John Wiley & ...
《Learning jQuery - Fourth Edition》是一本由Packt Publishing出版的专业jQuery学习教程,该书为第四版,出版于2013年6月。本书由Jonathan Chaffer和Karl Swedberg共同撰写,两位作者都是在Web开发领域有着丰富...
In its fourth edition, this book aims to guide readers through the latest version, Angular 15, which brings enhancements, performance improvements, and new features. **Core Concepts** - **Components...
《Thinking in Java, Fourth Edition》是一本关于Java语言的高级读物,由Bruce Eckel所著,他是MindView公司的总裁。这本书不仅仅是Java程序员的一本参考资料,还是编程思想和使用方法的精辟介绍。它被众多读者誉为...
Computer Organization and Design, Fourth Edition, Fourth Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design) By David A. Patterson, John L. ...
Computer Organization and Design, Fourth Edition, Fourth Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer Architecture and Design) By David A. Patterson, John L. ...
《Java In A Nutshell, Fourth Edition》是一本由David Flanagan撰写的Java编程书籍,这本书的第四版于2002年出版。David Flanagan是一位计算机程序员,他大部分时间都在编写关于Java和JavaScript的内容。在O’...
2. **面向对象编程**:Java是一种面向对象的语言,教程将深入讲解类、对象、封装、继承和多态性等核心OOP概念。理解这些概念对于构建可维护和可扩展的代码至关重要。 3. **异常处理**:Java中的异常处理机制允许...
Real-Time Rendering, Fourth Edition 实时渲染最新版 第四版PDF,下载地址见文档....
Handbook on the Toxicology of Metals, Fourth Edition-[4]-[Gunnar F Nordberg, Bruce A Fowler, Monica Nordberg]
《Learning jQuery Fourth Edition》是关于JavaScript库jQuery的权威指南,主要面向希望提升JavaScript开发效率,尤其是处理DOM操作、事件处理、动画效果以及Ajax交互的开发者。本书覆盖了jQuery的最新版本,提供了...
Now revised to reflect the innovations of Java 5.0, Goodrich and Tamassia’s Fourth Edition of Data Structures and Algorithms in Java continues to offer accessible coverage of fundamental data ...