Interface и абстрактные классы
Interface и абстрактные классы
Объясните пожалуйста (или ссылку дайте) для чего нужны интерфейсы и абстрактные классы. Я как понимаю если я создаю интерфейс и класс реализующий этот интерфейс то в моем классе должны быть переопределены все методы из интерфейса?
Re: Interface и абстрактные классы
да ты прав, например мне понадобился только интерфейс от абстрактного класса отличается тем что, в абстрактном классе могут быть реализованны некоторые методы, а в интерфейс только их обозначения, а вот пример, например я не могу листенеру передать отедльный edittext, так что я например сделал общий принцип кода написал, а вот считывание информации с edittext'а я реализовал уже там где этот сам edittext используется
onTimePickerListner
и уже в самом TimePicker'e реализуем этот метод
onTimePickerListner
Код: Выделить всё
public abstract class onTimePickerListener {
public void onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN && getText().length() != 0) {
//что то делаем
}
}
public abstract String getText();
}
Код: Выделить всё
onTimePickerListener listener = new onTimePickerListener() {
String getText() {
return myEditText.getText().toString();
}
};
Re: Interface и абстрактные классы
спасибо, но все равно не очень понимаю зачем обработку нажатия надо было делать в абстрактном классе? В вашем классе нельзя было эту обработку написать? или просто в обычном любом другом классе
Re: Interface и абстрактные классы
а если у тебя будет 10 классов наследников то что в каждом классе писать отдельно один и тот же код обработки нажатия?
CEO of a company R.id.team
Re: Interface и абстрактные классы
Почитайте основы ООП в Java. В принципе почти любая книга по джаве, там все объясняется.
Еще добавлю, что при помощи интерфейсов в джаве осуществляется множественное наследование, которое нельзя осуществить при помощи классов (абстрактных в том числе)
Еще добавлю, что при помощи интерфейсов в джаве осуществляется множественное наследование, которое нельзя осуществить при помощи классов (абстрактных в том числе)