CINXE.COM
Eiffel - Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available" lang="ja" dir="ltr"> <head> <meta charset="UTF-8"> <title>Eiffel - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )jawikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"ja", "wgMonthNames":["","1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],"wgRequestId":"697e29ee-09ea-463b-9a76-6978f66c5134","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Eiffel","wgTitle":"Eiffel","wgCurRevisionId":96400143,"wgRevisionId":96400143,"wgArticleId":1473,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["FAST識別子が指定されている記事","BNF識別子が指定されている記事","BNFdata識別子が指定されている記事","GND識別子が指定されている記事","J9U識別子が指定されている記事","LCCN識別子が指定されている記事","プログラミング言語","形式仕様記述言語","オブジェクト指向言語","エポニム"],"wgPageViewLanguage":"ja","wgPageContentLanguage":"ja","wgPageContentModel":"wikitext","wgRelevantPageName":"Eiffel","wgRelevantArticleId":1473, "wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":true,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"ja","pageLanguageDir":"ltr","pageVariantFallbacks":"ja"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":true,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":10000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q732089","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true, "wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.gadget.PDFLinkIcon":"ready","ext.gadget.RedirectColor":"ready","ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","ext.pygments.view","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.NormalizeCharWidth", "ext.gadget.suppressEnterAtSummaryBox","ext.gadget.checkSignature","ext.gadget.charinsert","ext.gadget.WikiMiniAtlas","ext.gadget.switcher","ext.gadget.protectionIndicator","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=ja&modules=ext.cite.styles%7Cext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=ja&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=ja&modules=ext.gadget.PDFLinkIcon%2CRedirectColor&only=styles&skin=vector-2022"> <link rel="stylesheet" href="/w/load.php?lang=ja&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Eiffel - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//ja.m.wikipedia.org/wiki/Eiffel"> <link rel="alternate" type="application/x-wiki" title="編集" href="/w/index.php?title=Eiffel&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (ja)"> <link rel="EditURI" type="application/rsd+xml" href="//ja.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://ja.wikipedia.org/wiki/Eiffel"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.ja"> <link rel="alternate" type="application/atom+xml" title="WikipediaのAtomフィード" href="/w/index.php?title=%E7%89%B9%E5%88%A5:%E6%9C%80%E8%BF%91%E3%81%AE%E6%9B%B4%E6%96%B0&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Eiffel rootpage-Eiffel skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">コンテンツにスキップ</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="サイト"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="メインメニュー" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">メインメニュー</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">メインメニュー</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">サイドバーに移動</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">非表示</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> 案内 </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8" title="メインページに移動する [z]" accesskey="z"><span>メインページ</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%E3%83%BB%E3%83%9D%E3%83%BC%E3%82%BF%E3%83%AB" title="このプロジェクトについて、できること、情報を入手する場所"><span>コミュニティ・ポータル</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:%E6%9C%80%E8%BF%91%E3%81%AE%E5%87%BA%E6%9D%A5%E4%BA%8B" title="最近の出来事の背景を知る"><span>最近の出来事</span></a></li><li id="n-newpages" class="mw-list-item"><a href="/wiki/%E7%89%B9%E5%88%A5:%E6%96%B0%E3%81%97%E3%81%84%E3%83%9A%E3%83%BC%E3%82%B8" title="最近新規に作成されたページの一覧"><span>新しいページ</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/%E7%89%B9%E5%88%A5:%E6%9C%80%E8%BF%91%E3%81%AE%E6%9B%B4%E6%96%B0" title="このウィキにおける最近の更新の一覧 [r]" accesskey="r"><span>最近の更新</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/%E7%89%B9%E5%88%A5:%E3%81%8A%E3%81%BE%E3%81%8B%E3%81%9B%E8%A1%A8%E7%A4%BA" title="無作為に選択されたページを読み込む [x]" accesskey="x"><span>おまかせ表示</span></a></li><li id="n-sandbox" class="mw-list-item"><a href="/wiki/Wikipedia:%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9" title="練習用のページ"><span>練習用ページ</span></a></li><li id="n-commonsupload" class="mw-list-item"><a href="//commons.wikimedia.org/wiki/Special:UploadWizard?uselang=ja" title="画像やメディアファイルをウィキメディア・コモンズにアップロード"><span>アップロード (ウィキメディア・コモンズ)</span></a></li> </ul> </div> </div> <div id="p-help" class="vector-menu mw-portlet mw-portlet-help" > <div class="vector-menu-heading"> ヘルプ </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:%E7%9B%AE%E6%AC%A1" title="情報を得る場所"><span>ヘルプ</span></a></li><li id="n-villagepump" class="mw-list-item"><a href="/wiki/Wikipedia:%E4%BA%95%E6%88%B8%E7%AB%AF" title="プロジェクトについての意見交換"><span>井戸端</span></a></li><li id="n-notice" class="mw-list-item"><a href="/wiki/Wikipedia:%E3%81%8A%E7%9F%A5%E3%82%89%E3%81%9B" title="プロジェクトについてのお知らせ"><span>お知らせ</span></a></li><li id="n-bugreportspage" class="mw-list-item"><a href="/wiki/Wikipedia:%E3%83%90%E3%82%B0%E3%81%AE%E5%A0%B1%E5%91%8A" title="ウィキペディア・ソフトウェアのバグ報告"><span>バグの報告</span></a></li><li id="n-contact" class="mw-list-item"><a href="/wiki/Wikipedia:%E9%80%A3%E7%B5%A1%E5%85%88" title="ウィキペディアやウィキメディア財団に関する連絡先"><span>ウィキペディアに関するお問い合わせ</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%9A%E3%83%BC%E3%82%B8" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-ja.svg" style="width: 7.5em; height: 1.25em;"> <img class="mw-logo-tagline" alt="" src="/static/images/mobile/copyright/wikipedia-tagline-ja.svg" width="100" height="14" style="width: 6.25em; height: 0.875em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/%E7%89%B9%E5%88%A5:%E6%A4%9C%E7%B4%A2" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Wikipedia内を検索 [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>検索</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Wikipedia内を検索" aria-label="Wikipedia内を検索" autocapitalize="sentences" title="Wikipedia内を検索 [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="特別:検索"> </div> <button class="cdx-button cdx-search-input__end-button">検索</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="個人用ツール"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="表示"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="ページのフォントサイズ、幅、色の外観を変更する" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="表示" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">表示</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_ja.wikipedia.org&uselang=ja" class=""><span>寄付</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=%E7%89%B9%E5%88%A5:%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E4%BD%9C%E6%88%90&returnto=Eiffel" title="アカウントを作成してログインすることをお勧めしますが、必須ではありません" class=""><span>アカウント作成</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=%E7%89%B9%E5%88%A5:%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3&returnto=Eiffel" title="ログインすることを推奨します。ただし、必須ではありません。 [o]" accesskey="o" class=""><span>ログイン</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="その他の操作" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="個人用ツール" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">個人用ツール</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="利用者メニュー" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_ja.wikipedia.org&uselang=ja"><span>寄付</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=%E7%89%B9%E5%88%A5:%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E4%BD%9C%E6%88%90&returnto=Eiffel" title="アカウントを作成してログインすることをお勧めしますが、必須ではありません"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>アカウント作成</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=%E7%89%B9%E5%88%A5:%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3&returnto=Eiffel" title="ログインすることを推奨します。ただし、必須ではありません。 [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>ログイン</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> ログアウトした編集者のページ <a href="/wiki/Wikipedia:%E3%82%A6%E3%82%A3%E3%82%AD%E3%83%9A%E3%83%87%E3%82%A3%E3%82%A2%E3%81%B8%E3%82%88%E3%81%86%E3%81%93%E3%81%9D" aria-label="編集の詳細"><span>もっと詳しく</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/%E7%89%B9%E5%88%A5:%E8%87%AA%E5%88%86%E3%81%AE%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2" title="このIPアドレスからなされた編集の一覧 [y]" accesskey="y"><span>投稿記録</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/%E7%89%B9%E5%88%A5:%E3%83%88%E3%83%BC%E3%82%AF%E3%83%9A%E3%83%BC%E3%82%B8" title="このIPアドレスからなされた編集についての議論 [n]" accesskey="n"><span>トーク</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="サイト"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="目次" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">目次</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">サイドバーに移動</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">非表示</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">ページ先頭</div> </a> </li> <li id="toc-概要" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#概要"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>概要</span> </div> </a> <ul id="toc-概要-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-基本構成" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#基本構成"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>基本構成</span> </div> </a> <ul id="toc-基本構成-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-rename_と_redefine" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#rename_と_redefine"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>rename と redefine</span> </div> </a> <ul id="toc-rename_と_redefine-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-コンストラクタの非継承" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#コンストラクタの非継承"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>コンストラクタの非継承</span> </div> </a> <ul id="toc-コンストラクタの非継承-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-脚注" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#脚注"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>脚注</span> </div> </a> <ul id="toc-脚注-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-外部リンク" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#外部リンク"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>外部リンク</span> </div> </a> <ul id="toc-外部リンク-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="目次" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="目次の表示・非表示を切り替え" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">目次の表示・非表示を切り替え</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Eiffel</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="特定の記事の別の言語版に移動します。 利用可能な言語34件" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-34" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">34の言語版</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-an mw-list-item"><a href="https://an.wikipedia.org/wiki/Luengache_de_programaci%C3%B3n_Eiffel" title="アラゴン語: Luengache de programación Eiffel" lang="an" hreflang="an" data-title="Luengache de programación Eiffel" data-language-autonym="Aragonés" data-language-local-name="アラゴン語" class="interlanguage-link-target"><span>Aragonés</span></a></li><li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%A5%D9%8A%D9%81%D9%84_(%D9%84%D8%BA%D8%A9_%D8%A8%D8%B1%D9%85%D8%AC%D8%A9)" title="アラビア語: إيفل (لغة برمجة)" lang="ar" hreflang="ar" data-title="إيفل (لغة برمجة)" data-language-autonym="العربية" data-language-local-name="アラビア語" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-az mw-list-item"><a href="https://az.wikipedia.org/wiki/Eiffel" title="アゼルバイジャン語: Eiffel" lang="az" hreflang="az" data-title="Eiffel" data-language-autonym="Azərbaycanca" data-language-local-name="アゼルバイジャン語" class="interlanguage-link-target"><span>Azərbaycanca</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/Eiffel_(%D0%B5%D0%B7%D0%B8%D0%BA_%D0%B7%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%B8%D1%80%D0%B0%D0%BD%D0%B5)" title="ブルガリア語: Eiffel (език за програмиране)" lang="bg" hreflang="bg" data-title="Eiffel (език за програмиране)" data-language-autonym="Български" data-language-local-name="ブルガリア語" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Llenguatge_de_programaci%C3%B3_Eiffel" title="カタロニア語: Llenguatge de programació Eiffel" lang="ca" hreflang="ca" data-title="Llenguatge de programació Eiffel" data-language-autonym="Català" data-language-local-name="カタロニア語" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Eiffel_(programovac%C3%AD_jazyk)" title="チェコ語: Eiffel (programovací jazyk)" lang="cs" hreflang="cs" data-title="Eiffel (programovací jazyk)" data-language-autonym="Čeština" data-language-local-name="チェコ語" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-da mw-list-item"><a href="https://da.wikipedia.org/wiki/Eiffel_(programmeringssprog)" title="デンマーク語: Eiffel (programmeringssprog)" lang="da" hreflang="da" data-title="Eiffel (programmeringssprog)" data-language-autonym="Dansk" data-language-local-name="デンマーク語" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Eiffel_(Programmiersprache)" title="ドイツ語: Eiffel (Programmiersprache)" lang="de" hreflang="de" data-title="Eiffel (Programmiersprache)" data-language-autonym="Deutsch" data-language-local-name="ドイツ語" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-en mw-list-item"><a href="https://en.wikipedia.org/wiki/Eiffel_(programming_language)" title="英語: Eiffel (programming language)" lang="en" hreflang="en" data-title="Eiffel (programming language)" data-language-autonym="English" data-language-local-name="英語" class="interlanguage-link-target"><span>English</span></a></li><li class="interlanguage-link interwiki-eo mw-list-item"><a href="https://eo.wikipedia.org/wiki/Eiffel_(programlingvo)" title="エスペラント語: Eiffel (programlingvo)" lang="eo" hreflang="eo" data-title="Eiffel (programlingvo)" data-language-autonym="Esperanto" data-language-local-name="エスペラント語" class="interlanguage-link-target"><span>Esperanto</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Eiffel_(lenguaje_de_programaci%C3%B3n)" title="スペイン語: Eiffel (lenguaje de programación)" lang="es" hreflang="es" data-title="Eiffel (lenguaje de programación)" data-language-autonym="Español" data-language-local-name="スペイン語" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D8%A7%DB%8C%D9%81%D9%84_(%D8%B2%D8%A8%D8%A7%D9%86_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%E2%80%8C%D9%86%D9%88%DB%8C%D8%B3%DB%8C)" title="ペルシア語: ایفل (زبان برنامهنویسی)" lang="fa" hreflang="fa" data-title="ایفل (زبان برنامهنویسی)" data-language-autonym="فارسی" data-language-local-name="ペルシア語" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Eiffel_(ohjelmointikieli)" title="フィンランド語: Eiffel (ohjelmointikieli)" lang="fi" hreflang="fi" data-title="Eiffel (ohjelmointikieli)" data-language-autonym="Suomi" data-language-local-name="フィンランド語" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Eiffel_(langage)" title="フランス語: Eiffel (langage)" lang="fr" hreflang="fr" data-title="Eiffel (langage)" data-language-autonym="Français" data-language-local-name="フランス語" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-gl mw-list-item"><a href="https://gl.wikipedia.org/wiki/Linguaxe_de_programaci%C3%B3n_Eiffel" title="ガリシア語: Linguaxe de programación Eiffel" lang="gl" hreflang="gl" data-title="Linguaxe de programación Eiffel" data-language-autonym="Galego" data-language-local-name="ガリシア語" class="interlanguage-link-target"><span>Galego</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/%D7%90%D7%99%D7%99%D7%A4%D7%9C_(%D7%A9%D7%A4%D7%AA_%D7%AA%D7%9B%D7%A0%D7%95%D7%AA)" title="ヘブライ語: אייפל (שפת תכנות)" lang="he" hreflang="he" data-title="אייפל (שפת תכנות)" data-language-autonym="עברית" data-language-local-name="ヘブライ語" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Eiffel_(programoz%C3%A1si_nyelv)" title="ハンガリー語: Eiffel (programozási nyelv)" lang="hu" hreflang="hu" data-title="Eiffel (programozási nyelv)" data-language-autonym="Magyar" data-language-local-name="ハンガリー語" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-io mw-list-item"><a href="https://io.wikipedia.org/wiki/Eiffel_(programifo-linguo)" title="イド語: Eiffel (programifo-linguo)" lang="io" hreflang="io" data-title="Eiffel (programifo-linguo)" data-language-autonym="Ido" data-language-local-name="イド語" class="interlanguage-link-target"><span>Ido</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Eiffel_(linguaggio_di_programmazione)" title="イタリア語: Eiffel (linguaggio di programmazione)" lang="it" hreflang="it" data-title="Eiffel (linguaggio di programmazione)" data-language-autonym="Italiano" data-language-local-name="イタリア語" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-ka mw-list-item"><a href="https://ka.wikipedia.org/wiki/%E1%83%94%E1%83%98%E1%83%A4%E1%83%94%E1%83%9A%E1%83%98_(%E1%83%9E%E1%83%A0%E1%83%9D%E1%83%92%E1%83%A0%E1%83%90%E1%83%9B%E1%83%98%E1%83%A0%E1%83%94%E1%83%91%E1%83%98%E1%83%A1_%E1%83%94%E1%83%9C%E1%83%90)" title="ジョージア語: ეიფელი (პროგრამირების ენა)" lang="ka" hreflang="ka" data-title="ეიფელი (პროგრამირების ენა)" data-language-autonym="ქართული" data-language-local-name="ジョージア語" class="interlanguage-link-target"><span>ქართული</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EC%97%90%ED%8E%A0_(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D_%EC%96%B8%EC%96%B4)" title="韓国語: 에펠 (프로그래밍 언어)" lang="ko" hreflang="ko" data-title="에펠 (프로그래밍 언어)" data-language-autonym="한국어" data-language-local-name="韓国語" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-ml mw-list-item"><a href="https://ml.wikipedia.org/wiki/%E0%B4%88%E0%B4%AB%E0%B5%BD_(%E0%B4%AA%E0%B5%8D%E0%B4%B0%E0%B5%8B%E0%B4%97%E0%B5%8D%E0%B4%B0%E0%B4%BE%E0%B4%AE%E0%B4%BF%E0%B4%99%E0%B5%8D_%E0%B4%AD%E0%B4%BE%E0%B4%B7)" title="マラヤーラム語: ഈഫൽ (പ്രോഗ്രാമിങ് ഭാഷ)" lang="ml" hreflang="ml" data-title="ഈഫൽ (പ്രോഗ്രാമിങ് ഭാഷ)" data-language-autonym="മലയാളം" data-language-local-name="マラヤーラム語" class="interlanguage-link-target"><span>മലയാളം</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Eiffel_(programmeertaal)" title="オランダ語: Eiffel (programmeertaal)" lang="nl" hreflang="nl" data-title="Eiffel (programmeertaal)" data-language-autonym="Nederlands" data-language-local-name="オランダ語" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Eiffel_(programmeringsspr%C3%A5k)" title="ノルウェー語(ブークモール): Eiffel (programmeringsspråk)" lang="nb" hreflang="nb" data-title="Eiffel (programmeringsspråk)" data-language-autonym="Norsk bokmål" data-language-local-name="ノルウェー語(ブークモール)" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Eiffel_(j%C4%99zyk_programowania)" title="ポーランド語: Eiffel (język programowania)" lang="pl" hreflang="pl" data-title="Eiffel (język programowania)" data-language-autonym="Polski" data-language-local-name="ポーランド語" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/Eiffel_(linguagem_de_programa%C3%A7%C3%A3o)" title="ポルトガル語: Eiffel (linguagem de programação)" lang="pt" hreflang="pt" data-title="Eiffel (linguagem de programação)" data-language-autonym="Português" data-language-local-name="ポルトガル語" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/Eiffel" title="ロシア語: Eiffel" lang="ru" hreflang="ru" data-title="Eiffel" data-language-autonym="Русский" data-language-local-name="ロシア語" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-sk mw-list-item"><a href="https://sk.wikipedia.org/wiki/Eiffel_(programovac%C3%AD_jazyk)" title="スロバキア語: Eiffel (programovací jazyk)" lang="sk" hreflang="sk" data-title="Eiffel (programovací jazyk)" data-language-autonym="Slovenčina" data-language-local-name="スロバキア語" class="interlanguage-link-target"><span>Slovenčina</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/Eiffel_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%81%D0%BA%D0%B8_%D1%98%D0%B5%D0%B7%D0%B8%D0%BA)" title="セルビア語: Eiffel (програмски језик)" lang="sr" hreflang="sr" data-title="Eiffel (програмски језик)" data-language-autonym="Српски / srpski" data-language-local-name="セルビア語" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-tg mw-list-item"><a href="https://tg.wikipedia.org/wiki/%D0%AD%D0%B9%D1%84%D0%B5%D0%BB_(%D0%B7%D0%B0%D0%B1%D0%BE%D0%BD%D0%B8_%D0%B1%D0%B0%D1%80%D0%BD%D0%BE%D0%BC%D0%B0%D1%81%D0%BE%D0%B7%D3%A3)" title="タジク語: Эйфел (забони барномасозӣ)" lang="tg" hreflang="tg" data-title="Эйфел (забони барномасозӣ)" data-language-autonym="Тоҷикӣ" data-language-local-name="タジク語" class="interlanguage-link-target"><span>Тоҷикӣ</span></a></li><li class="interlanguage-link interwiki-tl mw-list-item"><a href="https://tl.wikipedia.org/wiki/Eiffel_(wikang_pamprograma)" title="タガログ語: Eiffel (wikang pamprograma)" lang="tl" hreflang="tl" data-title="Eiffel (wikang pamprograma)" data-language-autonym="Tagalog" data-language-local-name="タガログ語" class="interlanguage-link-target"><span>Tagalog</span></a></li><li class="interlanguage-link interwiki-tt mw-list-item"><a href="https://tt.wikipedia.org/wiki/%D0%AD%D0%B9%D1%84%D0%B5%D0%BB%D1%8C_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0%D0%BB%D0%B0%D1%83_%D1%82%D0%B5%D0%BB%D0%B5)" title="タタール語: Эйфель (программалау теле)" lang="tt" hreflang="tt" data-title="Эйфель (программалау теле)" data-language-autonym="Татарча / tatarça" data-language-local-name="タタール語" class="interlanguage-link-target"><span>Татарча / tatarça</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/Eiffel" title="ウクライナ語: Eiffel" lang="uk" hreflang="uk" data-title="Eiffel" data-language-autonym="Українська" data-language-local-name="ウクライナ語" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/Eiffel" title="中国語: Eiffel" lang="zh" hreflang="zh" data-title="Eiffel" data-language-autonym="中文" data-language-local-name="中国語" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q732089#sitelinks-wikipedia" title="言語間リンクを編集" class="wbc-editpage">リンクを編集</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="名前空間"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Eiffel" title="本文を閲覧 [c]" accesskey="c"><span>ページ</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/%E3%83%8E%E3%83%BC%E3%83%88:Eiffel" rel="discussion" title="本文ページについての議論 [t]" accesskey="t"><span>ノート</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="別の言語に切り替える" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">日本語</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="表示"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Eiffel"><span>閲覧</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Eiffel&action=edit" title="このページのソースコードを編集する [e]" accesskey="e"><span>編集</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Eiffel&action=history" title="このページの過去の版 [h]" accesskey="h"><span>履歴表示</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="ページツール"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="ツール" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">ツール</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">ツール</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">サイドバーに移動</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">非表示</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="その他の操作" > <div class="vector-menu-heading"> 操作 </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Eiffel"><span>閲覧</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Eiffel&action=edit" title="このページのソースコードを編集する [e]" accesskey="e"><span>編集</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Eiffel&action=history"><span>履歴表示</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> 全般 </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/%E7%89%B9%E5%88%A5:%E3%83%AA%E3%83%B3%E3%82%AF%E5%85%83/Eiffel" title="ここにリンクしている全ウィキページの一覧 [j]" accesskey="j"><span>リンク元</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/%E7%89%B9%E5%88%A5:%E9%96%A2%E9%80%A3%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E6%9B%B4%E6%96%B0%E7%8A%B6%E6%B3%81/Eiffel" rel="nofollow" title="このページからリンクしているページの最近の更新 [k]" accesskey="k"><span>関連ページの更新状況</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89" title="ファイルをアップロードする [u]" accesskey="u"><span>ファイルをアップロード</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/%E7%89%B9%E5%88%A5:%E7%89%B9%E5%88%A5%E3%83%9A%E3%83%BC%E3%82%B8%E4%B8%80%E8%A6%A7" title="特別ページの一覧 [q]" accesskey="q"><span>特別ページ</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Eiffel&oldid=96400143" title="このページのこの版への固定リンク"><span>この版への固定リンク</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Eiffel&action=info" title="このページについての詳細情報"><span>ページ情報</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=%E7%89%B9%E5%88%A5:%E3%81%93%E3%81%AE%E3%83%9A%E3%83%BC%E3%82%B8%E3%82%92%E5%BC%95%E7%94%A8&page=Eiffel&id=96400143&wpFormIdentifier=titleform" title="このページの引用方法"><span>このページを引用</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=%E7%89%B9%E5%88%A5:UrlShortener&url=https%3A%2F%2Fja.wikipedia.org%2Fwiki%2FEiffel"><span>短縮URLを取得する</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=%E7%89%B9%E5%88%A5:QrCode&url=https%3A%2F%2Fja.wikipedia.org%2Fwiki%2FEiffel"><span>QRコードをダウンロード</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> 印刷/書き出し </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-create_a_book" class="mw-list-item"><a href="/w/index.php?title=%E7%89%B9%E5%88%A5:%E3%83%96%E3%83%83%E3%82%AF&bookcmd=book_creator&referer=Eiffel"><span>ブックの新規作成</span></a></li><li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=%E7%89%B9%E5%88%A5:DownloadAsPdf&page=Eiffel&action=show-download-screen"><span>PDF 形式でダウンロード</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Eiffel&printable=yes" title="このページの印刷用ページ [p]" accesskey="p"><span>印刷用バージョン</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> 他のプロジェクト </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:Eiffel_(programming_language)" hreflang="en"><span>コモンズ</span></a></li><li class="wb-otherproject-link wb-otherproject-wikibooks mw-list-item"><a href="https://ja.wikibooks.org/wiki/Eiffel" hreflang="ja"><span>ウィキブックス</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q732089" title="関連付けられたデータリポジトリ項目へのリンク [g]" accesskey="g"><span>ウィキデータ項目</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="ページツール"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="表示"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">表示</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">サイドバーに移動</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">非表示</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">出典: フリー百科事典『ウィキペディア(Wikipedia)』</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="ja" dir="ltr"><table class="infobox vevent" style="width:22em;"><caption itemprop="name" class="summary" style="">Eiffel</caption><tbody><tr class="" style="" itemprop=""><th scope="row" style="text-align:left; white-space:nowrap;"><a href="/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%83%91%E3%83%A9%E3%83%80%E3%82%A4%E3%83%A0" title="プログラミングパラダイム">パラダイム</a></th><td class="" style="" itemprop=""> <a href="/wiki/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0" title="オブジェクト指向プログラミング">オブジェクト指向プログラミング</a></td></tr><tr class="" style="" itemprop=""><th scope="row" style="text-align:left; white-space:nowrap;">設計者</th><td class="organiser" style="" itemprop=""> <a href="/wiki/%E3%83%90%E3%83%BC%E3%83%88%E3%83%A9%E3%83%B3%E3%83%89%E3%83%BB%E3%83%A1%E3%82%A4%E3%83%A4%E3%83%BC" title="バートランド・メイヤー">バートランド・メイヤー</a></td></tr><tr class="" style="" itemprop=""><th scope="row" style="text-align:left; white-space:nowrap;">最新リリース</th><td class="" style="" itemprop=""> <a href="/w/index.php?title=EiffelStudio&action=edit&redlink=1" class="new" title="「EiffelStudio」 (存在しないページ)">EiffelStudio 22.12</a><sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>/ <span style="white-space:nowrap;">2022年12月22日</span><span class="noprint"> (23か月前)</span><span style="display:none"> (<span class="bday dtstart published updated">2022-12-22</span>)</span></td></tr><tr class="" style="" itemprop=""><th scope="row" style="text-align:left; white-space:nowrap;"><a href="/wiki/%E5%9E%8B%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0" title="型システム">型付け</a></th><td class="" style="" itemprop=""> 強い<a href="/wiki/%E9%9D%99%E7%9A%84%E5%9E%8B%E4%BB%98%E3%81%91" title="静的型付け">静的型付け</a></td></tr><tr class="" style="" itemprop=""><th scope="row" style="text-align:left; white-space:nowrap;">主な処理系</th><td class="" style="" itemprop=""> <a href="/w/index.php?title=EiffelStudio&action=edit&redlink=1" class="new" title="「EiffelStudio」 (存在しないページ)">EiffelStudio</a>, <a href="/w/index.php?title=LibertyEiffel&action=edit&redlink=1" class="new" title="「LibertyEiffel」 (存在しないページ)">LibertyEiffel</a>, <a href="/w/index.php?title=SmartEiffel&action=edit&redlink=1" class="new" title="「SmartEiffel」 (存在しないページ)">SmartEiffel</a>, <a href="/w/index.php?title=Visual_Eiffel&action=edit&redlink=1" class="new" title="「Visual Eiffel」 (存在しないページ)">Visual Eiffel</a>, <a rel="nofollow" class="external text" href="http://www.gobosoft.com/eiffel/gobo/gec/index.html">Gobo Eiffel</a>, <a rel="nofollow" class="external text" href="http://www.sourceforge.net/projects/tecomp">"The Eiffel Compiler" tecomp</a></td></tr><tr class="" style="" itemprop=""><th scope="row" style="text-align:left; white-space:nowrap;">影響を受けた言語</th><td class="" style="" itemprop=""> <a href="/wiki/Ada" title="Ada">Ada</a>、<a href="/wiki/Simula" title="Simula">Simula</a></td></tr><tr class="" style="" itemprop=""><th scope="row" style="text-align:left; white-space:nowrap;">影響を与えた言語</th><td class="" style="" itemprop=""> <a href="/wiki/Sather" title="Sather">Sather</a>、<a href="/wiki/Ruby" title="Ruby">Ruby</a>、<a href="/wiki/Java" title="Java">Java</a>、<a href="/wiki/C_Sharp" title="C Sharp">C#</a>、<a href="/wiki/D%E8%A8%80%E8%AA%9E" title="D言語">D</a></td></tr><tr class="noprint"><td colspan="2" style="text-align:right; font-size:85%;"><a href="/wiki/Template:Infobox_%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E" title="Template:Infobox プログラミング言語">テンプレートを表示</a></td></tr></tbody></table> <p><b>Eiffel</b>(アイフェル、エッフェル)は頑健なソフトウェアの生産に注力した<a href="/wiki/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0" title="オブジェクト指向プログラミング">オブジェクト指向</a><a href="/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E" title="プログラミング言語">プログラミング言語</a>である。 </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="概要"><span id=".E6.A6.82.E8.A6.81"></span>概要</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Eiffel&action=edit&section=1" title="節を編集: 概要"><span>編集</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><a href="/wiki/1985%E5%B9%B4" title="1985年">1985年</a>に<a href="/wiki/%E3%83%90%E3%83%BC%E3%83%88%E3%83%A9%E3%83%B3%E3%83%89%E3%83%BB%E3%83%A1%E3%82%A4%E3%83%A4%E3%83%BC" title="バートランド・メイヤー">バートランド・メイヤー</a>(<span lang="en">Bertrand Meyer</span>)によって考案された。その文法は<a href="/wiki/Pascal" title="Pascal">Pascal</a>を連想させるものである。Eiffelは静的な型指定を強く指向しており、かつ動的なメモリ管理(一般的に<a href="/wiki/%E3%82%AC%E3%83%99%E3%83%BC%E3%82%B8%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3" title="ガベージコレクション">ガベージコレクション</a>により実装される)を備えている。 </p><p>少し前、オブジェクト指向の教科書的言語といえば、<a href="/wiki/Smalltalk" title="Smalltalk">Smalltalk</a>かEiffelか、という状況で、<a href="/wiki/%E6%89%8B%E7%B6%9A%E3%81%8D%E5%9E%8B%E8%A8%80%E8%AA%9E" class="mw-redirect" title="手続き型言語">手続き型言語</a>でのPascalのような存在であった。<a href="/wiki/%E5%A4%9A%E9%87%8D%E7%B6%99%E6%89%BF" class="mw-redirect" title="多重継承">多重継承</a>、<a href="/wiki/%E3%82%AC%E3%83%99%E3%83%BC%E3%82%B8%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3" title="ガベージコレクション">ガベージコレクション</a>といった特徴があるが、設計者によって<a href="/wiki/%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA" title="ライブラリ">ライブラリ</a>の<a href="/wiki/%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9" title="メンテナンス">メンテナンス</a>が重視されており、<a href="/wiki/%E5%A5%91%E7%B4%84%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0" title="契約プログラミング">契約による設計</a>(<i><a href="/wiki/%E5%A5%91%E7%B4%84%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0" title="契約プログラミング"><span lang="en">Design By Contract</span></a></i>)の概念が全面に打ち出されている。同じくオブジェクト指向を取り入れた言語である<a href="/wiki/Java" title="Java">Java</a>ほどは普及していない。<a href="/wiki/%E8%A1%A8%E6%98%8E" class="mw-redirect" title="表明">Assertion</a>など、Javaが追いかけているところもあるが、<a href="/wiki/%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9_(%E6%83%85%E5%A0%B1%E6%8A%80%E8%A1%93)" title="インタフェース (情報技術)">インタフェース</a>による<a href="/wiki/%E7%B6%99%E6%89%BF_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)" title="継承 (プログラミング)">継承</a>、<a href="/wiki/%E3%82%AC%E3%83%99%E3%83%BC%E3%82%B8%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3" title="ガベージコレクション">GC</a>あり、とかぶるところが多い。 </p><p>また、C/<a href="/wiki/C%2B%2B" title="C++">C++</a>のようにネイティブコードを直接生成するのではなく、C言語やJavaのコードを生成する、という特徴ももっている。 </p><p>言語名の由来は、<a href="/wiki/%E3%82%A8%E3%83%83%E3%83%95%E3%82%A7%E3%83%AB%E5%A1%94" title="エッフェル塔">エッフェル塔</a>ではなく、その設計者<a href="/wiki/%E3%82%AE%E3%83%A5%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%B4%E3%83%BB%E3%82%A8%E3%83%83%E3%83%95%E3%82%A7%E3%83%AB" title="ギュスターヴ・エッフェル">ギュスターヴ・エッフェル</a>である。 </p> <div class="mw-heading mw-heading2"><h2 id="基本構成"><span id=".E5.9F.BA.E6.9C.AC.E6.A7.8B.E6.88.90"></span>基本構成</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Eiffel&action=edit&section=2" title="節を編集: 基本構成"><span>編集</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Eiffel のソースは以下のように記述する。 </p> <div class="mw-highlight mw-highlight-lang-eiffel mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="c1">-- コメント</span> <span class="w"> </span><span class="kr">class</span><span class="w"> </span><span class="err">クラス名</span> <span class="w"> </span> <span class="w"> </span><span class="kr">inherit</span> <span class="w"> </span><span class="err">継承元のクラス(継承しない場合は省略可)</span> <span class="w"> </span> <span class="w"> </span><span class="n">creation</span> <span class="w"> </span><span class="err">コンストラクタの宣言(コンストラクタが必要ない場合は省略可)</span> <span class="w"> </span> <span class="w"> </span><span class="kr">feature</span><span class="p">{</span><span class="err">アクセス権限</span><span class="p">}</span> <span class="w"> </span><span class="err">メンバ変数、メンバ関数の記述</span> <span class="w"> </span> <span class="w"> </span><span class="kr">end</span> </pre></div> <p>Eiffel は「<a href="/wiki/%E3%82%AF%E3%83%A9%E3%82%B9_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF)" title="クラス (コンピュータ)">クラス</a>とは<a href="/wiki/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)" title="オブジェクト (プログラミング)">オブジェクト</a>の生成機である」という考え方が徹底しており、このため両者の概念を混同するような<a href="/wiki/%E3%82%AF%E3%83%A9%E3%82%B9%E5%A4%89%E6%95%B0" title="クラス変数">クラス変数</a>や<a href="/wiki/%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89_(%E8%A8%88%E7%AE%97%E6%A9%9F%E7%A7%91%E5%AD%A6)#静的メソッド" title="メソッド (計算機科学)">クラスメソッド</a>の機能は存在しない。このことは「<a href="/wiki/%E3%83%A1%E3%82%BF%E3%82%AF%E3%83%A9%E3%82%B9" title="メタクラス">クラスもオブジェクトの一種である</a>」と考える Smalltalk とは対照的である。 </p><p>また「クラス」に対する考え方も独特で、例えば Java ではソースファイルを<a href="/wiki/%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB" class="mw-disambig" title="コンパイル">コンパイル</a>すると「<a href="/wiki/Java%E3%82%AF%E3%83%A9%E3%82%B9%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB" title="Javaクラスファイル">クラスファイル</a>」という<a href="/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB_(%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF)" title="ファイル (コンピュータ)">ファイル</a>を作るのを見てわかるように、一般的には「<a href="/wiki/%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89" title="ソースコード">ソースコード</a>」は「クラスの設計図」という概念であるのに対し、Eiffel では「クラス」とは「ソースコードそのものである」という考え方である。コンパイルして生成されるファイルは「クラス(ソースコード)によって作られた<a href="/wiki/%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9" title="インスタンス">インスタンス</a>」という考え方であり、このため Eiffel では<a href="/wiki/%E3%82%A8%E3%83%B3%E3%83%88%E3%83%AA%E3%83%BC%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88" title="エントリーポイント">メインルーチン</a>に相当する処理を<a href="/wiki/%E3%82%B3%E3%83%B3%E3%82%B9%E3%83%88%E3%83%A9%E3%82%AF%E3%82%BF" title="コンストラクタ">コンストラクタ</a>で行う。 </p><p>コンストラクタは<code>creation</code>下で宣言された<a href="/wiki/%E3%83%A1%E3%83%B3%E3%83%90%E9%96%A2%E6%95%B0" class="mw-redirect" title="メンバ関数">メンバ関数</a>が使用される、このメンバ関数はどんな名称でも構わないが慣例的に<code>make</code>とする場合が多い。作成したクラスを使用する場合は </p> <div class="mw-highlight mw-highlight-lang-eiffel mw-content-ltr" dir="ltr"><pre><span></span><span class="n">x</span><span class="w"> </span><span class="p">:</span><span class="err">(クラス名)</span> <span class="o">!!</span><span class="n">x</span><span class="p">.</span><span class="err">(コンストラクタ名)</span> </pre></div> <p>でインスタンスを作成する(コンストラクタが指定されているクラスは上記の構文中で必ずコンストラクタを呼び出さなければならない)。 </p><p>クラスの継承を省略した場合は ANY というクラスの継承クラスとして扱われる。入出力などのグローバルな機能は ANY クラス内で定義されており、各 Eiffel のクラスではこれらの機能の実装に関して考慮をする必要性がないようになっている。 </p><p>なお、Eiffelはクラス名は全て大文字で書かなければならないという命名規則がある。 </p> <div class="mw-heading mw-heading2"><h2 id="rename_と_redefine"><span id="rename_.E3.81.A8_redefine"></span>rename と redefine</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Eiffel&action=edit&section=3" title="節を編集: rename と redefine"><span>編集</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Eiffel の特徴の一つとして、継承における細かい指定が可能ということが挙げられる。例えば </p> <div class="mw-highlight mw-highlight-lang-eiffel mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="kr">class</span><span class="w"> </span><span class="nc">A</span> <span class="w"> </span><span class="kr">feature</span> <span class="w"> </span><span class="n">method1</span><span class="w"> </span><span class="n">is</span> <span class="w"> </span><span class="n">io</span><span class="p">.</span><span class="n">put_string</span><span class="p">(</span><span class="s">"Hello from A"</span><span class="p">)</span> <span class="w"> </span><span class="n">io</span><span class="p">.</span><span class="n">new_line</span> <span class="w"> </span><span class="kr">end</span> <span class="w"> </span><span class="kr">end</span> </pre></div> <div class="mw-highlight mw-highlight-lang-eiffel mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="kr">class</span><span class="w"> </span><span class="nc">B</span> <span class="w"> </span><span class="kr">inherit</span> <span class="w"> </span><span class="nc">A</span> <span class="w"> </span><span class="kr">feature</span> <span class="w"> </span><span class="n">method1</span><span class="w"> </span><span class="n">is</span> <span class="w"> </span><span class="n">io</span><span class="p">.</span><span class="n">put_string</span><span class="p">(</span><span class="s">"Hello from B"</span><span class="p">)</span> <span class="w"> </span><span class="n">io</span><span class="p">.</span><span class="n">new_line</span> <span class="w"> </span><span class="kr">end</span> <span class="w"> </span><span class="kr">end</span> </pre></div> <p>というコードがあるとする(ioは標準入出力を扱うインスタンスで、ANYクラスのメンバである)。これは A というクラスを継承した B というクラスに同じ名前のメソッドがある場合である。このとき </p> <div class="mw-highlight mw-highlight-lang-eiffel mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="kr">class</span><span class="w"> </span><span class="nc">C</span> <span class="w"> </span><span class="n">creation</span> <span class="w"> </span><span class="n">make</span> <span class="w"> </span><span class="kr">feature</span> <span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="nc">A</span> <span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="p">:</span><span class="w"> </span><span class="nc">B</span> <span class="w"> </span> <span class="w"> </span><span class="n">make</span><span class="w"> </span><span class="n">is</span> <span class="w"> </span><span class="kr">do</span> <span class="w"> </span><span class="o">!!</span><span class="n">b</span> <span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">:=</span><span class="w"> </span><span class="n">b</span> <span class="w"> </span><span class="n">b</span><span class="p">.</span><span class="n">method1</span> <span class="w"> </span><span class="n">a</span><span class="p">.</span><span class="n">method1</span> <span class="w"> </span><span class="kr">end</span> <span class="w"> </span><span class="kr">end</span> </pre></div> <p>というコードを実行したとき。b.method1 はおそらく B で定義されたメソッドが動くと誰もが期待するだろうが、a.method1 で実行されるメソッドは A と B どちらで定義されたものだろうか?この場合の処理は言語によって異なっており例えば<a href="/wiki/C%2B%2B" title="C++">C++</a>の場合は A で定義されたメソッドが実行され、<a href="/wiki/Java" title="Java">Java</a>の場合は B のメソッドが実行される。すなわち言語によって動作が違うため作成者の勘違いなどによって混乱を招くおそれがある。 </p><p>Eiffelでは実のところ、どちらが実行されるか以前に上記のような例では<a href="/wiki/%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB" class="mw-disambig" title="コンパイル">コンパイル</a>することができないことになっている。すなわち Eiffelのメソッドは全てデフォルトでは継承不可である。しかしこれでは、あまりに制約が強すぎるため、同名のメソッドを定義する必要性があるときは、継承クラスの作成者がどちらを実行するかを指定することが出来る。 </p><p>具体的には rename と redefine という機能があり、上記の例では A で定義されたメソッドを実行したい場合は </p> <div class="mw-highlight mw-highlight-lang-eiffel mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="kr">class</span><span class="w"> </span><span class="nc">B</span> <span class="w"> </span><span class="kr">inherit</span> <span class="w"> </span><span class="nc">A</span> <span class="w"> </span><span class="kr">rename</span> <span class="w"> </span><span class="n">method1</span><span class="w"> </span><span class="kr">as</span><span class="w"> </span><span class="n">method2</span> <span class="w"> </span><span class="kr">end</span> </pre></div> <p>とする。この場合クラス B では A のメソッドを method2 という名前に改名させて、名前の衝突を防いでいる。B のインスタンスでも、クラス A のインスタンスとして扱われた場合(上記の例のような場合)は A の method1 が実行され、クラス B のインスタンスとして扱われた場合は B のmethod1 が実行される。B のインスタンスとして扱われた状態で A の method1 を実行するには上記の例では b.method2 とすればよい。これらの改名による効果は継承先と継承元の他、多重継承時のメソッド同士の衝突にも使用できる。 </p><p>逆に A のインスタンスとして扱われる場合でも B の method1 を実行したい場合は以下のようにする。 </p> <div class="mw-highlight mw-highlight-lang-eiffel mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="kr">class</span><span class="w"> </span><span class="nc">B</span> <span class="w"> </span><span class="kr">inherit</span> <span class="w"> </span><span class="nc">A</span> <span class="w"> </span><span class="kr">redefine</span> <span class="w"> </span><span class="n">method1</span> <span class="w"> </span><span class="kr">end</span> </pre></div> <p>この場合、クラス B はクラス A の method1 を継承時に破棄しクラス B で再定義することを示している。クラス B のインスタンスは A、B どちらで扱われても method1 はクラス B のものが実行され、クラス A の method1 はもはや実行されることは無い。なお再定義を宣言された method1 は必ずクラス B で再定義しなければならず、再定義していない場合はコンパイルエラーとなる。 </p><p>このように、Eiffel ではクラスの継承時に継承クラスの作成者がメソッドの扱いを自由に設定することができる。 </p> <div class="mw-heading mw-heading2"><h2 id="コンストラクタの非継承"><span id=".E3.82.B3.E3.83.B3.E3.82.B9.E3.83.88.E3.83.A9.E3.82.AF.E3.82.BF.E3.81.AE.E9.9D.9E.E7.B6.99.E6.89.BF"></span>コンストラクタの非継承</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Eiffel&action=edit&section=4" title="節を編集: コンストラクタの非継承"><span>編集</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Eiffel の特徴の一つとして<a href="/wiki/%E7%B6%99%E6%89%BF_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)#多重継承" title="継承 (プログラミング)">多重継承</a>をサポートしていることが挙げられる。 </p><p>多重継承時に問題となるものの一つとして、継承した二つの(あるいはそれ以上)のクラスのどちらにもコンストラクタが定義されている場合、二つのクラスのどちらのコンストラクタが実行されるか?というものがある。Eiffel の他に多重定義をサポートしている <a href="/wiki/C%2B%2B" title="C++">C++</a>や <a href="/wiki/Python" title="Python">Python</a> では継承元のコンストラクタの実行順に複雑な規則が導入されている。 </p><p>Eiffelではコンストラクタは継承されないことになっている。このためコンストラクタの実行手順といったものは原理的に存在しない。どうしても継承元のコンストラクタを使用する必要がある場合は、継承時に rename でコンストラクタとして宣言されているメソッドを改名し、改名したメソッドをコンストラクタ内で実行することで実装できる。 </p> <div class="mw-heading mw-heading2"><h2 id="脚注"><span id=".E8.84.9A.E6.B3.A8"></span>脚注</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Eiffel&action=edit&section=5" title="節を編集: 脚注"><span>編集</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="noprint" style="float:right; font-size:90%;">[<a href="/wiki/Help:%E8%84%9A%E6%B3%A8/%E8%AA%AD%E8%80%85%E5%90%91%E3%81%91" title="Help:脚注/読者向け"><span title="この欄の操作法">脚注の使い方</span></a>]</div> <div class="reflist" style="list-style-type: decimal;"> <ol class="references"> <li id="cite_note-1"><b><a href="#cite_ref-1">^</a></b> <span class="reference-text"><cite class="citation web" style="font-style:normal">“<a rel="nofollow" class="external text" href="https://dev.eiffel.com/EiffelStudio_22.12_Releases">EiffelStudio 22.12 Releases</a>”. <span title="">2023年8月7日</span>閲覧。</cite></span> </li> </ol></div> <div class="mw-heading mw-heading2"><h2 id="外部リンク"><span id=".E5.A4.96.E9.83.A8.E3.83.AA.E3.83.B3.E3.82.AF"></span>外部リンク</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Eiffel&action=edit&section=6" title="節を編集: 外部リンク"><span>編集</span></a><span class="mw-editsection-bracket">]</span></span></div> <div style="clear:right; float:right; position:relative;" class="noprint"> <div class="navbox" style="background:#f0fff0; border:1px solid #4682b4; padding: 4px; font-size: 12px; line-height: 14px; width: 280px; height: 52px"> <div style="float:left; margin: 0px; margin-right:8px; border:1px solid #4682b4;"><span typeof="mw:File"><a href="/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:Computer_n_screen.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/7/77/Computer_n_screen.svg/47px-Computer_n_screen.svg.png" decoding="async" width="47" height="49" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/7/77/Computer_n_screen.svg/71px-Computer_n_screen.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/7/77/Computer_n_screen.svg/94px-Computer_n_screen.svg.png 2x" data-file-width="119" data-file-height="123" /></a></span></div><b><a href="/wiki/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0" title="オブジェクト指向プログラミング">オブジェクト指向言語</a></b>に分類される<br /><big style="font-size: 18px; line-height: 20px;"><b><a href="/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E" title="プログラミング言語">プログラミング言語</a></b></big><div style="text-align: right; font-size: 12px; line-height: 14px; margin:0; padding:0;">>><a href="/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%E4%B8%80%E8%A6%A7" title="プログラミング言語一覧">他のプログラミング言語</a></div></div> <p style="text-align:right; font-size:xx-small; margin:0; bottom-margin: 4px;"><a href="/wiki/Category:%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E" title="Category:プログラミング言語">■</a>カテゴリ / <a href="/wiki/Template:%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E" title="Template:プログラミング言語">■</a>テンプレート</p></div> <ul><li><a rel="nofollow" class="external text" href="https://www.eiffel.org/">Eiffel.org</a></li> <li><a rel="nofollow" class="external text" href="https://web.archive.org/web/19991008171232/http://www.geocities.co.jp/SiliconValley/8632/advanced.html">Eiffel: 一歩進んだ入門</a> - <a href="/wiki/%E3%82%A6%E3%82%A7%E3%82%A4%E3%83%90%E3%83%83%E3%82%AF%E3%83%9E%E3%82%B7%E3%83%B3" title="ウェイバックマシン">ウェイバックマシン</a>(1999年10月8日アーカイブ分)</li> <li><a rel="nofollow" class="external text" href="http://smarteiffel.loria.fr/">SmartEiffel The GNU Eiffel Compiler</a> - SmartEiffel (<a href="/wiki/GNU%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88" title="GNUプロジェクト">GNUプロジェクト</a>によるフリーのEiffel<a href="/wiki/%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9" title="コンパイラ">コンパイラ</a>)配布ページ</li></ul> <div class="navbox" aria-labelledby="コンピュータ・プログラミング言語" style="border-collapse:collapse;padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="background:transparent;color:inherit;min-width:100%;border-spacing:0px;border-collapse:separate"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div style="float:left;width:6em;text-align:left"><div class="noprint plainlinks navbar hlist" style="white-space:nowrap;font-size:60%;font-weight:normal;background-color:transparent;padding:0;color:#000;;border:none;"><ul style="display:inline"><li><a href="/wiki/Template:%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%E4%B8%80%E8%A6%A7" title="Template:プログラミング言語一覧"><span title="このテンプレートを表示します" style="font-size:125%;;;border:none;">表</span></a></li><li><a href="/w/index.php?title=Template%E2%80%90%E3%83%8E%E3%83%BC%E3%83%88:%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%E4%B8%80%E8%A6%A7&action=edit&redlink=1" class="new" title="「Template‐ノート:プログラミング言語一覧」 (存在しないページ)"><span title="このテンプレートのノートを表示します" style="font-size:125%;color:#002bb8;;;border:none;">話</span></a></li><li><a class="external text" href="https://ja.wikipedia.org/w/index.php?title=Template%3A%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%E4%B8%80%E8%A6%A7&action=edit"><span title="このテンプレートを編集します。保存の前にプレビューを忘れずに。" style="font-size:125%;color:#002bb8;;;border:none;">編</span></a></li><li><a class="external text" href="https://ja.wikipedia.org/w/index.php?title=Template%3A%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%E4%B8%80%E8%A6%A7&action=history"><span title="このテンプレートの過去の版を表示します" style="font-size:125%;color:#002bb8;;;border:none;">歴</span></a></li></ul></div></div><div id="コンピュータ・プログラミング言語" style="font-size:110%;margin:0 6em">コンピュータ・<a href="/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E" title="プログラミング言語">プログラミング言語</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/%E4%BD%8E%E6%B0%B4%E6%BA%96%E8%A8%80%E8%AA%9E" title="低水準言語">低水準言語</a></th><td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em"> <ul><li><a href="/wiki/%E6%A9%9F%E6%A2%B0%E8%AA%9E" title="機械語">機械語</a></li> <li><a href="/wiki/%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%AA%E8%A8%80%E8%AA%9E" title="アセンブリ言語">アセンブリ言語</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/%E9%AB%98%E6%B0%B4%E6%BA%96%E8%A8%80%E8%AA%9E" title="高水準言語">高水準言語</a></th><td class="navbox-list navbox-even" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em"> </div><table class="nowraplinks navbox-subgroup" style="min-width:100%;border-spacing:0px;border-collapse:separate"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">1950年代</th><td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em"> <ul><li><span lang="en"><a href="/wiki/FORTRAN" class="mw-redirect" title="FORTRAN">FORTRAN</a></span></li> <li><span lang="en"><a href="/wiki/ALGOL" title="ALGOL">ALGOL</a></span></li> <li><span lang="en"><a href="/wiki/RPG_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E8%A8%80%E8%AA%9E)" title="RPG (プログラム言語)">RPG</a></span></li> <li><span lang="en"><a href="/wiki/COBOL" title="COBOL">COBOL</a></span></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">1960年代</th><td class="navbox-list navbox-even" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em"> <ul><li><span lang="en"><a href="/wiki/LISP" title="LISP">LISP</a></span></li> <li><a href="/wiki/CPL_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)" title="CPL (プログラミング言語)"><span lang="en">CPL</span></a></li> <li><span lang="en"><a href="/wiki/BASIC" title="BASIC">BASIC</a></span></li> <li><span lang="en"><a href="/wiki/PL/I" title="PL/I">PL/I</a></span></li> <li><span lang="en"><a href="/wiki/APL" title="APL">APL</a></span></li> <li><span lang="en"><a href="/wiki/BCPL" title="BCPL">BCPL</a></span></li> <li><span lang="en"><a href="/wiki/Simula" title="Simula">Simula</a></span></li> <li><span lang="en"><a href="/wiki/LOGO" title="LOGO">LOGO</a></span></li> <li><span lang="en"><a href="/wiki/B%E8%A8%80%E8%AA%9E" title="B言語">B</a></span></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">1970年代</th><td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em"> <ul><li><span lang="en"><a href="/wiki/Forth" title="Forth">Forth</a></span></li> <li><span lang="fr"><a href="/wiki/Pascal" title="Pascal">Pascal</a></span></li> <li><a href="/wiki/C%E8%A8%80%E8%AA%9E" title="C言語"><span lang="en">C</span></a></li> <li><span lang="fr"><a href="/wiki/Prolog" title="Prolog">Prolog</a></span></li> <li><span lang="en"><a href="/wiki/Smalltalk" title="Smalltalk">Smalltalk</a></span></li> <li><span lang="en"><a href="/wiki/Scheme" title="Scheme">Scheme</a></span></li> <li><a href="/wiki/ML_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)" title="ML (プログラミング言語)"><span lang="en">ML</span></a></li> <li><span lang="en"><a href="/wiki/AWK" title="AWK">AWK</a></span></li> <li><span lang="en"><a href="/wiki/Ada" title="Ada">Ada</a></span></li> <li><span lang="de"><a href="/wiki/Modula-2" title="Modula-2">Modula-2</a></span></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">1980年代</th><td class="navbox-list navbox-even" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em"> <ul><li><span lang="en"><a href="/wiki/C%2B%2B" title="C++">C++</a></span></li> <li><span lang="en"><a href="/wiki/Objective-C" title="Objective-C">Objective-C</a></span></li> <li><span lang="en"><a href="/wiki/Common_Lisp" title="Common Lisp">Common Lisp</a></span></li> <li><span lang="fr"><a class="mw-selflink selflink">Eiffel</a></span></li> <li><span lang="en"><a href="/wiki/Erlang" title="Erlang">Erlang</a></span></li> <li><span lang="fr"><a href="/wiki/Esterel" title="Esterel">Esterel</a></span></li> <li><span lang="fr"><a href="/wiki/Lustre_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)" title="Lustre (プログラミング言語)">Lustre</a></span></li> <li><span lang="en"><a href="/wiki/Perl" title="Perl">Perl</a></span></li> <li><span lang="en"><a href="/wiki/Mathematica" title="Mathematica">Mathematica</a></span></li> <li><span lang="en"><a href="/wiki/J_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)" title="J (プログラミング言語)">J</a></span></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">1990年代</th><td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em"> <ul><li><span lang="en"><a href="/wiki/Python" title="Python">Python</a></span></li> <li><span lang="en"><a href="/wiki/Tcl" title="Tcl">Tcl</a></span></li> <li><span lang="en"><a href="/wiki/Haskell" title="Haskell">Haskell</a></span></li> <li><span lang="en"><a href="/wiki/Visual_Basic" title="Visual Basic">Visual Basic</a></span></li> <li><span lang="en"><a href="/wiki/Ruby" title="Ruby">Ruby</a></span></li> <li><span lang="pt"><a href="/wiki/Lua" title="Lua">Lua</a></span></li> <li><span lang="en"><a href="/wiki/Delphi" title="Delphi">Delphi</a></span></li> <li><span lang="en"><a href="/wiki/Java" title="Java">Java</a></span></li> <li><span lang="en"><a href="/wiki/ECMAScript" title="ECMAScript">ECMAScript</a></span> (<span lang="en"><a href="/wiki/JavaScript" title="JavaScript">JavaScript</a></span>)</li> <li><span lang="en"><a href="/wiki/PHP_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)" title="PHP (プログラミング言語)">PHP</a></span></li> <li><span lang="en"><a href="/wiki/OCaml" title="OCaml">OCaml</a></span></li> <li><span lang="en"><a href="/wiki/SuperCollider" title="SuperCollider">SuperCollider</a></span></li> <li><span lang="en"><a href="/wiki/R%E8%A8%80%E8%AA%9E" title="R言語">R</a></span></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">2000年代</th><td class="navbox-list navbox-even" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em"> <ul><li><span lang="en"><a href="/wiki/C_Sharp" title="C Sharp">C#</a></span></li> <li><span lang="en"><a href="/wiki/VB.NET" class="mw-redirect" title="VB.NET">VB.NET</a></span></li> <li><span lang="en"><a href="/wiki/Scala" title="Scala">Scala</a></span></li> <li><span lang="en"><a href="/wiki/Clojure" title="Clojure">Clojure</a></span></li> <li><span lang="en"><a href="/wiki/D%E8%A8%80%E8%AA%9E" title="D言語">D</a></span></li> <li><span lang="en"><a href="/wiki/F_Sharp" title="F Sharp">F#</a></span></li> <li><span lang="en"><a href="/wiki/Go_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)" title="Go (プログラミング言語)">Go</a></span></li> <li><span lang="en"><a href="/wiki/Nim" title="Nim">Nim</a></span></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">2010年代</th><td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em"> <ul><li><span lang="en"><a href="/wiki/Dart" title="Dart">Dart</a></span></li> <li><span lang="en"><a href="/wiki/Ceylon" title="Ceylon">Ceylon</a></span></li> <li><span lang="en"><a href="/wiki/Elixir_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)" title="Elixir (プログラミング言語)">Elixir</a></span></li> <li><span lang="en"><a href="/wiki/Crystal_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)" title="Crystal (プログラミング言語)">Crystal</a></span></li> <li><span lang="en"><a href="/wiki/Hack_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)" title="Hack (プログラミング言語)">Hack</a></span></li> <li><span lang="en"><a href="/wiki/Swift_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)" title="Swift (プログラミング言語)">Swift</a></span></li> <li><span lang="en"><a href="/wiki/Rust_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)" title="Rust (プログラミング言語)">Rust</a></span></li> <li><span lang="en"><a href="/wiki/Raku" title="Raku">Raku</a></span></li> <li><span lang="en"><a href="/wiki/Elm_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)" title="Elm (プログラミング言語)">Elm</a></span></li> <li><span lang="en"><a href="/wiki/Julia_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)" title="Julia (プログラミング言語)">Julia</a></span></li> <li><span lang="en"><a href="/wiki/Kotlin" title="Kotlin">Kotlin</a></span></li> <li><span lang="en"><a href="/wiki/Zig_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E)" title="Zig (プログラミング言語)">Zig</a></span></li></ul> </div></td></tr></tbody></table><div> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">架空の言語</th><td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em"> <ul><li><a href="/wiki/%E6%93%AC%E4%BC%BC%E8%A8%80%E8%AA%9E" title="擬似言語">擬似言語</a></li> <li><a href="/wiki/CASL" title="CASL">CASL</a></li> <li><a href="/wiki/CAP-X" title="CAP-X">CAP-X</a></li></ul> </div></td></tr><tr><td class="navbox-abovebelow" colspan="2"> <ul><li><a href="/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%E5%B9%B4%E8%A1%A8" title="プログラミング言語年表">年表</a></li> <li><a href="/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%83%91%E3%83%A9%E3%83%80%E3%82%A4%E3%83%A0" title="プログラミングパラダイム">パラダイム</a></li> <li><a href="/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E%E4%B8%80%E8%A6%A7" title="プログラミング言語一覧">一覧</a></li></ul></td></tr></tbody></table></div> <div role="navigation" class="navbox authority-control" aria-labelledby="典拠管理データベース_frameless&#124;text-top&#124;10px&#124;alt=ウィキデータを編集&#124;link=https&#58;//www.wikidata.org/wiki/Q732089#identifiers&#124;class=noprint&#124;ウィキデータを編集" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="典拠管理データベース_frameless&#124;text-top&#124;10px&#124;alt=ウィキデータを編集&#124;link=https&#58;//www.wikidata.org/wiki/Q732089#identifiers&#124;class=noprint&#124;ウィキデータを編集" style="font-size:110%;margin:0 4em"><a href="/wiki/Help:%E5%85%B8%E6%8B%A0%E7%AE%A1%E7%90%86" title="Help:典拠管理">典拠管理データベース</a> <span class="mw-valign-text-top noprint" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q732089#identifiers" title="ウィキデータを編集"><img alt="ウィキデータを編集" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">全般</th><td class="navbox-list navbox-odd" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em"> <ul><li><span class="uid"><a rel="nofollow" class="external text" href="http://id.worldcat.org/fast/904024/">FAST</a></span></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">国立図書館</th><td class="navbox-list navbox-even" style="text-align:left;border-left-width:2px;border-left-style:solid;width:100%;padding:0px"><div style="padding:0em 0.25em"> <ul><li><span class="uid"><a rel="nofollow" class="external text" href="https://catalogue.bnf.fr/ark:/12148/cb12366791q">フランス</a></span></li> <li><span class="uid"><a rel="nofollow" class="external text" href="https://data.bnf.fr/ark:/12148/cb12366791q">BnF data</a></span></li> <li><span class="uid"><a rel="nofollow" class="external text" href="https://d-nb.info/gnd/4280526-0">ドイツ</a></span></li> <li><span class="uid"><a rel="nofollow" class="external text" href="http://olduli.nli.org.il/F/?func=find-b&local_base=NLX10&find_code=UID&request=987007532216805171">イスラエル</a></span></li> <li><span class="uid"><a rel="nofollow" class="external text" href="https://id.loc.gov/authorities/sh91003967">アメリカ</a></span></li></ul> </div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.eqiad.main‐5dc468848‐p8mcg Cached time: 20241123141844 Cache expiry: 2592000 Reduced expiry: false Complications: [show‐toc] CPU time usage: 0.203 seconds Real time usage: 0.775 seconds Preprocessor visited node count: 1792/1000000 Post‐expand include size: 51241/2097152 bytes Template argument size: 2996/2097152 bytes Highest expansion depth: 23/100 Expensive parser function count: 13/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 6444/5000000 bytes Lua time usage: 0.055/10.000 seconds Lua memory usage: 1915315/52428800 bytes Number of Wikibase entities loaded: 1/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 717.323 1 -total 14.47% 103.793 1 Template:Infobox_プログラミング言語 13.89% 99.635 1 Template:Infobox 6.30% 45.203 1 Template:Authority_control 4.21% 30.170 1 Template:Reflist 3.73% 26.747 2 Template:Navbox 3.66% 26.267 1 Template:Cite_web 2.84% 20.397 1 Template:プログラミング言語一覧 2.06% 14.777 1 Template:Accessdate 2.00% 14.367 1 Template:Start_date_and_age --> <!-- Saved in parser cache with key jawiki:pcache:idhash:1473-0!canonical and timestamp 20241123141844 and revision id 96400143. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">「<a dir="ltr" href="https://ja.wikipedia.org/w/index.php?title=Eiffel&oldid=96400143">https://ja.wikipedia.org/w/index.php?title=Eiffel&oldid=96400143</a>」から取得</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/%E7%89%B9%E5%88%A5:%E3%82%AB%E3%83%86%E3%82%B4%E3%83%AA" title="特別:カテゴリ">カテゴリ</a>: <ul><li><a href="/wiki/Category:%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E" title="Category:プログラミング言語">プログラミング言語</a></li><li><a href="/wiki/Category:%E5%BD%A2%E5%BC%8F%E4%BB%95%E6%A7%98%E8%A8%98%E8%BF%B0%E8%A8%80%E8%AA%9E" title="Category:形式仕様記述言語">形式仕様記述言語</a></li><li><a href="/wiki/Category:%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E8%A8%80%E8%AA%9E" title="Category:オブジェクト指向言語">オブジェクト指向言語</a></li><li><a href="/wiki/Category:%E3%82%A8%E3%83%9D%E3%83%8B%E3%83%A0" title="Category:エポニム">エポニム</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">隠しカテゴリ: <ul><li><a href="/wiki/Category:FAST%E8%AD%98%E5%88%A5%E5%AD%90%E3%81%8C%E6%8C%87%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E8%A8%98%E4%BA%8B" title="Category:FAST識別子が指定されている記事">FAST識別子が指定されている記事</a></li><li><a href="/wiki/Category:BNF%E8%AD%98%E5%88%A5%E5%AD%90%E3%81%8C%E6%8C%87%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E8%A8%98%E4%BA%8B" title="Category:BNF識別子が指定されている記事">BNF識別子が指定されている記事</a></li><li><a href="/wiki/Category:BNFdata%E8%AD%98%E5%88%A5%E5%AD%90%E3%81%8C%E6%8C%87%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E8%A8%98%E4%BA%8B" title="Category:BNFdata識別子が指定されている記事">BNFdata識別子が指定されている記事</a></li><li><a href="/wiki/Category:GND%E8%AD%98%E5%88%A5%E5%AD%90%E3%81%8C%E6%8C%87%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E8%A8%98%E4%BA%8B" title="Category:GND識別子が指定されている記事">GND識別子が指定されている記事</a></li><li><a href="/wiki/Category:J9U%E8%AD%98%E5%88%A5%E5%AD%90%E3%81%8C%E6%8C%87%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E8%A8%98%E4%BA%8B" title="Category:J9U識別子が指定されている記事">J9U識別子が指定されている記事</a></li><li><a href="/wiki/Category:LCCN%E8%AD%98%E5%88%A5%E5%AD%90%E3%81%8C%E6%8C%87%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E8%A8%98%E4%BA%8B" title="Category:LCCN識別子が指定されている記事">LCCN識別子が指定されている記事</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> 最終更新 2023年8月7日 (月) 10:45 (日時は<a href="/wiki/%E7%89%B9%E5%88%A5:%E5%80%8B%E4%BA%BA%E8%A8%AD%E5%AE%9A#mw-prefsection-rendering" title="特別:個人設定">個人設定</a>で未設定ならば<a href="/wiki/%E5%8D%94%E5%AE%9A%E4%B8%96%E7%95%8C%E6%99%82" title="協定世界時">UTC</a>)。</li> <li id="footer-info-copyright">テキストは<a rel="nofollow" class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.ja">クリエイティブ・コモンズ 表示-継承ライセンス</a>のもとで利用できます。追加の条件が適用される場合があります。詳細については<a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use">利用規約</a>を参照してください。</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy/ja">プライバシー・ポリシー</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:%E3%82%A6%E3%82%A3%E3%82%AD%E3%83%9A%E3%83%87%E3%82%A3%E3%82%A2%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">ウィキペディアについて</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:%E5%85%8D%E8%B2%AC%E4%BA%8B%E9%A0%85">免責事項</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">行動規範</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">開発者</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/ja.wikipedia.org">統計</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookieに関する声明</a></li> <li id="footer-places-mobileview"><a href="//ja.m.wikipedia.org/w/index.php?title=Eiffel&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">モバイルビュー</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-f69cdc8f6-t4zsm","wgBackendResponseTime":159,"wgPageParseReport":{"limitreport":{"cputime":"0.203","walltime":"0.775","ppvisitednodes":{"value":1792,"limit":1000000},"postexpandincludesize":{"value":51241,"limit":2097152},"templateargumentsize":{"value":2996,"limit":2097152},"expansiondepth":{"value":23,"limit":100},"expensivefunctioncount":{"value":13,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":6444,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 717.323 1 -total"," 14.47% 103.793 1 Template:Infobox_プログラミング言語"," 13.89% 99.635 1 Template:Infobox"," 6.30% 45.203 1 Template:Authority_control"," 4.21% 30.170 1 Template:Reflist"," 3.73% 26.747 2 Template:Navbox"," 3.66% 26.267 1 Template:Cite_web"," 2.84% 20.397 1 Template:プログラミング言語一覧"," 2.06% 14.777 1 Template:Accessdate"," 2.00% 14.367 1 Template:Start_date_and_age"]},"scribunto":{"limitreport-timeusage":{"value":"0.055","limit":"10.000"},"limitreport-memusage":{"value":1915315,"limit":52428800}},"cachereport":{"origin":"mw-web.eqiad.main-5dc468848-p8mcg","timestamp":"20241123141844","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Eiffel","url":"https:\/\/ja.wikipedia.org\/wiki\/Eiffel","sameAs":"http:\/\/www.wikidata.org\/entity\/Q732089","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q732089","author":{"@type":"Organization","name":"\u30a6\u30a3\u30ad\u30e1\u30c7\u30a3\u30a2\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3078\u306e\u8ca2\u732e\u8005"},"publisher":{"@type":"Organization","name":"\u30a6\u30a3\u30ad\u30e1\u30c7\u30a3\u30a2\u8ca1\u56e3","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2003-02-14T03:08:33Z","dateModified":"2023-08-07T10:45:06Z"}</script> </body> </html>