- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[信息与通信]第10章VisualProlog语言元素
AI程序设计 第10章 Visual Prolog语言元素 本章介绍Visual Prolog 6程序设计语言的语法和语义。Visual Prolog是基于逻辑程序设计语言Prolog的一种强类型的面向对象的程序设计语言。一个Visual Prolog程序包括一个目标、大量的接口声明和类的实现程序。 接口、类声明和类实现包括Prolog实体的定义和声明,即 论域 常量 谓词 事实数据库 Visual Prolog程序的实际代码中的谓词定义由谓词声明和子句定义来声明。 第10章 Visual Prolog语言元素 10.1 类型 10.2 对象系统 10.3 作用域和可视性 10.4 词法结构 本章小结 本章习题 10.1 类型 Visual Prolog的类型(Type)分为对象类型和数值类型。对象类型是可变的,而数值类型是不可变的。 对象类型由接口(interface)进行定义。 数值类型包括:数值型、字符串型、字符型以及复合论域。复合论域也可以看作代数类型数据。复合论域的简化形式是结构和枚举类型,而更多的复杂形式是树型结构。 此外,Visual Prolog还有一种特殊类型,叫做引用论域,它可以由任意其它类型派生而来。引用类型与Prolog执行模型或语义密切相关 。在下面将详细进行介绍。 10.1 类型 类型以子类型层次结构进行组织。子类型用来引入包容多态性:希望某种类型的一个值能够同样接受任意的一个子类型值的任何上下文。或者我们倒过来说,在需要时把一定类型的值自动地转化为任意超类型,这样可以不需要显式的类型转换而访问该超级类型。 子类型可源于除代数数据类型外的其它任意数值类型。源于代数数据类型的类型是同义类型而不是子类型,也就是说它们是同一类型而不是一子类型。 子类型的概念与子集概念密切相关。但是特别值得注意的是,尽管一个类型是另一类型子集的精确描述,但它并不需要成为一个子类型。一个类型只在特别声明时才是另一类型的子类型。例如 domains ???t1 = [1..17]. ???t2 = [5..13]. ???t3 = t1 [5..13]. 10.1 类型 语言中包含了少数隐含的子类关系,但其它情况下子类关系都是在类型定义中具体规定的。 对象类型采用子类型层次结构组织,该结构是源于预定义对象类型的对象的,也就是说,任意对象类型是一个对象的子类型。对象类型用接口相互支持的方式来规定。如果一个对象是支持某一其它接口的接口或对象类型,那么该对象也具有那个类型并且能够不受限制地作为这样的对象应用。 10.2 对象系统 Visual Prolog的对象系统(object system),包括外部视图(External View)和内部视图(Internal View)。 10.2.1 外部视图 Visual Prolog的类的概念基于以下3项语义实体: 对象(object):一个对象是指若干命名对象成员谓词和一组支持接口的集合。实际上对象也有一个状态,这个状态只能通过成员谓词来改变或观察。我们称对象中的这种状态为封装。 接口(interface):一个接口是一种对象类型。它有一个名字且定义了一组命名对象谓词。 类(Class):一个类是一个命名的对象工厂。它可以创建与某一接口相对应的对象。任何对象都由类创建。 10.2.1 外部视图 由一特定类创建的所有对象共享统一的对象成员谓词定义,但是每一个对象又有其自身的状态。这样,对象成员谓词实际上是类的一部分,然而对象的状态却是对象自身的一部分。 一个类也包括另外一系列命名的谓词及一个封装的状态,分别作为类的成员和类的状态。类的成员和类的状态存在于每一个基类中,然而对象成员和对象状态存在于每一个基对象中。类的状态既可以通过类的成员访问,也可以通过对象成员访问。 注意,由一个类定义的一系列对象成员谓词是该类的接口中声明的谓词的联合。这特别意味着,如果不同的两个接口中声明了同一谓词,那么该类就只能为该谓词提供惟一的定义。因此,该类只有在含义清楚的时候才有效,也就是说,在这两个继承性的谓词的预定语义相同的情况下,该类才合理。 10.2.1 外部视图 同一性(Identity): 每个
您可能关注的文档
- [信息与通信]汽车空调系统的故障.pdf
- [信息与通信]沉金.ppt
- [信息与通信]沈学其--PCB的EMC设计技术.ppt
- [信息与通信]河南电信ICT业务培训及交流.ppt
- [信息与通信]汽车电器.ppt
- [信息与通信]波分技术学生论文.doc
- [信息与通信]河南省XX系统建设.ppt
- [信息与通信]汽车线束技术条件和试验方法-整合.doc
- [信息与通信]注塑成型-制品常见缺陷.ppt
- [信息与通信]波导系统中的腔体.ppt
- 纽约州立石溪分校计算机科学.pdf
- 氟尿嘧啶专着3241 fluorouracil cream3240.pdf
- 讲稿讲稿专着碘iobenguane 123 injection3517.pdf
- 案例电话传真2261uk.pdf
- 分析文凭计划bi programa del elistama dutch paper 1 hl markscheme.pdf
- 小提琴ii192二幕一场分谱-23 violin.pdf
- 详解介绍2005ifla-筑空间winners.pdf
- 已知芦苇数量天空望远镜sky amp telescope.pdf
- 内容学生xunan yan id bhp billitonmy ass 1屁股.pdf
- 门罗双脑同步技术.pdf
文档评论(0)