この記事では、Javaの継承がスーパークラスとサブクラスの間に「IS-A」関係を持っている方法を説明し、サブクラスがスーパークラス機能を継承してカスタマイズできるようにします。多型を使用することにより、サブクラスは独自の動作を定義し、オブジェクト指向プログラミングのコードの再利用と柔軟性を可能にします。
Javaでは、継承におけるスーパークラス(親クラス)とサブクラス(子クラスまたは派生クラス)の関係は、サブクラスが機能を継承するスーパークラスの特殊なバージョンであることを意味するIS-A関係です(制限は制限があります(CSU Global、n.d)から派生したクラスの適用されます。言い換えれば、クラスBがクラスAから継承する場合、クラスBはクラスAの「A」タイプAです。この関係により、クラスBはクラスAが提供するすべての機能(制限を適用できます)を使用すると同時に、独自の追加を追加できます。特定の機能または/およびクラスAの機能の一部またはすべてをオーバーライドすることにより、子どもクラスの機能をオーバーライドする能力は、多型の一形態です。
「多型の辞書の定義とは、生物または種が多くの異なる形態または段階を持つことができる生物学の原則を指します。この原則は、Java言語のようなオブジェクト指向のプログラミングや言語にも適用できます。クラスのサブクラスは、独自の動作を定義できますが、親クラスの同じ機能の一部(Java™チュートリアル、n.d。)は、共通のスーパークラスタイプを共有する異なるサブクラスの複数のオブジェクトを扱う場合に特に有益です。
例:犬、猫、フクロウは動物です:
superclass
public class Animal { public void makeSound() { System.out.println("Makes a Sound"); } }
動物のサブクラス
public class Domesticated extends Animal { public void friendly() { System.out.println("This animal is friendly."); } }
飼いならされた
のサブクラス
public class Undomesticated extends Animal { public void notFriendly() { System.out.println("This animal is not friendly."); } }
飼いならされた
のサブクラス
public class Cat extends Domesticated { @Override public void makeSound() { System.out.println("Meow"); } }
undoMonticatedのサブクラス
public class Owl extends Undomesticated { @Override public void makeSound() { System.out.println("Hoots"); } }
結果を出力するメインクラス
public class inheritanceExample { public static void main(String[] args) { Dog myDog = new Dog(); Cat myCat = new Cat(); Owl redOwl = new Owl(); System.out.println("MY Dog:"); myDog.makeSound(); // Outputs: Bark myDog.friendly(); // Outputs: This animal is friendly. System.out.println(); System.out.println("My Cat:"); myCat.makeSound(); // Outputs: Meow myCat.friendly(); // Outputs: This animal is friendly. System.out.println(); System.out.println("Red Owl:"); redOwl.makeSound(); // Outputs: Hoot redOwl.notFriendly(); // Outputs: This animal is not friendly. } }
注:犬と猫のクラスのmakeound()メソッドは、動物クラスのmakeound()メソッドを上書きします。
さらに、犬のクラスは、動物クラスのサブクラスである飼いならされたクラスのサブクラスです。
。「→」の子
Javaでは、サブクラスにはスーパークラスが1つしかありません。たとえば、犬のクラスにはスーパークラスが家畜化され、スーパークラスの動物がありません。
。
cus global(n.d。)。モジュール1:継承の操作[インタラクティブ講義]。コロラド州立大学Global、CSC372:プログラミングII、コンピューターサイエンス部門。キャンバス。 2024年6月8日、https://csuglobal.instructure.com/courses/94948/pages/module-1-- overview?module_item_id = 4868813
から取得
Java™チュートリアル(n.d.)。 Java言語の学習:インターフェイスと継承。オラクル。 2024年6月8日からhttps://docs.oracle.com/javase/tutorial/java/iandi/polymorphism.htmlから取得
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3