お疲れ様です!!
今日はインターフェースです!!
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
うん!!
インターフェースはよく分かったと思います!!
この調子で楽しんでいこう!!!