Eiffelとオブジェクト指向プログラミング間の類似点
Eiffelとオブジェクト指向プログラミングは(ユニオンペディアに)共通で27ものを持っています: Ada、メソッド (計算機科学)、メタクラス、ライブラリ、プログラミング言語、ファイル (コンピュータ)、インスタンス、インタフェース (情報技術)、オブジェクト (プログラミング)、オブジェクト指向プログラミング、ガベージコレクション、クラス (コンピュータ)、クラス変数、コンパイラ、コンストラクタ、C Sharp、C++、C言語、継承 (プログラミング)、表明、Java、Pascal、Python、Ruby、Sather、Simula、Smalltalk。
Ada
Ada(エイダ)は、強力な言語機能を豊富に持ち、高度な型の体系をもつ、プログラミング言語の一つである。構文はAlgol系である。 史上初のプログラマとされるエイダ・ラブレスの名前にちなんでAdaと命名されているため、ADAと表記するのは誤り。 フリーのコンパイラとしては、GNATなどがある。.
AdaとEiffel · Adaとオブジェクト指向プログラミング ·
メソッド (計算機科学)
メソッド あるいは メンバー関数 (-かんすう) とはオブジェクト指向プログラミング言語において、あるクラスないしオブジェクトに所属するサブルーチンを指す。.
Eiffelとメソッド (計算機科学) · オブジェクト指向プログラミングとメソッド (計算機科学) ·
メタクラス
ブジェクト指向プログラミングにおいてメタクラスとは、インスタンスがクラスとなるクラスのことである。通常のクラスがそのインスタンスの振る舞いを定義するように、メタクラスはそのインスタンスであるクラスを、そして更にそのクラスのインスタンスの振る舞いを定義する。全てのオブジェクト指向プログラミング言語でメタクラスが利用できるわけではない。利用できるものの中でもクラスの振る舞いが定義できる範囲は様々である。各言語はそれぞれ独自のメタオブジェクトプロトコル(MOP)を備えている。メタオブジェクトプロトコルとは、クラスそのものの挙動をもオブジェクト指向のルールで記述し、初期化やインスタンス化のルール、実行状態の管理などをカスタマイズする機構である。Smalltalk、CLOSが代表的である。.
Eiffelとメタクラス · オブジェクト指向プログラミングとメタクラス ·
ライブラリ
ライブラリ()は、汎用性の高い複数のプログラムを再利用可能な形でひとまとまりにしたものである。ライブラリと呼ぶ時は、それ単体ではプログラムとして作動させることはできない実行ファイルではない場合がある。ライブラリは他のプログラムに何らかの機能を提供するコードの集まりと言うことができる。ソースコードの場合と、オブジェクトコード、あるいは専用の形式を用いる場合とがある。たとえば、UNIXのライブラリはオブジェクトコードをarと呼ばれるアーカイバでひとまとめにして利用する。図書館()と同様にプログラム(算譜)の書庫であるので、索引方法が重要である。 また、ソフトウェア以外の再利用可能なものの集合について使われることもある。.
Eiffelとライブラリ · オブジェクト指向プログラミングとライブラリ ·
プログラミング言語
プログラミング言語(プログラミングげんご、programming language)とは、コンピュータプログラムを記述するための形式言語である。なお、コンピュータ以外にもプログラマブルなものがあることを考慮するならば、この記事で扱っている内容については、「コンピュータプログラミング言語」(computer programming language)に限定されている。.
Eiffelとプログラミング言語 · オブジェクト指向プログラミングとプログラミング言語 ·
ファイル (コンピュータ)
ンピュータにおけるファイル(file)は、コンピュータでデータを扱いやすくするための仕組み。場合によってはデータセット(data set)とも呼ばれる。.
Eiffelとファイル (コンピュータ) · オブジェクト指向プログラミングとファイル (コンピュータ) ·
インスタンス
計算機科学でのインスタンス()とは実体のことをいう。は英語で「実例」を意味する。.
Eiffelとインスタンス · インスタンスとオブジェクト指向プログラミング ·
インタフェース (情報技術)
インタフェース(interface)は、ものごとの境界となる部分と、その境界でのプロトコルを指す。コンピュータなどでは、コンピュータシステム内、あるいはシステム間のインタフェースや、人間と機械の間のインタフェース(ヒューマンマシンインタフェース)などがある。他分野の専門用語の借用になるが、界面という訳語がある。.
Eiffelとインタフェース (情報技術) · インタフェース (情報技術)とオブジェクト指向プログラミング ·
オブジェクト (プログラミング)
ブジェクト(object)はオブジェクト指向プログラミングにおいて、プログラム上の手続きの対象を抽象化する概念である。.
Eiffelとオブジェクト (プログラミング) · オブジェクト (プログラミング)とオブジェクト指向プログラミング ·
オブジェクト指向プログラミング
ブジェクト指向プログラミング(オブジェクトしこうプログラミング、)は、コンピュータ・プログラミングのパラダイムのひとつで、オブジェクト指向の概念や手法を取り入れたものである。プログラムを、データとその振舞が結び付けられたオブジェクトの集まりとして構成する、などといった特徴がある。このパラダイムを指向しているプログラミング言語がオブジェクト指向プログラミング言語である。.
Eiffelとオブジェクト指向プログラミング · オブジェクト指向プログラミングとオブジェクト指向プログラミング ·
ガベージコレクション
ベージコレクション(garbage collection; GC)とは、プログラムが動的に確保したメモリ領域のうち、不要になった領域を自動的に解放する機能である。「ガベージコレクション」を直訳すれば「ゴミ集め」「ごみ拾い」となる。1959年ごろ、LISPにおける問題を解決するためジョン・マッカーシーによって発明された。 メモリの断片化を解消する機能はコンパクションと呼ばれ、実現方法によってはガベージコレクションと共にコンパクションも行う仕組みになっている。そのためコンパクションを含めてガベージコレクションと呼ぶ場合もあるが、厳密には区別される。 また、ガベージコレクションを行う主体はガベージコレクタと呼ばれる。ガベージコレクタはタスクやスレッドとして実装される場合が多い。 参照カウント方式のガベージコレクションは通常煩雑なコーディングを必要とするが、それを必要なく実装したライブラリとしがある。.
Eiffelとガベージコレクション · オブジェクト指向プログラミングとガベージコレクション ·
クラス (コンピュータ)
ラス()は、クラスベースのオブジェクト指向においてオブジェクトの設計図にあたるもの。抽象データ型の一つ。クラスから生成したオブジェクトのことをインスタンスという。 クラスには、インスタンスの保持するデータ(メンバ変数、フィールド(UMLでは「属性」ともいう))と操作(メソッド、メンバ関数)が記述される。 クラスは、継承・ポリモーフィズム・カプセル化などの、オブジェクト指向プログラミングにおける重要な概念を実現する強力な手段である。.
Eiffelとクラス (コンピュータ) · オブジェクト指向プログラミングとクラス (コンピュータ) ·
クラス変数
ラス変数()または、静的メンバ変数(static member variable)、静的フィールド()とは、同一クラス・派生クラスで共有される変数である。そのため、関連クラスに渡って共通に使用できるグローバル変数(大域変数)であるともいえる。 これに対して、インスタンスごとに確保される変数のことを、インスタンス変数あるいは単にフィールド (計算機科学)、データメンバ、メンバ変数などと呼ぶ。 UMLではクラス変数のことを、特別な意味を持つ属性としてクラススコープ()と呼ぶ。.
Eiffelとクラス変数 · オブジェクト指向プログラミングとクラス変数 ·
コンパイラ
ンパイラ(英:compiler)とは、コンピュータ・プログラミング言語の処理系(言語処理系)の一種で、高水準言語によるソースコードから、機械語に(あるいは、元のプログラムよりも低い水準のコードに)変換するプログラムである。.
Eiffelとコンパイラ · オブジェクト指向プログラミングとコンパイラ ·
コンストラクタ
ンストラクタ(構築子、Constructor)は、オブジェクト指向のプログラミング言語で新たなオブジェクトを生成する際に呼び出されて内容の初期化などを行なう関数、メソッドのことである。対義語はデストラクタ。 オブジェクトの生成は、.
Eiffelとコンストラクタ · オブジェクト指向プログラミングとコンストラクタ ·
C Sharp
C#(シーシャープ)は、アンダース・ヘルスバーグが設計(デザイン)したプログラミング言語であり、構文(syntax)は(名前にもある通り)C言語や、C言語風に構文が設計されたC++やJavaなどの影響があるが、構文以外についてはヘルスバーグが以前の所属であるBorlandで設計したDelphiからの影響がある。 Microsoftによる謳い文句としては、マルチパラダイムプログラミング言語、強い型付け、命令型、宣言型、手続き型、関数型、ジェネリック、オブジェクト指向の要素を持つ、などといった点が強調されている。 CLIといった周辺も含め、Microsoftのフレームワーク「.NET Framework」の一部である他、VJ++で「非互換なJava」をJavaに持ち込もうとしたような以前のMicrosoftとは異なり、その多くの仕様を積極的に公開し標準化機構に託して自由な利用を許す(ECMA-334、ISO/IEC 23270:2003、JIS X 3015)など、同社の姿勢の変化があらわれている一面でもある(実際に「Mono」という、フリーソフトウェアの定義に合致したライセンスの、コミュニティによる実装がある)。.
C SharpとEiffel · C Sharpとオブジェクト指向プログラミング ·
C++
C++(シープラスプラス)は、汎用プログラミング言語の一つである。日本語では略してシープラプラ、シープラなどとも呼ばれる。.
C++とEiffel · C++とオブジェクト指向プログラミング ·
C言語
C言語(シーげんご)は、1972年にAT&Tベル研究所のデニス・リッチーが主体となって開発したプログラミング言語である。英語圏では単に C と呼んでおり、日本でも文書や文脈によっては同様に C と呼ぶことがある。.
C言語とEiffel · C言語とオブジェクト指向プログラミング ·
継承 (プログラミング)
継承(けいしょう、inheritance:インヘリタンス)とはオブジェクト指向を構成する概念の一つである。あるオブジェクトが他のオブジェクトの特性を引き継ぐ場合、両者の間に「継承関係」があると言われる。 主にクラスベースのオブジェクト指向言語で、既存クラスの機能、構造を共有する新たなクラスを派生することができ(サブクラス化)、そのようなクラスは「親クラス(スーパークラス)を継承した」という。具体的には変数定義や操作(メソッド)などが引き継がれる。またJavaのインタフェース継承のように機能セットの仕様のみを引き継ぐ場合もある。 一般的に、BがAを継承する場合、B is a A. (BはAの一種である)という意味的な関係(Is-a関係)が成り立つ。従って、同じふるまいを持つからと言って、意味的に無関係なクラス間に継承関係を持たせるのは適切でない場合が多い。 プロトタイプベースのオブジェクト指向言語(Self、NewtonScript等)のように「クラス」という概念を持たない場合でも、クローン元となるオブジェクトを指して「継承」と呼ぶ。 継承と類似の概念に「委譲」があるが、継承では一度定まった継承関係は通常変更されないのに対して、委譲対象は必要に応じて変更されうるものである。 Is-a関係を持つ継承とは階層が異なる概念として集約 (aggregation) とコンポジション集約 (composition) があるが、これはクラス間の関係がHas-aである包含関係であり、クラス間の関係は継承よりも疎である。.
Eiffelと継承 (プログラミング) · オブジェクト指向プログラミングと継承 (プログラミング) ·
表明
表明(ひょうめい、assertion)とは、プログラミングにおける概念のひとつであり、そのプログラムの前提条件を示すのに使われる。アサーションとも呼ばれる。表明は、プログラムのその箇所で必ず真であるべき式の形式をとる。多くの言語ではそのような前提条件のチェックに表明を使用するが、設計上の判断を文書化するのに使う場合もある。表明が偽となった場合、プログラムにバグが潜在していることを示している。これを「表明違反; assertion failure」と呼ぶ。表明を言語構文や標準ライブラリとしてサポートするプログラミング言語も存在する。 プログラマは、開発過程でソースコードに表明を追加する。デバッグを単純化し、問題を早期に検出するためである。表明違反はバグを示していることが多いため、表明の実装では問題の元を示すために追加情報を表示するようになっていることが多い(ソースコードのファイル名と行番号、スタックトレースなど)。ほとんどの実装では、そのプログラムの実行が即座に停止する。.
Eiffelと表明 · オブジェクト指向プログラミングと表明 ·
Java
Java(ジャバ)は、狭義ではプログラミング言語Javaを指す。広義では言語仕様以外にも、仕様が与えられているJavaクラスライブラリやJava仮想マシン、さらにはJDKやJREなどの公式のものをはじめとする、場合によってはサードパーティのものなどを含め曖昧にJavaプラットフォームと総称されるようなものなどのエコシステムなどを指すこともある。構文についてはJavaの文法の記事を参照。.
EiffelとJava · Javaとオブジェクト指向プログラミング ·
Pascal
Pascal(パスカル)は、ニクラウス・ヴィルトの設計(デザイン)によるコンピュータ・プログラミング言語である。ALGOL(直接的にはその一派生である、ヴィルトが関与したALGOL W)などの影響があるが、個人の設計であることに由来する簡素だがよく整った言語仕様(構文と意味)を持つ。用途の中に教育を意識しており、構造化された制御構造など、その当時「良きプログラミングの慣習」と考えられていたことの影響もある。一方で批判者からは、あくまでも教育用に過ぎない言語だ、といったような評もあることにはあったが、PascalコンパイラをPascalで書ける(いわゆる言語処理系のブートストラップ)ことをはじめ、Pascalで書かれた#実用プログラム例は多くある。名前は、哲学者・数学者・科学者で、機械式計算機を製作するなど技術者でもあったブレーズ・パスカルにあやかったものである。.
EiffelとPascal · Pascalとオブジェクト指向プログラミング ·
Python
Python(パイソン)は、汎用のプログラミング言語である。コードがシンプルで扱いやすく設計されており、C言語などに比べて、さまざまなプログラムを分かりやすく、少ないコード行数で書けるといった特徴がある。.
EiffelとPython · Pythonとオブジェクト指向プログラミング ·
Ruby
Ruby(ルビー)は、まつもとゆきひろ(通称 Matz)により開発されたオブジェクト指向スクリプト言語であり、スクリプト言語が用いられてきた領域でのオブジェクト指向プログラミングを実現する。 また日本で開発されたプログラミング言語としては初めて国際電気標準会議で国際規格に認証された事例となった。.
EiffelとRuby · Rubyとオブジェクト指向プログラミング ·
Sather
Satherはカリフォルニア大学バークレー校(UCB) と提携し、ICSI(International Computer Science Institute)によって開発されたオブジェクト指向プログラミング言語である。 言語仕様は、初期にはEiffelのサブセットであり、言語の基本的な枠組みや構文や表記もEiffelから大きく影響を受けている。Satherの名称もEiffel Towerに対し、カリフォルニア大学バークレイ校の構内にある、同校のシンボル的存在「Sather Tower」からとっている(塔つながり)。しかし、後には独自の拡張・工夫が、特に効率の面で多くなされている。.
EiffelとSather · Satherとオブジェクト指向プログラミング ·
Simula
SIMULA(シミュラ; SIMUlation LAnguage)は、オルヨハン・ダールとクリステン・ニガードによってALGOL60を拡張する形で1960年代に開発が始められたシミュレーション用途のプログラミング言語である。 ALGOLのbegin...
EiffelとSimula · Simulaとオブジェクト指向プログラミング ·
Smalltalk
Smalltalk(スモールトーク)は、Simula のオブジェクト(およびクラス)、LISPの徹底した動的性、LOGO のタートル操作や描画機能に、アラン・ケイの「メッセージング」というアイデアを組み合わせて作られたクラスベースの純粋オブジェクト指向プログラミング言語、および、それによって記述構築された統合化プログラミング環境の呼称。 Smalltalk で一語であり、「Small Talk」「SmallTalk」などは誤りである。 大規模な開発実績としてはCargill Lynx Projectがあり、国産製品の開発実績としてはMCFrameがある。.
上記のリストは以下の質問に答えます
- 何Eiffelとオブジェクト指向プログラミングことは共通しています
- 何がEiffelとオブジェクト指向プログラミング間の類似点があります
Eiffelとオブジェクト指向プログラミングの間の比較
オブジェクト指向プログラミングが149を有しているEiffelは、39の関係を有しています。 彼らは一般的な27で持っているように、ジャカード指数は14.36%です = 27 / (39 + 149)。
参考文献
この記事では、Eiffelとオブジェクト指向プログラミングとの関係を示しています。情報が抽出された各記事にアクセスするには、次のURLをご覧ください: