【Android】シロのステップアップインタフェースと抽象クラスの使用
1487 ワード
1、インタフェース類interface
インタフェースの定義:
他の人が使用できる方法で、インタフェースには方法の定義だけが実現されていません.
Android clickの傍受を例に挙げます.
定義:
次の操作を行います.
2、抽象類abstract
定義:
抽象メソッドを含むクラスを抽象クラスと呼び,抽象メソッドとインタフェースは実装されていないメソッドを指す.
インタフェースと抽象クラスの違い:
a、インタフェースは公開されており、プライベートな方法や変数はなく、他の人に使用させるために使用されています.抽象クラスには、プライベートメソッドまたはプライベート変数があります.
b、インタフェースを実現するには、インタフェースで定義されたすべての方法を実現しなければならない. 抽象クラスを実装するには、必要な方法を選択的に書き換えることができます.
c、1つのクラスは複数のインタフェースを実現することができる. 1つのクラスは1つのスーパークラスしか継承できません(abstract)
例:
定義:
実装:
refer:
https://blog.csdn.net/it_zjyang/article/details/51417001
インタフェースの定義:
他の人が使用できる方法で、インタフェースには方法の定義だけが実現されていません.
Android clickの傍受を例に挙げます.
定義:
public class MyButton {
private OnMyClickListener myClickListener ;
public interface OnMyClickListener{
void onClick(String s);
}
//
public void setOnMyClickListener( OnMyClickListener onMyClickListener){
this.myClickListener = onMyClickListener ;
}
private void whenButtonClick(){
myClickListener.onClick("test...");
}
}
次の操作を行います.
MyButton myButton = new MyButton(this);
myButton.setOnMyClickListener(new MyButton.OnMyClickListener() {
@Override
public void onClick(String s) {
}
});
//
myButton.whenButtonClick();
2、抽象類abstract
定義:
抽象メソッドを含むクラスを抽象クラスと呼び,抽象メソッドとインタフェースは実装されていないメソッドを指す.
インタフェースと抽象クラスの違い:
a、インタフェースは公開されており、プライベートな方法や変数はなく、他の人に使用させるために使用されています.抽象クラスには、プライベートメソッドまたはプライベート変数があります.
b、インタフェースを実現するには、インタフェースで定義されたすべての方法を実現しなければならない. 抽象クラスを実装するには、必要な方法を選択的に書き換えることができます.
c、1つのクラスは複数のインタフェースを実現することができる. 1つのクラスは1つのスーパークラスしか継承できません(abstract)
例:
定義:
public abstract class CollegeStudent {
abstract void canDO() ;
}
実装:
public class CollegeStudentInMathmatics extends CollegeStudent {
@Override
void canDO() {
}
}
refer:
https://blog.csdn.net/it_zjyang/article/details/51417001