Eiffel 引介 Part IV (1)
来源:互联网 发布:linux nohup 编辑:程序博客网 时间:2024/06/03 17:56
Eiffel Introduction
Eiffel 引介
Rensselaer, 2000
James C. McKim, Jr, Rensselaer at Hartford
K ][ N G of @ R K 译
4. Hello World 以及其它惯用的示例
4.1 Hello(示例)
class HELLO
creation make
feature
make is
-- say hello to the significant people in the world.
do
io.putstring( “Hello, OOPers%N” )
end
end
变量 io 是一个引用,指向一个型别为 STANDARD_FILES 的对象。后面我们将看到类别 HELLO 如何访问这个变量。
4.2 Eiffel 系统[译注3/OOSC2e,p196]
l 代码文件的名称通常应该与该代码所包含之类别的名称相同,并以 .e 作为扩展名。
l 因此,类别 HELLO 的代码应该写在名为 hello.e 的文件里。
l 每个不同的系统应该处在不同的目录中。
下面给出了 hello 和 stack 两个系统的示例。
4.3 STACK class
class MY_STACK[ G ]
creation make
feature
capacity, depth : INTEGER
push( x : G ) is
-- Make x the top item.
require
not_full: depth < capacity
do
depth := depth + 1
s.put( x, depth )
ensure
depth = old depth + 1
top = x
end -- push
pop is
-- Remove the top item.
require
not_empty: depth > 0
do
depth := depth - 1
ensure
depth = old depth - 1
-- top = the item remaining on the stack (if any)
-- that has been there the least amount of time.
end -- pop
top : G is
-- The item that has been on the stack for the least
-- amount of time.
require
not_empty: depth > 0
do
Result := s.item( depth )
end -- top
feature{NONE}
s : ARRAY[ G ]
make( c : INTEGER ) is
-- Initialize an empty stack with capacity c.
require
c > 0
do
capacity := c
!!s.make( 1, capacity )
ensure
capacity = c
depth = 0
end -- make
end -- MY_STACK
- Eiffel 引介 Part IV (1)
- Eiffel 引介 Part IV
- Eiffel 引介 Part V (1)
- Eiffel 引介 Part V
- Eiffel 引介 Part III
- Eiffel 引介 Part V (2)
- Eiffel 引介 Part I,II
- LESSON 1 BEING A HACKER part IV
- Eiffel
- Delphi对象模型(Part IV)
- LESSON 6 MALWARE part IV
- The Wavelet Tutorial Part IV
- Android Telephony 分析[PART IV]
- Linux学习总结 Part-IV
- The Wavelet Tutorial Part IV
- TensorFlow for Hackers (Part IV)
- LaTex(PART IV) 各级标题
- Creating Practical Scripts Part IV
- DB2 UDB for .NET
- Eiffel 引介 Part IV
- boost源码剖析之:泛型指针类any之海纳百川(rev#2)
- 在C++中侦测内嵌型别的存在(rev#2)
- 为什么C++编译器不能支持对模板的分离式编译
- Eiffel 引介 Part IV (1)
- .NET Framework 3.0 版本命名與部署 Q&A
- Enhanced Assertions铪铪铪铪
- 好用的Google Analytics分析服務
- 关于《Visual C++技术内幕》(第四版)
- 两本小书的命运 ---记《Effective STL》和《The Art Of Deception》两本书的出版翻译过程
- SD2.0大会的一些随想
- 关于char类型的取值范围
- Eiffel 引介 Part V