- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章类型系统
程序设计语言范型Programming Languages Paradigms 内容 1.数据类型和类型信息 2.简单类型 3.类型构造器 4.类型检查 5.显式多态性 1.数据类型和类型信息 数据类型 一个数据集合以及其上特定的操作集合 由翻译器确定程序内的类型信息是否一致的过程称为类型检查 类型检查还使用从已有的类型信息得到其他语言结构的类型的推理规则,进行类型推理 1.数据类型和类型信息 类型构造器 由基本数据类型构造复杂类型的方法 由构造器创建的新的类型不是自动得到名字的,新类型的名字由类型声明创建 1.数据类型和类型信息 类型等价 在类型检查过程中翻译器必须经常进行类型比较,确定用户自定义新的类型是否是同一类型 使用类型声明的每一种语言都有一套类型声明规则 类型系统 用来构造类型的方法、判别类型等价的算法,以及类型推理和类型正确性规则统称为 1.数据类型和类型信息 强类型语言 语言的定义中规定了一个完备的类型系统 能够被静态的应用并确保程序中所有数据错误都将尽可能早的被检出 无类型语言 没有静态类型系统 所有的安全检查是在执行时间进行的 内容 1.数据类型和类型信息 2.简单类型 3.类型构造器 4.类型检查 5.显式多态性 2. 简单类型 每一种语言都会有一组预定义的类型,主要是简单类型 类Algol语言,甚至面向对象语言,对数据类型的分类都是按照相对标准的基本模式进行的,只有很少的改变。 有的简单类型不是预定义的 枚举类型—显式列出元素及其名字的集合。例:C语言 子界类型—简单类型连续元素的一个子集。例:Ada语言 内容 1.数据类型和类型信息 2.简单类型 3.类型构造器 4.类型检查 5.显式多态性 3.类型构造器 集合操作可以被用来从已有的类型构造新的类型 笛卡尔积 联合 子集 3.类型构造器 集合操作 f 数组 3.类型构造器 集合操作 f 数组 3.类型构造器 类型构造器 f 函数类型 3.类型构造器 类型构造器 f 指针 用来构造一个指向一个特殊类型的全部地址的集合 引用是由系统控制的一个对象的地址,不能用作一个值或者进行任何方式的操作 3.类型构造器 类型构造器 f 指针 内容 1.数据类型和类型信息 2.简单类型 3.类型构造器 4.类型检查 5.显式多态性 4. 类型检查 类型检查可以分为 动态检查 运行阶段进行检测 静态检查 类型检测由翻译器在程序执行前进行,通过程序文本中确定 强类型语言是静态类型 4. 类型检查 类型等价 结构等价——两个数据类型有相同的结构 从相同的简单类型出发,用相同的类型构造器由几乎完全相同的方法构造出来 4. 类型检查 类型等价 结构等价 如何确定一个类型应该包含的信息量? 4. 类型检查 类型等价 结构等价 声明中类型名的使用 4. 类型检查 类型等价 名字等价——两个数据类型有相同的名字 4. 类型检查 类型等价 名字等价 4. 类型检查 类型等价 C语言使用介于名字等价和结构等价之间的一种类型等价 对struct和union是名字等价,其他则是结构等价 4. 类型检查 类型相容性 两个不同的类型以某种方式组合在一起仍然是正确的 在C和Java中,所有数值类型都是兼容的 赋值相容性 赋值语句类型的正确性 赋值相容性与算术运算的相容性不一致 4. 类型检查 类型转换 隐式转换(强制转换) 显式转换(转换编写为代码的——强制类型转换) 4. 类型检查 类型转换 显式强制类型转换往往被限制于简单类型,甚至是算术类型 对结构类型允许强制类型转换 内存中尺寸一致 将内存重新解释为一个不同的类型,不改变数据 指针通常是简单的重新解释为指向一个不同类型的值 这种类型的显式转换对某种函数也是允许的 4. 类型检查 类型转换 显式强制类型转换 面向对象语言有特殊的转换需要 继承可以被解释为子类型 需要从子类型到超类型的转换或反方向的转换 C++ 除了与C的相容性,还包含了不同种类的强制类型转换 4. 类型检查 静态检查 类型检测由翻译器通过程序文本中确定 并非一定需要显式的类型声明,类型可以使用类型推理从上下文推导出来 多态类型检查 翻译器可以收集一个名字的使用信息,并基于使用信息推导出一个可能的类型 4. 类型检查 4.类型检查 类型检查器的工作过程 极大简化了程序员必须在代码中写入类型信息 4.类型检查 多态性 希腊单词——许多形式 在程序设计语言中指:可以同时有很多类型的名字 重载函数是多态的一种 多态的这种类型称为参数多态性 4.类型检查 多态性函数是Hindley-Milner类型检查的真正目的 4.类型检查 多态性函数是Hindley-Mi
您可能关注的文档
- 第2章远东4 日本 海运地理.ppt
- 第2节 迭代法.ppt
- 第2节 枚举、解析算法及其程序实现(A).ppt
- 第2讲 压铸工艺.ppt
- 第2讲 图像的基本操作.ppt
- 第2节-《质量的测量》.ppt
- 第2讲 EXCEL公式函数.ppt
- 第2讲 油气成因理论.ppt
- 第2讲 汇编基本指令.ppt
- 第2节 第2课时 隔离与物种的形成、共同进化与生物多样性的形成.ppt
- 国家空间科学中心太阳活动与空间天气全国重点实验室元器件管理及项目文档管理岗位人员招聘1人考试备考试题及答案解析.docx
- 2025重庆设计集团有限公司市政设计研究院招聘11人考试参考题库及答案解析.docx
- 2025年企业策划师招聘面试备考题库及参考答案.docx
- 2026湖南省国防科学技术大学智能科学学院非全日制工程博士研究生招生3人笔试模拟试题及答案解析.docx
- 2025宁波市文化广电旅游局属事业单位招聘高层次人才2人考试备考题库及答案解析.docx
- 2025云南临沧市公安局临翔分局招聘留置看护警务辅助人员8人考试备考题库及答案解析.docx
- 2025年企业法律顾问招聘面试备考题库及参考答案.docx
- 2025中铁重工有限公司管理岗位招聘6人笔试参考题库附答案解析.docx
- 2025广东省农业科学院环境园艺研究所招聘科研辅助人员1人考试备考题库及答案解析.docx
- 2025年福建省福州·阳光学院辅导员招聘笔试备考试题及答案解析.docx
最近下载
- 联合建厂协议合同.docx VIP
- Unit 4 School Life 第1~2课时listening and speaking 教案 中职高一英语高教版基础模块1 .pdf VIP
- 童年期情感忽视与大学生情绪调节策略:使用偏好及脑结构基础.pptx VIP
- 医疗废物和污水管理领导小组及岗位职责.docx VIP
- GJB 548C-2021微电子器件试验方法和程序.docx VIP
- 46 黎曼几何初步 [伍鸿熙,沈纯理,虞言林 著] 2014年版.pdf VIP
- 铁路路基题库及答案.doc VIP
- 2025年广东省职业病诊断医师考试(职业性尘肺病)模拟试题及答案.docx VIP
- 第11课《对人有礼貌》第1课时礼貌暖人心核心素养教案 2025道德与法治一年级上册.docx
- 锂离子电池热失控预警方法.pdf VIP
有哪些信誉好的足球投注网站
文档评论(0)