タグ

ブックマーク / www.javaroad.jp (2)

  • Javaの道:クラス(14.abstract)

    概要 abstractはクラス・メソッド宣言時に付与し、クラス・メソッドを抽象クラス(abstractクラス)・抽象メソッド(abstractメソッド)として宣言します。抽象クラスはそのクラス自身のインスタンスを生成することはできません。通常抽象クラスは実装のないいくつかの抽象メソッドを持っています。抽象クラスをサブクラスで継承し、そのサブクラス内で抽象クラスで実装されていない抽象メソッドを実装(オーバーライド)しインスタンスを生成します。 抽象クラス、抽象メソッドは、ある事象の共通となるフレーム部分を定義し、具体的な処理は継承したサブクラスで実装したい場合に使用します。例えば、「自動車」クラスを構成する要素として「エンジン」、「ブレーキ」、「ハンドル」があります。「エンジン」、「ブレーキ」、「ハンドル」は車種によって異なるので「自動車」クラスの中では定義しません。 その場合は「自動車」ク

    Javaの道:クラス(14.abstract)
  • Javaの道:クラス(9.オーバーライドとオーバーロード)

    オーバーライド オーバーライドとはスーパークラスにおいて定義されているメソッドを、サブクラス内で再定義することを言います。スーパークラスのメソッドを変更することはできないが、サブクラスに特化した機能を付与したい場合に使用します。 オーバーライドを定義する際には以下の規定があります。 オーバーライドする側はオーバーライドされる側と戻り型、メソッド名、引数型、引数の数が同じでなければなりません。どれか一つでも異なる場合はオーバーライドとは見なされません。 オーバーライドされる側のメソッドに指定されるアクセスレベルより厳しい制限を持つアクセスレベルをオーバーライドする側のメソッドに付与することはできません。例えばオーバーライドされる側のメソッドにprotectedが指定されている場合、オーバーライドする側のメソッドにprivateを指定することはできません。 オーバーライドされる側のメソッドに指

    Javaの道:クラス(9.オーバーライドとオーバーロード)
  • 1