第三部分:第13章编译单元 13.1.1接口的基本概念 interface Declaration interface interfaceName scopeQualifications sections endinterface interfaceName-opt interfaceName lowerCaseldentifier 在构造器尾部的接口名 interfaceName(如果存在)必须 与构造器开始的接口名 linterfaceName相同 2004.113 A|程序设计 6
第三部分:第13章 编译单元 2004.11.3 AI程序设计 6 13.1.1 接口的基本概念 interfaceDeclaration : interface interfaceName scopeQualifications sections endinterface interfaceName-opt interfaceName : lowerCaseIdentifier 在构造器尾部的接口名interfaceName(如果存在)必须 与构造器开始的接口名interfaceName相同
第三部分:第13章编译单元 13.1.1接口的基本概念 在构造器尾部的接口名 interfaceName(如果存在)必须与构造器 开始的接口名 interfaceName相同 作用域限定 ScopeQualifications必须是下面的类型 支持限定 supports Qualification 开放限定 open Qualification 段 sections必须是下面的类型: 常量段 constants section 论域段 domains section 谓词段 predicates section 接口谓词段 predicates FromInterface 条件段 conditiona section 所有包含在条件段的部分也必须是这些类型。 2004.113 A|程序设计
第三部分:第13章 编译单元 2004.11.3 AI程序设计 7 13.1.1 接口的基本概念 在构造器尾部的接口名interfaceName(如果存在)必须与构造器 开始的接口名interfaceName相同。 作用域限定ScopeQualifications必须是下面的类型: 支持限定supportsQualification 开放限定openQualification 段sections必须是下面的类型: 常量段constantsSection 论域段domainsSection 谓词段predicatesSection 接口谓词段predicatesFromInterface 条件段conditionalSection 所有包含在条件段的部分也必须是这些类型
第三部分:第13章编译单元 13.1.2接口与对象 如果一个接口没有明确地支持任何接口,那么它就隐含 地支持内部接口对象。 对象是一个空接口,即它不包含谓词等内容。 对象的目的是作为所有对象的通用基本类型。 2004.113 A|程序设计 8
第三部分:第13章 编译单元 2004.11.3 AI程序设计 8 13.1.2 接口与对象 如果一个接口没有明确地支持任何接口,那么它就隐含 地支持内部接口对象。 对象是一个空接口,即它不包含谓词等内容。 对象的目的是作为所有对象的通用基本类型
第三部分:第13章编译单元 13.1.3开放限定 开放限定( Open Qualification)可以更方便地引用类层次的 实体。开放段把一个作用域名代入另一作用域,以使这些名字可 以在不受限制的情况下被引用。 开放对于对象成员的名字没有影响,因为无论如何它们只能被 个对象访问。但是类成员名、论域、算符和常量可以不受限制 地被访问。 当名字以这样的方式被带进一个作用域时,可能会出现有些名 字变得不明确。 开放段只会在它们所出现的作用域内产生影响。尤其是指,在 个类声明中的开放段不会影响类实现。 openQualification open scopeName-comma-sep-list 2004.113 A|程序设计
第三部分:第13章 编译单元 2004.11.3 AI程序设计 9 13.1.3 开放限定 开放限定(Open Qualification)可以更方便地引用类层次的 实体。开放段把一个作用域名代入另一作用域,以使这些名字可 以在不受限制的情况下被引用。 开放对于对象成员的名字没有影响,因为无论如何它们只能被 一个对象访问。但是类成员名、论域、算符和常量可以不受限制 地被访问。 当名字以这样的方式被带进一个作用域时,可能会出现有些名 字变得不明确。 开放段只会在它们所出现的作用域内产生影响。尤其是指,在 一个类声明中的开放段不会影响类实现。 openQualification : open scopeName-comma-sep-list
第三部分:第13章编译单元 13.1.4支持限定 支持限定( Supports qualification)只能在接口定义 interfaceDefinition 和类实现 classImplementation中使用。 支持限定用于以下两种情况 指定一个接口A扩展到另外一个接口B,因此,对象类型A是对象类型B的子 类型。 声明一个特定类的对象“私下”具有比一个指定作为构造类型的类更多的对 象类型。 支持存在一个传递关系:如果接口A支持接口B,并且接口B支持接口C,那接 口A也支持接口C。 如果一个接口没有明确支持任何接口,那么就暗指它支持预定义的接口对象。 当支持用于一个类的实现中时,结果是"This"不但可以与构造类型一起使用, 而且还能与任何私有的所支持的对象类型一起使用。 2004.113 A|程序设计 10
第三部分:第13章 编译单元 2004.11.3 AI程序设计 10 13.1.4 支持限定 支持限定(Supports Qualification)只能在接口定义interfaceDefinition 和类实现classImplementation中使用。 支持限定用于以下两种情况: • 指定一个接口A扩展到另外一个接口B,因此,对象类型A是对象类型 B的子 类型。 • 声明一个特定类的对象“私下”具有比一个指定作为构造类型的类更多的对 象类型。 支持存在一个传递关系:如果接口A支持接口B,并且接口B支持接口C,那接 口A也支持接口C。 如果一个接口没有明确支持任何接口,那么就暗指它支持预定义的接口对象。 当支持用于一个类的实现中时,结果是"This"不但可以与构造类型一起使用, 而且还能与任何私有的所支持的对象类型一起使用