最近打算跟着极客时间的《核心技术36讲》撸一下代码,结果发现高估了自己,好像是不会写Java代码捏。看《Thinking in Java》乖乖来做个基础笔记。喵~
对象导论
这一章每次都会看,这次看发现原文写的超好,翻译也超棒~
哼哧做了个图,怎么做都觉得不好,凑合给自己看
这一部分主要是把面向对象的思路怎么来,以及面向对象有什么娓娓道来,捡看着特别有道理的话简单列一下:
- 所有编程语言都是提供抽象机制,人们所能够解决的问题的复杂性直接取决于抽象的类型和质量。
- 面向对象提供的是表示问题空间中的元素的工具,这样程序可以通过添加新的类型的对象使自身适用于某个特定的问题。
- 将对象看作“服务提供者”有助于将问题分解成对象的集合,还可以提高对象的内聚性。
- 在任何相互关系中,具有关系所设计的各方都遵守的边界是十分重要的事情。访问控制让类的使用者更容易看到什么是重要的东西。
- 代码复用是面向对象程序设计语言最了不起的优点之一。在创建新类的时候应该优先考虑组合而不是继承。
- 对象这种观念使得你可以通过概念将数据和功能封装到一起,因为可以对问题空间的观念给出恰当的表示,而不用受制于必须使用底层机器语言。
- 以相同的术语将解决方案转换城问题是大有裨益的,因为不需要再问题描述和解决方案之间建立许多中间模型。
- 通过继承而产生的类型等价性是理解面向对象程序设计方法内涵的重要门槛。
- 面向对象程序语言的编译器使用后期绑定的概念来实现多态。