23日目(2025.02.22) インターフェース



お疲れ様です!!

今日はインターフェースです!!
Tim先生に教わった時にそこそこ理解できた自信がありましたが、自分の自信ほど信用ならないものはないと思っているので、菅原先生の元、再度勉強です!!

【インターフェースの特徴】

★定数と抽象メソッドのみを定義できるクラスのテンプレート
★インターフェースを実装したクラスでは全てのメソッドの処理を定義する。
★インターフェースは複数実装できる。

【継承との違い】

継承は、スーパークラスから枝を張るというイメージ

メソッドを使えるのは継承関係にあるクラスのみ

インターフェース(実装)は、クラスに色を塗るイメージ

抽象関係にない複数のクラスに同じメソッドを持たせる。

(コード例)

【Interfaceクラス】
public interface Englishable{
String LANGUAGE = “[英語]”;
void displayEng();


インターフェース「Englishable」では、
定数 LANGUAGE(定数なので大文字)

メソッドdisplay()を定義(具体的な処理は書かない)

【Studentクラス】
public class Student implements Englishable{

private String name;

public Student(String name){
this.name = name;
}

public void display(){
System.out.println(“名前: ” + name);
}

public void displayEng(){
System.out.println(Englishable.LANGUAGE);
System.out.println(“Name: ” + name);
}

【Baseballクラス】
public class Student implements Englishable{

public void display(){
System.out.println(“キャッチボール”);
System.out.println(“シートノック”);
System.out.println(“バッティング”);
}

public void displayEng(){
System.out.println(Englishable.LANGUAGE);
System.out.println(“catch ball”);
System.out.println(“seat knock”);
System.out.println(“batting practice”);
}


【実行クラス】

Student stu = new Student(“Broken jr.”);
stu.displayEng();

Baseball bb = new Baseball();
bb.displayEng();




【英語】
Name : Broken jr.
【英語】
catch ball
seat knock
batting practice


うん!!
インターフェースはよく分かったと思います!!

この調子で楽しんでいこう!!!



コメントを残す