为什么ruby语言无接口(interface)?说说我的看法。
"接口"是一种把一组"代码"作为其值的"变量",类似于"语言包"的作用(其值可以为en.lang,zh.lang等等)
"变量"的值可以为数字,字符串。。。一直到如今的"代码"本身作为其值。
变量变量,就是可能会变化的量:所以如果代码可能会发生变化,那么代码就可以用变量表示,所以接口即变量
把"代码"本身作为变量的值,是任何有接口(interface)这个关键字的oop语言的一个进步。另外,ruby语言里没有interface这个关键字,但是把"代码本身作为变量的值"的现象却无处不在。所以,接口只不过是把"代码本身作为变量的值"的办法中的一个;而ruby语言不但可以"把代码作为变量"来传递,而且可以"用代码来生成新的代码",这就是其威力无比的"元编程"的能力了。
所谓的面向接口编程,就是面向代码可能会被更换(变化),所以用代码的变量,也就是接口来处理的办法,因此,从这样的意义上看它,面向接口编程依然是在面向变量编程。
"变量"从表示数字,字符串...到表示对象,接口,以及更一般的“代码本身”,所有的一切,都是面向变量编程。
一言以蔽之,无论你面向什么编程,都是在面向变量编程。无论过去,现在,还是未来。。。
分享到:
相关推荐
本文将会用到西门子的Step7编程语言和施奈德的Unity 编程语言来讲解PLC的面向对象编程。
资源名称:JavaScript面向对象编程指南内容简介: Javascript是一种具有高度表达能力的、基于原型特性的、非常灵活的面向对象编程语言。《Javascript面向对象编程指南》着重介绍Javascript在面向...
《Java面向对象编程》 练习题一、填空题 1.自从Sun推出Java以来,按应用范围可分为三个版本,分别是( JAVA SE )、( JAVA EE )、( JAVA ME )。 2.环境变量的设置,若JDK安装在“D:\JDK”,则应设置Path为(D:...
Python面向对象编程指南.[美]Steven F.Lott(带详细书签),分成两个压缩包。本书由树莓派基金会资深软件开发工程师亲笔撰写,是学习在树莓派上编程的必备手册。即使你没有任何编程经验,也可以畅游树莓派的世界。本书...
Python的面向对象编程通常由类,对象,实例变量,方法和继承组成。类是一个通用的模板,它描述了一类事物的属性和行为。例如,一个"猫"类可以有属性"颜色"和方法"喵喵叫"和"跳跃"。类允许开发人员定义通用的"猫...
通过编程和上机实验理解 Java 语言是如何体现面向对象编程基本思想,了解类的封装方法,以及 如何创建类和对象,了解成员变量和成员方法的特性,掌握 OOP 方式进行程序设计的方法。 【实验原理】或 【实验任务】 ...
Java 基础之面向对象编程教程,主要类和对象、如何定义类、成员函数、访问控制修饰符、构造方法、类变量、类方法、方法重载、方法覆盖、抽象、封装、继承、多态、抽象类、接口和New 运算符等概念的介绍和例题介绍...
面向对象编程(OOP)和面向过程编程(PP) 方法重载和方法重写 接口和抽象类 包和访问修饰符 构造函数和析构函数 成员变量和局部变量的区别? 适用人群: 这段语言描述的Java的面向对象讲解代码源码资源适用于那些...
matlab面向对象编程教程-A Guide to MATLAB Object-Oriented Programming - Register, CRC 2007.rar 最近想好好学学matlab面向对象编程的一些东西(以前也自学过,但现在想系统学一下,libsvm工具箱几乎已经没有...
Java的面向对象编程课件 面向对象编程概述 对象、对象的状态、对象的行为 类和对象 面向对象程序设计 面向对象编程的难点 一个简单的例子 类的构造方法 new关键字的作用 缺省构造方法 方法的...
实验二 Java面向对象编程 向Account类中添加私有实例变量balance,用于维护客户银行帐户的存款额;添加有一个参数的公有构造方法:initBalance,用于初始化帐户存款额;
面向对象编程1.面向过程与面向对象面向过程面向对象面向过程和面向对象的区别类对象面向对象的两个要素2.类属性成员变量局部变量属性赋值的先后顺序成员变量和局部变量的异同点方法方法声明权限修饰符:public ...
STM32面向对象_程序架构 整个工程DEMO,我...很多初学STM32编程的同学,常常对多任务调度、全局变量处理、编程规范处理的不专业或者很乱,本demo是我自己做STM32项目常用的编程架构,内含面向对象思想,奉献给初学者
Swift的语法与其他编程语言类似,包括变量和数据类型、运算符、控制语句、函数等。Swift支持面向对象编程,包括类和对象、继承、多态等特性。Swift中有许多常用的类库,可以帮助我们完成各种任务。希望这份Swift基础...
面向对象编程最基本特征是类和实例。类是用于定义抽象的对象模型,实例是根据类创建的对象。类(Class): 用于定义抽象的对象模型,它是描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性...
面向对象编程电子优惠券申领(程序命名: exam03-ElectronicCoupon.py) 功能及技术要求: 1. 创建电子优惠券类 ElectronicCoupon 电子优惠券属性:ecid 抵卷编号 、ecprice 抵卷面值、validity 有效期、 passcode ...
该书从php的起源说起(也就是PHP2了),对未来的PHP6也有展望,从最基本的PHP语法、变量等入手,详细说明了数组、对象、类等数据类型,重点讲述了PHP面向对象的编程方法,对面向对象的方法进行了深入细致的讲解,...
面向对象编程初级 类和对象 包 包对象 面向对象编程中级 封装 继承 多态 面向对象编程高级 伴生对象 特质 嵌套类 类型约束 Scala数据结构之集合 函数式编程高级 隐式转换和隐式值 偏函数 高阶函数 ...
实验题2 设计一个用来描述汽车的类Car,使用类的非静态成员变量来表示汽车的车主姓名name、当前的速率speed: 1. 创建构造函数为成员变量赋初值。 2. 使用类的非静态成员方法来表示改车主姓名changeName操作, 并通过...
JavaScript 是近年来非常受瞩目的一门编程语言,它既支持面向对象编程,也支持函数式编程。本书专门介绍JavaScript函数式编程的特性。 全书共9章,分别介绍了JavaScript函数式编程、一等函数与Applicative编程、...