Eiffel

维基百科,自由的百科全书
跳转到导航 跳转到搜索
Eiffel
Eiffel logo
编程范型面向对象, 基于类, 泛型, 并发
设计者Bertrand Meyer
实作者Eiffel Software
发行时间1986年,​40年前​(1986[1]
当前版本
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    型态系统静态
    实作语言Eiffel
    系统平台跨平台
    操作系统FreeBSD, Linux, Mac OS X, OpenBSD, Solaris, Windows
    许可证双许可和企业许可
    文件扩展名.e
    网站www.eiffel.org
    主要实作产品
    EiffelStudio英语EiffelStudio, LibertyEiffel英语LibertyEiffel, SmartEiffel英语SmartEiffel, Visual Eiffel英语Visual Eiffel, Gobo Eiffel, "The Eiffel Compiler" tecomp
    受影响于
    Ada, Simula, Z英语Z notation
    影响语言
    Ada 2012, Albatross, C#, D, Java, Racket, Ruby,[2] Sather英语Sather, Scala

    Eiffel是一套面向对象编程语言,1985年由伯特兰·迈耶所发明。文法类似Pascal ,并且将语言本身与软件工程、和工具结合为一。Eiffel实现契约式设计(Design by Contract)的风格。

    语法与语义[编辑]

    整体架构[编辑]

    一个Eiffel“系统”或“程序”是指一个“类”的集合。Eiffel系统有一个Cluster的概念。通过一个叫做ACE的外部组件描述类之间的组合关系的,Cluster可以是几个类,或者几个子Cluster,或者是它们的混合。但是Cluster不是Eiffel的语言构造英语Language construct,Eiffel语言中,是惟一的构造模块。

    "Hello, world!"[编辑]

    一支编程语言都会有"Hello, world!"的程式码。以Eiffel的表示如下:

    class
        HELLO_WORLD
    create
        make
    feature
        make
            do
                print("Hello, world!%N")
            end
    end
    

    这支程式有HELLO_WORLD。其建构例程的名称是make,它会呼叫print系统函式库例程将"Hello, world!"的讯息给输出。 Eiffel中不像C系列(C、C++、Java、C#)的语言,通过约定某个叫做main的函数来启动应用,而是通过ACE来指定一个类作为整个应用的启动。这个类的构造函数也就成为应用的起始点。

    引用[编辑]

    1. ^ Eiffel in a Nutshell. archive.eiffel.com. [24 August 2017]. (原始内容存档于2019-01-13) (English). 
    2. ^ Cooper, Peter. Beginning Ruby: From Novice to Professional. Beginning from Novice to Professional 2nd. Berkeley: APress. 2009: 101. ISBN 978-1-4302-2363-4. To a lesser extent, Python, LISP, Eiffel, Ada, and C++ have also influenced Ruby. 
    3. ^ EiffelStudio 21.11 is available!. Eiffel.org. 11 February 2022. 

    外部链接[编辑]