Java笔记——面向对象
来源:互联网 发布:乐山电视台网络电视 编辑:程序博客网 时间:2024/06/05 04:32
对象
- 所有的东西都是对象
- 程序是一组对象的集合
- 通过消息传递,即发送一个调用请求
- 每个对象都有自己的存储空间,可容纳其他对象。
- 或者通过封装,可制作出新型对象。
- 每个对象都属于一个类型
- 每个对象都是某个类型的实例
对象的接口
- 句柄.消息
实现方案的隐藏
- 接口
- 规定可对特定对象可发送哪些请求
- 且必须在某个地方存在代码满足请求
- 一旦向对象发出一个特定的请求,就会调用那个函数。我们通常将这个过程总结为向对象“发送一条消息”(提出一个请求)。对象的职责就是决定如何对这条消息作出反应(执行相应的代码)。
- 访问控制
- 防止程序员误修改内部数据类型的设计思想
- 允许库设计人员修改内部结构
- 访问控制关键字
- “public”(公共)意味着后续的定义任何人均可使用
- “private”(私有)意味着除您自己、类型的创建者以及那个类型的内部函数成员,其他任何人都不能访问后续的定义信息
- “friendly ”意味着它只能在这个包装的范围内使用
- “protected”只是一个继承的类可访问受保护的成员,但不能访问私有成员
方案的重复使用
- 组织
- 创建一个成员对象
- 仅直接使用那个类的对象。但同时也能将那个类的一个对象置入一个新类
- 新类的成员对象通常设为private
- 新类由任意数量而类型的其他对象构成,使其达到设计要求
继承:重新使用接口
- 继承
- 通过extends关键字实现
- 将新得的衍生类与原来的基础类区分开
- 为衍生类添加新函数(功能)
- 第二个办法是改变基础类一个现有函数的行为
等价与等类关系
- 等价关系
- 拥有完全相同的接口
- 等类关系
- 为衍生类型加入了新的接口元素
多形对象的互换使用
- 上溯造型
- 上溯造型成一种更“通用”的类型
- e.g:
- 动态绑定
- 多形性
- 根据句柄当时连接的实际类型,会相应地采取正确的操作
抽象的基础类和接口
- 关键字
- abstract
- 有人试图创建抽象类的一个对象,编译器就会阻止他们。这种工具可有效强制实行一种特殊的设计
- 描述一个尚未实现的方法——作为一个“根”使用
集合和继承器
- 集合
- 集、队列、散列表、树、堆栈等等
- 相应的读写功能
- 置入集合
- “推”(Push)、“添加”(Add)或其他类似名字的函数
- 从集合中取出
- 矢量(Vector)
- 那么也许能用索引运算符或函数
- “继承器”(Iterator)
- 最开始——枚举
- 单根结构
- 所有类最终是否都应从单独一个基础类继承——object
- 单根结构中的所有对象(比如所有 Java 对象)都可以保证拥有一些特定的功能
集合库与方便使用集合
- 下溯造型与模板/通用性
- 为使用这样的一个集合,只需添加指向它的对象句柄即可,以后可以通过句柄重新使用对象。但由于集合只能容纳 Object,所以在我们向集合里添加对象句柄时,它会上溯造型成 Object,这样便丢失了它的身份或者标识信息
- 下溯造型成一种更“特殊”的类型
- 参数化类型
清除时的困境:由谁负责清除?
- 每个对象都要求资源才能“生存”
- 垃圾收集器
- 垃圾收集器对效率及灵活性的影响
- 在堆栈中创建对象是为对象分配存储空间最有效的一种方式
- 在内存堆(Heap)中创建对象可能要付出昂贵得多的代价
- 实时程序
- 比如在一个程序的执行必须保持稳定、连贯的时候必须避免用它
0 0
- java笔记——面向对象
- java笔记——面向对象异常
- java笔记——面向对象包
- Java笔记——面向对象
- java笔记07—面向对象02
- java笔记—初识面向对象01
- Java复习笔记—面向对象
- Java复习笔记—面向对象2
- Java—面向对象
- Java — 面向对象
- java学习笔记《java面向对象编程》——面向对象开发方法概述
- java面向对象笔记
- JAVA面向对象笔记
- Java笔记---面向对象
- java笔记-面向对象
- java面向对象笔记
- java-面向对象笔记
- JAVA面向对象笔记
- 关于神杀的高耦合的讨论
- 一道不错的面试题
- 腾讯云教你一个只有99行代码的JS流程框架
- Linux wc命令
- python的一些小程序
- Java笔记——面向对象
- Python 6、类继承
- 动态规划练习--01(最长上升子序列)
- C# 输出矩阵中的正负数对齐问题记录
- 3d渲染基础
- 滑雪
- Kubernetes系列01:Kubernetes入门
- 死锁产生的条件和处理死锁的方法
- tensorflow44《TensorFlow实战》笔记-09-03 分布式并行 code