スーパークラス
【英】super class
スーパークラスとは、オブジェクト指向においてクラスの親子関係が成り立つ場合の親側のクラスのことである。
スーパークラスは、狭義には、継承関係が成り立つ場合の継承元クラスを指すが、モデリングにおける概念表現である汎化を実現する手段の一つとして継承があることから、広義には汎化と特化の関係が成り立つ場合の汎化側のクラスを指すこともある。
スーパークラスを継承することで、スーパクラスの特性を含みつつ、継承先クラス(サブクラス)の独自の特性を付与することができる。ただし、継承は依存関係を引きずるため、クラス設計が不適切であった場合は、スーパークラスを継承したサブクラスの機能が破綻することも多い。このため、依存関係で成り立つ集合オブジェクトの枠を超えるような場合は、継承関係ではなく集約関係が推奨される。
なお、C++やMicrosoftの.NET系言語(VB.NET、C#)などにおいてはスーパークラスではなく基底クラスと呼ぶことが一般的である。
- superclassのページへのリンク