関連記事 ⇒ さくらのマネージドサーバに変更することに

5月 172011
 

プリミティブ型

もともと原始的なとか、未発達のと言う意味
プリミティブ

派生クラス
サブクラスのこと

スーパークラスのことは、baseクラス、基底クラスと呼んだりもする。

[note]
サブクラス (計算機科学)
オブジェクト指向プログラミングにおいて サブクラスとはそのスーパークラスのいくつかのプロパティを継承するクラスのことである。
プログラマは普通、そのクラスをスーパークラスの「一種」であるものとして、例えば「マンクスは猫の一種である」または「正方形は長方形の一種である」などとして、サブクラスのことを考える。
猫には毛が生えており、四本の脚と尻尾がある
マンクス猫は尻尾を持たないが、上記にあるほか全ての特徴を持っている
長方形は長さがwとhの四つの辺を持つ。
正方形は長方形の特徴すべてを持ち、加えて w = h である
このように、サブクラスはスーパークラスのより具体的な種類となる。サブクラスは、たとえ数種の猫は尻尾を持たなくても、猫の状態はすべての猫について一般的に当てはまることに関しての事実となる。またすべての長方形は四つの辺を持つが、正方形はすべての辺の長さが同一であるというより限られた特徴を持つ。
サブクラス-スーパークラス間の関係がクラス-インスタンス間との関係とに混同しないこと。「猫のインスタンス」は「ある特定の猫」を参照する。ここで述べているマンクス猫はいまだにクラスである。つまり、マンクス猫の多くのインスタンスが存在する。特定の猫(猫クラスのインスタンス)が狐によって尻尾を噛みつかれたならば、猫クラスは変わらないだろう。まさにその特定の猫が変わるだけである。
サブクラスとスーパークラスはしばしば、C++開発者ビャーネ・ストロヴストルップによって作られた造語として、それぞれ派生(derived)クラス、基底(base)クラスと呼ばれる。彼は伝統的命名法よりもより直感でこれらの造語を見いだした。[1]

[/note]

[note]

プリミティブ型
プリミティブ型(プリミティブがた)とは、計算機科学において、プログラミング言語によって提供されるデータ型であり基本的な要素である。対する語は複合型という。言語やその実装に依存して、プリミティブ型がコンピュータメモリ上のオブジェクトと一対一対応のときもあれば、そうでないときもある。組み込み型もしくは基本型とも呼ぶ。プリミティブ型の種類は、使用されているプログラミング言語に依存する。例えばC言語では、文字列は複合データ型だが、BASICやその派生言語ではプリミティブ型である。
代表的なプリミティブ型を一部列挙:
文字型 (character, char);
整数型 (integer, int, short, long, byte)(各種の精度のものがある);
浮動小数点数 (float, double, real, double precision);
固定小数点数 (fixed) (各種の固定精度やスケール指定可能なものがある)。
真値と偽値をもつブーリアン型(ブール代数)。
参照型 (ポインタまたはハンドルとも言われる)、オブジェクトを参照する小さな値で、そのオブジェクト自身よりも大きな容量のオブジェクトも扱える。

複合型
単純型と複合型 [編集]
詳細は「プリミティブ型」、「複合データ型」をそれぞれ参照
単純型とはプログラミング言語の仕様に元から存在する型である。組み込み型、原始型、プリミティブ型、基本型などと呼ばれることもある。それに対し複合型とは、プログラマ(ライブラリ作者を含む)がソースコードの記述などにより新たに作る型である。複合データ型、ユーザ型、ユーザー定義型、参照型、リファレンス型などとも呼ばれる。
ある型が単純型か複合型かは言語仕様に依存する。たとえば文字列型は多くの言語で単純型だがC++ではライブラリで提供される複合型である。また、全てのプログラミング言語が複合型を作る機能を有するわけではない。
複合型はデータ構造などにより次のような種類がある。
抽象データ型
構造体
クラス
インターフェース
共用体
列挙型
単純型の例 [編集]
すでに述べたとおり、言語によっては複合型となる。
文字型/文字列型
文字型 – C/C++などでは数値型の一種で、文字を文字として扱う特別な単純型はない。
文字列型 – 特に文字列型を設けず、文字型の配列で文字列を表すプログラミング言語もある(例:C/C++)。逆に文字型を設けず、文字列型しかない言語もある(例:Visual Basic バージョン6まで)。
数値型 – 精度とサイズのトレードオフがあるため、サイズと精度が異なるだけの複数の型を持つ言語が多い。
整数型 – 整数を扱う型。
符号付き整数型 – 負整数も扱える。一般に整数型は符号付きだが、符号付き整数型と符号なし整数型を別に持つ言語もある。
符号なし整数型 – 非負整数(0か正整数)のみを扱える。
実数型 – 実数を扱う型だが、厳密に無理数や超越数を正しく扱えるわけではない。(理由は下の各項目を参照のこと。)
浮動小数点数
固定小数点数
十進型 – 通過型、金額型とも。金額を扱う場合などに適している。
論理型 – ブーリアン型、ブール型とも。多くの言語では真偽2値のみを扱うが、3値論理を扱う言語もある。
日付型 – 日付や時刻を扱う型。日付を扱う型と時刻を扱う型が別々の場合もある。
バイナリ型 – バイナリデータを扱う型。言語によってはバイナリ型を持たずに数値型の配列(例えばCでは1バイト整数型の配列)で表現する場合がある。固定長バイナリと可変長バイナリに分かれている言語もある。
関数型 – 第一級関数を持つプログラミング言語では、関数を値として扱うことができる。
ポインタ型 – 参照型、ハンドル型、オブジェクト型などとも。ポインタ型と呼ぶ場合はポインタ演算の存在を期待されていることが多い。内部表現はアドドレスを表す整数型であることが多い。
配列型、関数型、ポインタ型はそれぞれ「?型の配列」、「…型を引数に取り?型を返す関数」、「?型へのポインタ」などと表現し、基にする型がしばしば存在する。そのためCとC++ではこれらを一括りにして「?型の派生型」と分類している。

[/note]

参考 ウィキペディア

Sorry, the comment form is closed at this time.

関連記事はこちら

関連記事はこちら

■関連記事 ⇒ さくらのマネージドサーバに変更することに






じゃらん Web サービス Supported by 楽天ウェブサービス