Eiffel 引介 Part V (2)
来源:互联网 发布:nginx搭建网站 编辑:程序博客网 时间:2024/06/11 01:06
5.5 常量
使用如下语法形式声明常量:
constant_name : CLASS_NAME is value
比如:
pi : DOUBLE is 3.14159
base : INTEGER is 10
hello : STRING is “hello”
5.6 不需要 make routine 的对象创建过程
l 简单的类别不需要特定的创建程序(creation routine),也是很常见的情况。
l 比如,一个只用来提供标准的数学常量及函数的类别,并不需要作特定的初始化动作。
l 当然,我们总是可以为类别提供一个空的 make routine,而这在 Eiffel 中并不是必需的。我们可以完全忽略 creation 子句。
class BASIC_MATH
-- No creation clause
feature
pi : REAL is 3.14159
euler : REAL is 2.71828
sin( x : REAL ) : REAL is
....
end
该类别的使用者可能通过声明一个变量来创建 BASIC_MATH 实体,比如
bm : BASIC_MATH
然后执行命令
!!bm
这个命令让系统为一个 BASIC_MATH 型别的对象分配空间并将指向该对象的指针返回给变量 bm。
在这种情况下,根本就不需要执行 make。
5.7 自身引用
l 每一种面向对象语言都提供一种让对象引用其自身的方式。
l 在 Eiffel 中,用 Current 指代当前的对象。Current 最经常的用法是为另一个对象提供指向先前一个对象的引用。
class SOME_WINDOW_CLASS
sub : ANOTHER_WINDOW_CLASS
...
!!sub.make( Current )
...
end
class ANOTHER_WINDOW_CLASS
parent : SOME_WINDOW_CLASS
...
make( p : SOME_WINDOW_CLASS ) is
do
parent := p
end
(全文完)
[译注参考]:
[OOSC2e] Bertrand Meyer, Object-Oriented Software Construction 2nd Edtion. 1997
- Eiffel 引介 Part V (2)
- Eiffel 引介 Part V
- Eiffel 引介 Part V (1)
- Eiffel 引介 Part IV
- Eiffel 引介 Part III
- Eiffel 引介 Part IV (1)
- Eiffel 引介 Part I,II
- Eiffel
- LESSON 6 MALWARE part V
- Linux学习总结 Part-V
- T-SQL Part V: Locks
- Eiffel 简介
- 初探Eiffel
- Objective-C Programming: The Big Nerd Ranch Guide (2nd Edition) 阅读笔记(Part V)
- Beginning Game Development: Part V - Adding Units
- LINQ: Building an IQueryable Provider - Part V
- LESSON 3 PORTS AND PROTOCOLS part V
- LESSON 4 SERVICES AND CONNECTIONS part V
- Eiffel 引介 Part V (1)
- 开辟VisualFC(WTL WinxGUI 可视化开发工具)专栏
- 无锁编程与分布式编程那个更适合多核CPU?
- 开源,选择Google Code还是Sourceforge?(修订版)
- 开始用Google Code的Issue
- Eiffel 引介 Part V (2)
- 多核系统中三种典型锁竞争的加速比分析
- 用Erlang Inets轻松实现Web服务器
- VisualFC - WTL/WinxGUI可视化开发环境
- 多核新观念-象使用内存一样使用CPU?
- Eiffel 引介 Part I,II
- 我为什么选择了Erlang?
- 启动Erlana: Erlang Analytics项目
- OpenMP创建线程中的锁及原子操作性能比较