継承
| 日本語 | 遺伝 |
| 英語 | inheritance |
| ふりがな | けいしょう |
| フリガナ | ケイショウ |
あるクラスの機能を受け継いだクラスを作る機能。
extendsを使用して、すでに存在するクラスにメソッドやフィールドを追加したクラスを作ることができる。これが「継承」という機能である。
継承の「親」、つまり元々あるクラスを「スーパークラス」と呼ぶ。また、継承の「子」、つまり新たに作ったクラスを「サブクラス」と呼ぶ。
継承は、元々あるクラスに機能を継ぎ足すことができるが、その方法で使用するとクラスの肥大化等の問題があるため、単なる機能追加のために継承を使用するべきではない。
継承の真骨頂は、メソッドをオーバーライドすることで「ポリモーフィズム」を実現することにある。
extendsを使用して、すでに存在するクラスにメソッドやフィールドを追加したクラスを作ることができる。これが「継承」という機能である。
継承の「親」、つまり元々あるクラスを「スーパークラス」と呼ぶ。また、継承の「子」、つまり新たに作ったクラスを「サブクラス」と呼ぶ。
継承は、元々あるクラスに機能を継ぎ足すことができるが、その方法で使用するとクラスの肥大化等の問題があるため、単なる機能追加のために継承を使用するべきではない。
継承の真骨頂は、メソッドをオーバーライドすることで「ポリモーフィズム」を実現することにある。
参考サイト
// Sample.java
public class Sample
{
public static void main( String[] args )
{
// SubClassのインスタンスを作成します。
SubClass subClass = new SubClass();
subClass.calledFromSub();
// SuperClass#calledFromSub()
// サブクラスでも、スーパークラスのメソッドを
// 呼ぶことができます。
}
}
/**
* スーパークラス。
*/
class SuperClass
{
/**
* ただの出力用メソッド。
*/
public void calledFromSub()
{
System.out.println( "SuperClass#calledFromSub()" );
}
}
/**
* サブクラス。
*/
class SubClass extends SuperClass
{
// 実装はなし。
}
public class Sample
{
public static void main( String[] args )
{
// SubClassのインスタンスを作成します。
SubClass subClass = new SubClass();
subClass.calledFromSub();
// SuperClass#calledFromSub()
// サブクラスでも、スーパークラスのメソッドを
// 呼ぶことができます。
}
}
/**
* スーパークラス。
*/
class SuperClass
{
/**
* ただの出力用メソッド。
*/
public void calledFromSub()
{
System.out.println( "SuperClass#calledFromSub()" );
}
}
/**
* サブクラス。
*/
class SubClass extends SuperClass
{
// 実装はなし。
}
// Sample.java
public class Sample
{
public static void main( String[] args )
{
// SubClassのインスタンスを作成します。
SubClass subClass = new SubClass();
subClass.calledFromSub();
// SuperClass#calledFromSub()
// サブクラスでも、スーパークラスのメソッドを
// 呼ぶことができます。
}
}
/**
* スーパークラス。
*/
class SuperClass
{
/**
* ただの出力用メソッド。
*/
public void calledFromSub()
{
System.out.println( "SuperClass#calledFromSub()" );
}
}
/**
* サブクラス。
*/
class SubClass extends SuperClass
{
// 実装はなし。
}




