为什么要抽象?
①所有编程语言都提供抽象机制(抽象的可行性)
②你所能解决问题的复杂性直接取决于抽象的类型和质量(抽象的必要性)
抽象得到的对象是什么?
①问题空间的元素在解空间中的表示
②还有一些无法类比为问题空间元素的解空间元素
面向对象语言的五大基本特性:
①万物皆对象
②程序是对象的集合,通过发消息告诉彼此要做的
消息(对象的方法的调用请求)
③每个对象都有其类型<=>每个对象是某个类的实例(instance)
④每个对象的存储,都有由其他对象所构成的部分
⑤某一特定类型的所有对象均可接收相同的消息