ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
無料
ブラウザよりも高速アクセス!
 

C++と継承 (プログラミング)

ショートカット: 違い類似点ジャカード類似性係数参考文献

C++と継承 (プログラミング)の違い

C++ vs. 継承 (プログラミング)

C++(シープラスプラス)は、汎用プログラミング言語の一つである。日本語では略してシープラプラ、シープラなどとも呼ばれる。. 継承(けいしょう、inheritance:インヘリタンス)とはオブジェクト指向を構成する概念の一つである。あるオブジェクトが他のオブジェクトの特性を引き継ぐ場合、両者の間に「継承関係」があると言われる。 主にクラスベースのオブジェクト指向言語で、既存クラスの機能、構造を共有する新たなクラスを派生することができ(サブクラス化)、そのようなクラスは「親クラス(スーパークラス)を継承した」という。具体的には変数定義や操作(メソッド)などが引き継がれる。またJavaのインタフェース継承のように機能セットの仕様のみを引き継ぐ場合もある。 一般的に、BがAを継承する場合、B is a A. (BはAの一種である)という意味的な関係(Is-a関係)が成り立つ。従って、同じふるまいを持つからと言って、意味的に無関係なクラス間に継承関係を持たせるのは適切でない場合が多い。 プロトタイプベースのオブジェクト指向言語(Self、NewtonScript等)のように「クラス」という概念を持たない場合でも、クローン元となるオブジェクトを指して「継承」と呼ぶ。 継承と類似の概念に「委譲」があるが、継承では一度定まった継承関係は通常変更されないのに対して、委譲対象は必要に応じて変更されうるものである。 Is-a関係を持つ継承とは階層が異なる概念として集約 (aggregation) とコンポジション集約 (composition) があるが、これはクラス間の関係がHas-aである包含関係であり、クラス間の関係は継承よりも疎である。.

C++と継承 (プログラミング)間の類似点

C++と継承 (プログラミング)は(ユニオンペディアに)共通で13ものを持っています: 型変換仮想継承インタフェース (情報技術)オーバーライドオブジェクト指向オブジェクト指向プログラミングクラス (コンピュータ)C Sharp継承 (プログラミング)D言語静的型付けJavaSimula

型変換

型変換(かたへんかん)とはプログラムにおいて、あるデータ型を他のデータ型に変換することである。.

C++と型変換 · 型変換と継承 (プログラミング) · 続きを見る »

仮想継承

仮想継承(かそうけいしょう、Virtual inheritance)とは、C++プログラミング言語における継承の一種で、多重継承によって生じる問題(菱形継承問題)を解決するもの。どの上位クラスのメンバーを使うか曖昧さが生じる部分で、明確化する。仮想継承は、部分の合成という意味での継承よりも、継承が上位クラスへの制限を表している場合に使われる。多重継承の基底クラスは、virtual というキーワードで仮想継承であることを指定される。.

C++と仮想継承 · 仮想継承と継承 (プログラミング) · 続きを見る »

インタフェース (情報技術)

インタフェース(interface)は、ものごとの境界となる部分と、その境界でのプロトコルを指す。コンピュータなどでは、コンピュータシステム内、あるいはシステム間のインタフェースや、人間と機械の間のインタフェース(ヒューマンマシンインタフェース)などがある。他分野の専門用語の借用になるが、界面という訳語がある。.

C++とインタフェース (情報技術) · インタフェース (情報技術)と継承 (プログラミング) · 続きを見る »

オーバーライド

ブジェクト指向プログラミングにおいてオーバーライド (override)とは、スーパークラスで定義されたメソッドをサブクラスで定義しなおし、動作を上書きすることである。 あるクラスBaseにメソッドprintがあり、あるクラスDerivedがクラスBaseを継承したとする。そのとき、クラスDerivedはクラスBaseにあるメソッドprintをオーバーライドすることにより、再定義することができる。これはオブジェクト指向プログラミングにおけるポリモーフィズムを実現する際によく使われる。 オーバーライドを可能とする条件として、引数の型と数が統一されている必要がある。 メソッドのオーバーロード(多重定義、)と混同されることがあるが、まったく異なる概念である。 ※Rubyのようにオーバーロードの概念がなく、引数の型や数の条件がなくメソッド名が同一なだけでオーバーライドが成立する言語もある。.

C++とオーバーライド · オーバーライドと継承 (プログラミング) · 続きを見る »

オブジェクト指向

ブジェクト指向(オブジェクトしこう)とは、オブジェクト同士の相互作用として、システムの振る舞いをとらえる考え方である。英語の object-oriented (直訳は、「対象物志向の」「目的重視の」という意味の形容詞) の日本語訳である。 オブジェクト指向の枠組みが持つ道具立ては、一般的で強力な記述能力を持つ。複雑なシステム記述、巨大なライブラリ(特に部品間で緊密で複雑な相互関係を持つもの)の記述においては、オブジェクト指向の考え方は必須である。.

C++とオブジェクト指向 · オブジェクト指向と継承 (プログラミング) · 続きを見る »

オブジェクト指向プログラミング

ブジェクト指向プログラミング(オブジェクトしこうプログラミング、)は、コンピュータ・プログラミングのパラダイムのひとつで、オブジェクト指向の概念や手法を取り入れたものである。プログラムを、データとその振舞が結び付けられたオブジェクトの集まりとして構成する、などといった特徴がある。このパラダイムを指向しているプログラミング言語がオブジェクト指向プログラミング言語である。.

