一个对象,然后,有其唯一的接口与外部世界的消息的属性。此属性被称为封装。方法和变量是对象的封装和可用只能通过基于消息的通信。此属性提供了两个优点。
我它保护从腐败由其他对象的对象变量。这可能包括从未经授权的访问保护和保护从问题产生的并发访问,例如,死锁和不一致的值的类型。
二、 It 隐藏对象的内部结构,以便与该对象的交互是相对简单和标准化。此外,如果修改内部结构或对象的程序,而不更改其外部功能,其他对象不受影响。
2. 对象类
数据库中的对象代表了一些东西,无论是物理实体、 一个概念、 一个软件模块或一些动态的实体,如虚拟电路。在对象中的变量的值表示的信息,该对象表示的事而闻名。方法包括其执行影响对象中的值,可能也会影响被代表的那件事的过程。 在实践中,通常会有许多对象表示同一类型的事情。例如,如果虚电路由一个对象,然后将有一个对象的每个虚拟电路系统中当前打开。显然,这类的每个对象需要其自己的变量集。不过,如果该对象中的方法是折返的程序,然后所有类似的对象可以共享相同的方法。此外,将重定义方法和变量类似,但新的每个对象的效率低下。
解决这些困难是区分对象类和对象实例。对象类是对象的一个定义的方法和变量包括在特定类型的模板。对象实例是实际的对象,其中包含的类定义它的特性。该实例包含的对象的类中定义的变量的值。 继承
对象类的概念是努力的强大的因为它允许创建多个对象实例的最小。通过使用继承的机制,使之更强大这一概念。
继承使现有的类的定义一个新对象类。新类,称为子类,自动包括方法和变量定义在原始类中,调用超类。子类可能不同于其超类中多种方法:
子类可能包括其他方法和变量在其超类中未找到。 子类可以使用相同的一种新定义覆盖任何方法或其超类中的变量的定义。这提供了一种简单高效的处理特殊情况下方式。 子类可能会限制的方法或从其以某种方式的超类继承的变量。 继承机制是递归的允许成为自己的子类的超类的子类。方式,可能会兴建继承层次结构,如 figure3.1 中所示。任何对象类继承其超类,包括那些特性的所有特征,从更高层次结构的超类 inheried。例如,对象类 C-A2 包括所有的方法和 C A 中没有定义的 C-A2 中被重写并对象类 C A2b 包括所有的方法和变量定义 C A 中的变量不 C-A2 或 C A2b 加的所有方法和 C-A2 中定义的变量,不 C A2b 中被重写中被重写。
从概念上讲,我们可以认为作为一种搜索技术方法和变量定义的继承层次结构。当对象接收一条消息,不在它的类中定义的方法进行时,它会自动搜索层次结构中向上直到它找到方法。同样,如果在该类中未定义的变量引用的方法的执行结果,该对象的变量名称的层次结构向上搜索。 多态性
多态性是一个有趣并且功能强大的特点,它使隐藏背后一个公共接口的不同实现。是彼此多态的两个对象利用方法相同的名称和当前对象与其他对象相同的接口。例如,可能有许多打印对象,
对于不同的输出设备,如 printDotmatrix、 printLaster、 打印屏幕,等等,或为不同类型的文档,如 printText、 printDrawing、 printCompound。如果每个此类对象包括调用打印的方法,然后发送消息打印到适当的对象,而不用考虑如何实际执行该方法可以打印的任何文件。
这是有教育意义的比较,惯常的模块化编程技术的多态性。自上而下的客观、 模块化设计是设计较低级别的通用实用程序提供了固定到更高级别的模块的接口模块。这允许一个的低层模块,由很多不同的更高级别的模块调用。如果较低级别模块的内部更改而不改变它的界面,没有任何使用它的上级模块受到影响。与此相反的是,利用多态性,我们都关注一个较高级别对象的调用来完成类似的功能使用相同的消息格式的许多不同较低级别对象的能力。利用多态性,新的较低级别对象可以少量更改添加到现有对象。 3. 遏制
包含其他对象的对象实例称为复合对象。遏制可能通过包括指向一个对象的指针作为另一个对象中的值。复合对象的好处是他们允许的复杂结构的表示形式。例如,包含在复合对象的对象本身可能是复合的对象。
通常情况下,结构构建起来的复合对象仅限于树拓扑: 就是允许没有循环引用,和每个\孩子\对象实例可能只能有一个\父\对象实例。图 3.2 说明了结果的层次结构的类型。
很重要,则明确了解对象类的继承层次结构和对象实例的包容层次之间的区别。这两个都不相关。使用继承完全可以最少的工
作中定义的许多不同的对象类型。遏制的使用允许建设的复杂的数据结构。
4多媒体信息和系统
各种类型的多媒体系统处理的信息具有不同的特性。如果我们了解它们,我们亦须明白为什么储存、 加工、 或运输他们提出了不同的问题。
文本是相互作用的历史的形式的计算机和人类之间。它可能有广泛的两种形式: 纯文本格式的也被调用或格式化的、 有时称为格式文本。相对于前者,后者已扩展的字符集,可选择字体、 大小和类型。它的外观是文本的类似于打印的文档中。大多数人计算机 interfaces(HCIs) 提供丰富的文本功能现在。
图形内部表示为对象如直线、 曲线、 或圆的组合。我们说的表示形式是知道的语义内容。他们是可修订 ;即,对象可以单独删除、 添加、 移动,或在以后修改。与此相反,图像不在上面给的意义上可修订。他们忽略的语义的内容。他们描述被称为特殊的数组的值,位图。基于对象的编辑是不可能的-虽然可以计算的位图区域边界的 autotracing 工具可以帮助-但提高和修饰位图图像的图像编辑工具存在。位图的缺点是他们需要更多存储容量比图形,到两个或三个数量级。它们的优势在于没有处理的图形显示他们,不同于之前有必要,那里的抽象定义必须首先处理以产生一个位图。当然,从模拟信号,通过扫描仪或视频相机拍摄到的图像表示为位图,除非语义识别发生如在光学字符识别。
一连串的关联视图显示时,运动的影响可能会给人类的观众。一个单独的视图,在这种继承就称为框架。印象的平滑移动启动 15 或
16 显示帧 / 秒 (fps)。视频捕获的议案是指生产从摄像机,而在影像合成议案中,每个框架生成由一台电脑,或由作者的一台计算机,协助、 然后储存为位图的视频序列。计算机动画是不同的。在这里,同样为图形,移动序列由描述一组对象,但与时间相关的指令。除非已记录结果作为一连串的位图的帧 piror 到其演示文稿,必须在显示时间,执行由此产生的\程序\。
讲话的声音,但并不是所有的声音就像讲话。我们可以生成的频率范围是比窄我们可以检测到。在会谈中,我们希望并不是所有与会者都发言一次。编码、 压缩和传输系统的攻击者利用这些属性。讲话可能达 10 倍不太苛刻,比说,音乐,数码存储卷。此外,讲话具有语义的内容。语音的句法组件可以被计算机识别。语音识别-如发现有词-已取得真正进展但仍需明确界定的环境中使用。言语理解-就是一连串的词语构成的解释更多困难但实验室的实施工作。反向、 语音合成-即,创建由计算机物理上听到的声音从语义内容的说明-更普遍。语音或声音合成是不同的计算机媒介的声音播出,这是简单的数字声音信号,这是有序的编码样本序列从物理上发声波形生成。
最后,让我们提两个术语在多媒体文献中找到。连续媒体是指信息媒体,如声音或视频、 动画演示文稿的随着时间的推移需要连续播出。相反,离散介质是指文本,仍然图像或是由非时间依赖片段组成的图形。二者之间的界限趋于模糊,作为现代计算机辅助屏幕上演示文稿包括同步和因此依赖时间项的文本或图形元素之间太。
多媒体系统是计算机控制,集成,以数字的形式使用任何信息及可能提供的交互性。
第一个关键方面是演示文稿的最终用户信息由计算机控制。在实践中,计算机不只被参与该演示文稿。他们还在生产中的信息,干预,