thinking in java 4th 读书笔记
2016-10-09 13:29
369 查看
Everything is an Object。
对象拥有独立状态、行为和身份,而具有共性行为属性的对象归属于同一个类。每个对象是一个类的实例。
对象有自己的存储空间,可以由其他对象组成。
所谓程序就是,一系列的对象,通过消息传递告诉彼此该做些什么。
每种编程语言都提供了抽象。通过抽象可以定义具有不同行为属性的类。汇编语言是对机器语言的部分抽象;命令式语言如C是对汇编语言的抽象。但是这些语言,对问题处理,仍然是聚焦在解决领域,而不是问题领域。面向对象语言如java,使得程序人员可以面对问题领域来思考实现。
有一种说法,解决问题的复杂度,往往取决于对什么进行抽象和抽象的质量。
对象,可以理解为服务提供者。当设计一个系统或功能时,首先思考需要哪些对象,这些对象分别需要提供什么服务,对象之间需要有完整的组合关系。同时,每个最后最好提供一种服务,这样可以使的对象更容易在后续被复用,也有利于后续参与的码农快速理解你的程序。
对象,最好对不必要暴露的部分进行隐藏。比如,当你编写一个类库,可能会有N多码农来使用你的类库。隐藏实现细节不仅可以便于使用者清晰的了解对象的功能,也有助于你更新类库时不必要考虑更新对使用者带来的影响。对用户只暴露可能被调用的接口即可。
java提供了三个关键字,public private protected。
public可以被所有对象访问;
private只可以被类的创建者在本类中访问;
protected在private的基础上可以被继承的类访问。
另外还有一个default。当三个关键字都不使用时,默认为default,也可以称为package access。即,同一个包/库内的对象都可以访问,包外的对象访问不到。
对象拥有独立状态、行为和身份,而具有共性行为属性的对象归属于同一个类。每个对象是一个类的实例。
对象有自己的存储空间,可以由其他对象组成。
所谓程序就是,一系列的对象,通过消息传递告诉彼此该做些什么。
每种编程语言都提供了抽象。通过抽象可以定义具有不同行为属性的类。汇编语言是对机器语言的部分抽象;命令式语言如C是对汇编语言的抽象。但是这些语言,对问题处理,仍然是聚焦在解决领域,而不是问题领域。面向对象语言如java,使得程序人员可以面对问题领域来思考实现。
有一种说法,解决问题的复杂度,往往取决于对什么进行抽象和抽象的质量。
对象,可以理解为服务提供者。当设计一个系统或功能时,首先思考需要哪些对象,这些对象分别需要提供什么服务,对象之间需要有完整的组合关系。同时,每个最后最好提供一种服务,这样可以使的对象更容易在后续被复用,也有利于后续参与的码农快速理解你的程序。
对象,最好对不必要暴露的部分进行隐藏。比如,当你编写一个类库,可能会有N多码农来使用你的类库。隐藏实现细节不仅可以便于使用者清晰的了解对象的功能,也有助于你更新类库时不必要考虑更新对使用者带来的影响。对用户只暴露可能被调用的接口即可。
java提供了三个关键字,public private protected。
public可以被所有对象访问;
private只可以被类的创建者在本类中访问;
protected在private的基础上可以被继承的类访问。
另外还有一个default。当三个关键字都不使用时,默认为default,也可以称为package access。即,同一个包/库内的对象都可以访问,包外的对象访问不到。
相关文章推荐
- Thinking in java 4th Edition 读书笔记-I/O(1)
- Thinking in java 4th Edition 读书笔记-Concurrency(1)
- Thinking in java 4th Edition 读书笔记-I/O(6)
- Thinking in java 4th Edition 读书笔记-Concurrency(3)
- Thinking in java 4th Edition 读书笔记-I/O(5)
- Thinking in java 4th Edition 读书笔记-I/O(4)
- Thinking in java 4th Edition 读书笔记-Concurrency(2)
- Thinking in java 4th Edition 读书笔记-I/O(3)
- Thinking in Java 4th Edition (Bruce Eckel) java编程思想 书上例题源代码
- Thinking In Java 第四版读书笔记
- 子类的创建及初始化过程_Thinking in Java(4)_读书笔记(1)
- Thinking in Java第三版读书笔记-第七章:多态性
- Thinking in Java第三版读书笔记-第一章:对象简介
- 浅复制和深度复制 clone() Thinking in java 读书笔记(一)
- 读书笔记:Thinking in Java (一)
- Thinking in Java 读书笔记 3
- Thinking In Java 4th 十三章
- Thinking in Java第三版读书笔记-第三章:流程控制
- Thinking in Java第三版读书笔记-第二章:万物皆对象
- 《Thinking in Java 4th》1~13章读书摘要