第一章
编程语言不是从安全性的角度考虑以减少程序员犯错误,而是在程序员自己负责的前提下为他提供最大限度发挥能力的灵活性。
第二章
根据对象的不同类型而进行适当的处理,就是多态性的基本内容。根据数据类型来调用合适的方法而不是修改原来的方法代码,本就是编程语言应该完成的事情,实现这一点才是真正的多态。
DRY原则: Don't Repeat Yourself. 减少重复冗余的代码
管理对象的两种方法:原型(用原始对象的副本来作为新的相同的对象)和模版(类)
动态语言允许调用没有继承关系的方法,而静态语言只能调用有继承关系的方法,例如Java中的数组哈希表字符串调用的方法都是在父类Object中定义的。
继承只不过是抽象的功能利用方法,所以不必把对继承的理解束缚在“继承是对现实事物的分类的反映”。
Duck Typing: 不考虑一个对象属于什么类,只关心它有什么样的行为(它有哪些方法)
避免明确的类型检查:如果以类为基准进行数据类型检查的话,就会像静态编程语言一样失去灵活性,无论如何要检查的时候,不要检查对象是否属于某个类,而是检查对象是否有某个方法。
反射是指在程序执行时取出程序的信息或者改变程序信息。