【Ruby3.x】Class::superclass()メソッドの使い方
superclassメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
Class#superclassメソッドは、指定されたクラスの直接の親クラス、すなわちスーパークラスを取得するメソッドです。
Rubyのクラスが持つ「継承」の仕組みにおいて、あるクラスが別のクラスの特性や振る舞いを受け継ぐ際、このメソッドはその関係を確認します。これは、現在のクラスがどの親クラスから派生したかを確認するために使用されます。
戻り値は、通常、親クラスを表すClassオブジェクトです。例えば、Stringクラスのsuperclassを呼び出すとObjectクラスが返されます。ただし、すべてのクラスに親クラスが存在するわけではありません。Rubyのクラス階層の最上位に位置し、それ以上親クラスを持たない「ルートクラス」(ObjectやBasicObjectなど)の場合はnilを返します。また、このメソッドはクラス専用であるため、モジュールに対して呼び出した場合もnilを返します。
このメソッドは、プログラムの実行中にクラスの継承構造を動的に調べたり、特定のクラスの階層を確認したりする際に有用です。
構文(syntax)
1String.superclass
引数(parameters)
引数なし
引数はありません
戻り値(return)
Class | nil
このメソッドは、そのクラスが直接継承している親クラスを返します。もしそのクラスがどのクラスも継承していない(Objectクラスを継承している)場合はnilを返します。