Data Abstraction, procedural abstraction
数据抽象和过程抽象的理解。
数据是要被计算的信息,过程表示对数据的操作和处理。但过程本身是数据时,过程就可以操作过程。
数据抽象
在Programming Language通常会提供基本的数据类型(数字,布尔值,字符串)和组合这些基本数据类型的抽象方式(Java中的数组和Class),通过对组合数据类型进行抽象和命名,我们就可以在抽象层次上进行工作,并不需要关心数据类型抽象的具体实现,当然抽象数据也可以和原子数据具有同样的用途来使用,例如作为参数和返回值或者对抽象数据再进行复合,也就是抽象数据类型具有闭包(复合的结果还可以进行复合)作用.
数据通常是根据类型来区分的,因为不同的类型可以拥有不同的操作,Class通常表示自定义的数据类型。
过程抽象
在Language的核心中,会提供对原子类型精心操作的过程,还包括一些特殊的语法,用来表明表达式的特定语义(例如命令式语言中的循环语句),也会通过对过程进行抽象的机制,通过对过程命名来代替相应的实现,随后就可以通过名称来引用所定义的过程,就像语言内置的原子工程一样,当然,我们可以过程抽象再进行组合,以形成更强大的抽象。不同的语言对过程抽象的支持不同,在Java中,过程就是类函数,只能附属于类并且只能被动被调用,并不能单做参数或者返回值来使用,当然过程也不能有子过程,在函数式语言(clojure, javascript)中,函数就是一个数据值,和其它的数据具有同样的作用,能够当做参数和返回值,也能够放在数据抽象的数据结构中,使用数据和过程的界限更加模糊,当然也更加灵活。
过程通常是对数据进行操作的,在面向对象语言中,过程通常是附属于数据类型的,也就是只能对附属类型进行相应的操作。在过程和函数式语言中,过程是独立出来的,但通过过程参数(或contract)来表示能够处理那些数据。
其实过程也是有类型的,根据输入的参数和输出的值来决定过程的类型,例如在Haskell或factor中就可以什么函数或者词的效应。
类型
类型描述值的集合。每一个值都是类型,值通常是语言的头等公民
语法
语法既不是数据,也不是类型,他们有自己特殊语义规则,
实现细节
分享到:
相关推荐
非专业人员勿关注,先修课程是离散数学,计算理论,自动机理论,编译原理等。人总是很浮躁,不肯静心钻研底层的理论。编程原理类似于最高深的内功,内功修炼的深厚了,什么招式学不会?有志于成为绝顶高手的人士可以...
Java-FOPL Java-FOPL是一(FOPL)的基于Java的元语言抽象。 这项工作所采用的方法是尽可能地反映。 这项工作的目的是使谓词逻辑表达式清晰(读:效率不高)和直观,并使代码的结构反映通常在课堂环境中解释FOPL所...
有一个魔王总是使用自己的一种非常精炼而抽象的语言讲话,没有人能听懂。但他的语言是可以逐步解释成人能懂的语言的,因为他的语言是由以下两种形式的规则由人的语言逐步抽象上去的: (1)α→β1β2 …… βm (2)(θ...
用C# 实现的抽象工厂例子,用vs2005打开
本文件归纳了Java语言的接口类与抽象类的各自要点与同异对比。
在Java语言中,abstract class和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,...
计算机病毒抽象理论及描述语言研究 博士论文
网络基础 抽象语言-电脑(加工)-二进制-抽象语言
章节介绍:1、爪哇语言结构性模式之变压器模式介绍 2、爪哇语言抽象工厂创立性模式介绍 3、工厂方法创立性模式介绍 4、单态创立性模式介绍 5、单态创立性模式介绍 6、观察者模式介绍7、责任链模式 8、设计模式之...
抽象类和接口的区别 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持...
[数据抽象和问题求解-C++语言描述]源代码
很难的,在国外的ftp上找到的
英汉语言对比抽象与具体.ppt
ASN.1:抽象标记语言 PER:压缩编码规则(Packed Encoding Rules),ASN.1编码规则之一 OER: 八位字节编码规则(Specification of Octet Encoding Rules),ASN.1编码规则之一
编程语言-类层次结构抽象描述语言的设计及其到C++的转换.pdf
第4章 抽象了的运行系统和虚拟机上的抽象编程(面向程序员的抽象编程) 因为编程都是解决运行问题跟语言语法本身问题的双重过程,所以,对于寻求更高级的编程支持(目前我们谈到的是C这样的系统实现语言),唯有改变...
抽象工厂模式的实现源代码,清晰易懂,还有详细的说明
Java语言中抽象类和接口的应用探究
教师在教学中应充分认识数学抽象的内涵、分类、教育价值,研究数学象在小学数学教学中应注意的问题,如发挥表象的作用,及时抽象概括,注意抽象的层次性以及重视语言在数学抽象中的作用等,使学生逐步感悟数学抽象的...
数据抽象和问题求解-Java语言描述_源代码.rar