抽象クラス
Abstract Class
ちゅうしょうくらす
それ自体からはインスタンスを生成できず、サブクラスに継承させることを前提に定義するクラス。処理の中身を持たない抽象メソッドを含み、サブクラスがそのメソッドを実装(オーバーライド)する。共通の操作の枠組みを抽象クラスで定め、具体的な処理をサブクラスごとに変えることで多相性を実現する。
Related
他の資格での定義
Past Exams
過去問での出題
過去問で 2 回出題(応用情報技術者試験 1・データベーススペシャリスト試験 1)
出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。用語名で照合しているため、関係の薄い問題が含まれることがあります。
Related
関連キーワードの用語
オブジェクト指向で、複数のクラスに共通する性質(属性や操作)を取り出して、上位のクラス(スーパークラス)として定義すること。下位のクラスは上位のクラスの性質を継承し、「is-a」(〜は…の一種である)の関係になる。逆に、上位のクラスに固有の性質を加えて下位のクラスを定義することを特化という。
オブジェクト指向で、上位のクラス(スーパークラス)の性質を受け継いだうえで、固有の属性や操作を加えて下位のクラス(サブクラス)を定義すること。汎化の逆の関係で、下位のクラスは上位のクラスの一種(is-a)となる。例えば「社員」クラスを特化して「営業社員」クラスを定義する。
継承(汎化)の関係で、複数のクラスに共通する属性やメソッドを定義し、下位のクラスに引き継がせる上位のクラス。基底クラスや親クラスともいう。スーパークラスを継承して定義する下位のクラスをサブクラスといい、両者は「サブクラスはスーパークラスの一種である」(is-a)の関係になる。
継承(汎化)の関係で、上位のクラス(スーパークラス)の属性やメソッドを引き継いで定義する下位のクラス。派生クラスや子クラスともいう。引き継いだ内容に独自の属性やメソッドを加えたり、メソッドを再定義(オーバーライド)したりできる。
オブジェクト指向で、複数のクラスに共通する性質を取り出して上位のクラス(スーパークラス)にまとめること、またはそのクラス間の関係。「AはBの一種である」というis-aの関係を表し、UMLでは白抜きの三角形の矢印で示す。逆向きにみると特化となる。
データとそれを操作する手続(メソッド)を一体にしたオブジェクトを単位として対象を捉え、ソフトウェアを組み立てる考え方。共通の性質をもつオブジェクトをクラスとして定義し、カプセル化(内部構造の隠蔽)、継承(性質の引継ぎ)、多相性(ポリモーフィズム)を基本概念とする。分析・設計・プログラミングの各工程に適用され、それぞれオブジェクト指向分析、オブジェクト指向設計、オブジェクト指向プログラミングと呼ぶ。
