TECH I.S.

Java 抽象化


抽象クラスとメソッド

データの抽象化は、特定の詳細を隠し、重要な情報のみをユーザーに表示するプロセスです。 抽象化は、抽象クラスまたインターフェイスのいずれかを使用して実現できます (こちらについては、次の章で詳しく説明します)。

abstractは、クラスとメソッドに使用される非アクセス修飾子です。
  • 抽象クラス:オブジェクトの作成には使用できない制限付きクラスです (アクセスするには、別のクラスから継承する必要があります)。
  • 抽象メソッド:抽象クラス内でのみ使用でき、本体はありません。本体はサブクラスによって提供されます(継承されます)。

抽象クラスには、抽象メソッドと通常のメソッドの両方を含めることができます。

abstract class Animal { public abstract void animalSound(); public void sleep() { System.out.println("Zzz"); } }

上の例から、Animalクラスのオブジェクトを作成することはできません。

Animal myObj = new Animal(); // will generate an error

抽象クラスにアクセスするには、別のクラスから継承する必要があります。ポリモーフィズムの章で使用した Animalクラスを抽象クラスに変換しましょう。


継承の章で、クラスから継承するためにextendsを使用することを思い出してください。


// Abstract class abstract class Animal { // Abstract method (does not have a body) public abstract void animalSound(); // Regular method public void sleep() { System.out.println("Zzz"); } } // Subclass (inherit from Animal) class Pig extends Animal { public void animalSound() { // The body of animalSound() is provided here System.out.println("The pig says: wee wee"); } } class Main { public static void main(String[] args) { Pig myPig = new Pig(); // Create a Pig object myPig.animalSound(); myPig.sleep(); } }

自分で試してみる»

抽象クラスとメソッドを使用する理由と時期セキュリティを実現するには
オブジェクトの特定の詳細を非表示にし、重要な詳細のみを表示します。
ノート:抽象化は、インターフェースを使用して実現することもできます。こちらについては、次の章で詳しく説明します。



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細