1.2每个对象都有一个接口
第一个面向对象语言Simula-67.他在程序中使用基本关键字class来引入新的类型。这个语言是为了开发诸如经典的“银行出纳员问题”(bank teller problem)这样的仿真程序而创建的。
class的由来:在程序执行期间具有不同的状态而其他方面都相似的对象会被分组到对象的类中。
创建抽象数据类型(类)是面向对象程序设计的基本概念之一。抽象数据类型的运行方式与内置(built-in)类型几乎完全一致。对象是那些实体,同时。每一个对象都属于定义了特性和行为的某个特定的类。
所以,当看到类型一词时,可将其作为类来考虑。因为类描述了具有相同特性(数据元素)和行为(功能)的对象集合,程序媛可以通过定义类来适应问题,而不再是被迫只能使用现有的用来表示机器中的存储单元的数据类型。可以根据需求,通过添加新的数据类型来扩展编程语言。
面向对象方法并不仅局限于构建仿真程序。任何程序都是你所设计的系统的一种仿真,面向对象技术的应用确实可以将大量的问题很容易的降解为一个简单的解决方案。
面向对象程序设计的挑战之一就是:在问题空间的元素和解空间的对象之间创建一对一的映射。
怎样才能获取有用的对象?必须有某种方式产生对对象的请求,是对象完成各种任务。每个对象都只能满足某些请求,这些请求由对象的接口(interface)所以定义。,决定接口的便是类型。
以电灯泡为例:
light lt=new light();
lt.on();
接口确定了对某一特定对象所能发出的请求。过程:向某个对象“发送消息”(产生请求),这个对象便知道此消息的目的,然后执行对应的程序代码。