C++とオブジェクト指向プログラミング · オブジェクト指向プログラミングと継承 (プログラミング) · 続きを見る »

クラス (コンピュータ)

ラス()は、クラスベースのオブジェクト指向においてオブジェクトの設計図にあたるもの。抽象データ型の一つ。クラスから生成したオブジェクトのことをインスタンスという。 クラスには、インスタンスの保持するデータ(メンバ変数、フィールド(UMLでは「属性」ともいう))と操作(メソッド、メンバ関数)が記述される。 クラスは、継承・ポリモーフィズム・カプセル化などの、オブジェクト指向プログラミングにおける重要な概念を実現する強力な手段である。.

C++とクラス (コンピュータ) · クラス (コンピュータ)と継承 (プログラミング) · 続きを見る »

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とC++ · C Sharpと継承 (プログラミング) · 続きを見る »

継承 (プログラミング)

継承(けいしょう、inheritance:インヘリタンス)とはオブジェクト指向を構成する概念の一つである。あるオブジェクトが他のオブジェクトの特性を引き継ぐ場合、両者の間に「継承関係」があると言われる。 主にクラスベースのオブジェクト指向言語で、既存クラスの機能、構造を共有する新たなクラスを派生することができ(サブクラス化)、そのようなクラスは「親クラス(スーパークラス)を継承した」という。具体的には変数定義や操作(メソッド)などが引き継がれる。またJavaのインタフェース継承のように機能セットの仕様のみを引き継ぐ場合もある。 一般的に、BがAを継承する場合、B is a A. (BはAの一種である)という意味的な関係(Is-a関係)が成り立つ。従って、同じふるまいを持つからと言って、意味的に無関係なクラス間に継承関係を持たせるのは適切でない場合が多い。 プロトタイプベースのオブジェクト指向言語(Self、NewtonScript等)のように「クラス」という概念を持たない場合でも、クローン元となるオブジェクトを指して「継承」と呼ぶ。 継承と類似の概念に「委譲」があるが、継承では一度定まった継承関係は通常変更されないのに対して、委譲対象は必要に応じて変更されうるものである。 Is-a関係を持つ継承とは階層が異なる概念として集約 (aggregation) とコンポジション集約 (composition) があるが、これはクラス間の関係がHas-aである包含関係であり、クラス間の関係は継承よりも疎である。.

C++と継承 (プログラミング) · 継承 (プログラミング)と継承 (プログラミング) · 続きを見る »

D言語

D言語(ディーげんご、D programming language)は、プログラミング言語のひとつ。C言語をベースとしABI互換を保ちつつも、テンプレートによるジェネリックプログラミングやオブジェクト指向プログラミング、関数型プログラミングなどをサポートするマルチパラダイムプログラミング言語である。.

C++とD言語 · D言語と継承 (プログラミング) · 続きを見る »

静的型付け

静的型付け(せいてきかたづけ、static typing)とは、プログラミング言語で書かれたプログラムにおいて、変数や、サブルーチンの引数や返り値などの値について、その型が、コンパイル時など、そのプログラムの実行よりも前にあらかじめ決められている、という型システムの性質のことである。 また、そのような性質の言語を、静的型付き言語(せいてきかたつきげんご、statically typed language)という。これに対し、型は実行時の実際の値による、というのが動的型付けである。型推論を利用していて、構文上は型の記述が省略可能な言語もあるが、そういった言語も静的型付けである(MLなど)。 一口に静的型と言ってもその実体は言語により様々である。手続き型のオブジェクト指向言語の多くでは、静的に型が付いていても、キャストなどによりインスタンスの妥当性は保証されない。より制限の強い言語であっても、ミュータブルな値により不正参照などのリスクが残されている。また静的型でもリフレクションを多用する設計を行なうと、実質的に動的型とほとんど変わらないスタイルになることから、静的と動的の境目は必ずしも明確でない場合があるといえる。 一般的な傾向として、大規模プログラミングやシステム記述用の言語は静的な型付けを行なうものが多い。.

C++と静的型付け · 継承 (プログラミング)と静的型付け · 続きを見る »

Java

Java(ジャバ)は、狭義ではプログラミング言語Javaを指す。広義では言語仕様以外にも、仕様が与えられているJavaクラスライブラリやJava仮想マシン、さらにはJDKやJREなどの公式のものをはじめとする、場合によってはサードパーティのものなどを含め曖昧にJavaプラットフォームと総称されるようなものなどのエコシステムなどを指すこともある。構文についてはJavaの文法の記事を参照。.

C++とJava · Javaと継承 (プログラミング) · 続きを見る »

Simula

SIMULA(シミュラ; SIMUlation LAnguage)は、オルヨハン・ダールとクリステン・ニガードによってALGOL60を拡張する形で1960年代に開発が始められたシミュレーション用途のプログラミング言語である。 ALGOLのbegin...

C++とSimula · Simulaと継承 (プログラミング) · 続きを見る »

上記のリストは以下の質問に答えます

C++と継承 (プログラミング)の間の比較

継承 (プログラミング)が30を有しているC++は、151の関係を有しています。 彼らは一般的な13で持っているように、ジャカード指数は7.18%です = 13 / (151 + 30)。

参考文献

この記事では、C++と継承 (プログラミング)との関係を示しています。情報が抽出された各記事にアクセスするには、次のURLをご覧ください:

ヘイ!私たちは今、Facebook上です! »