第1章 面向对象的JavaScript
1.1 动态类型语言和鸭子类型
P4 静态类型语言如Java很难面向接口编程,需向上转型、抽象类、接口interface
1.2 多态
1.2.1 一段多态的JavaScript代码
1.2.2 对象的多态性
1.2.3 类型检查和多态
P7 向上转型
当给一个类变量赋值时,这个变量的类型既可以使用这个类本身,也可以使用这个类的超类。
通过使用超类(抽象类或接口),把对象真正类型隐藏在超类型之后,这些对象才能在类型检查时被互相替换使用而不报错。
1.2.4 使用继承得到多态效果
1.2.5 JavaScript的多态
1.2.6 多态在面向对象程序设计中的作用
1.2.7 设计模式与多态
函数用来封装行为并且能够被四处传递 (我理解为:函数作为参数传递)
1.3 封装
1.3.1 封装数据
1.3.2 封装实现
1.3.3 封装类型
1.3.4 封装变化
设计模式的角度,最重要的是封装变化。
把系统中稳定不变的部分和容易变化的部分隔离开
1.4 原型模式和基于原型继承的JavaScript对象系统
1.4.1 使用克隆的原型模式
Object.create
1.4.2 克隆是创建对象的手段
静态语言:使用依赖倒置,创建对象时避免依赖具体类型
JavaScript:不存在类型耦合。可称为原型编程范型。
