Interface и абстрактные классы

Ответить
hard
Сообщения: 44
Зарегистрирован: 13 сен 2013, 14:21

Interface и абстрактные классы

Сообщение hard » 20 сен 2013, 10:34

Объясните пожалуйста (или ссылку дайте) для чего нужны интерфейсы и абстрактные классы. Я как понимаю если я создаю интерфейс и класс реализующий этот интерфейс то в моем классе должны быть переопределены все методы из интерфейса?

Scotik
Сообщения: 19
Зарегистрирован: 14 авг 2013, 12:28

Re: Interface и абстрактные классы

Сообщение Scotik » 20 сен 2013, 13:12

да ты прав, например мне понадобился только интерфейс от абстрактного класса отличается тем что, в абстрактном классе могут быть реализованны некоторые методы, а в интерфейс только их обозначения, а вот пример, например я не могу листенеру передать отедльный edittext, так что я например сделал общий принцип кода написал, а вот считывание информации с edittext'а я реализовал уже там где этот сам edittext используется
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();
}
и уже в самом TimePicker'e реализуем этот метод

Код: Выделить всё

onTimePickerListener listener = new onTimePickerListener() {
            String getText() {
                   return myEditText.getText().toString();
            }
};

hard
Сообщения: 44
Зарегистрирован: 13 сен 2013, 14:21

Re: Interface и абстрактные классы

Сообщение hard » 20 сен 2013, 13:57

спасибо, но все равно не очень понимаю зачем обработку нажатия надо было делать в абстрактном классе? В вашем классе нельзя было эту обработку написать? или просто в обычном любом другом классе

Аватара пользователя
Finch
Сообщения: 439
Зарегистрирован: 16 июл 2012, 21:37

Re: Interface и абстрактные классы

Сообщение Finch » 20 сен 2013, 14:00

а если у тебя будет 10 классов наследников то что в каждом классе писать отдельно один и тот же код обработки нажатия?
CEO of a company R.id.team

tav
Сообщения: 14
Зарегистрирован: 23 авг 2013, 12:48

Re: Interface и абстрактные классы

Сообщение tav » 20 сен 2013, 17:17

Почитайте основы ООП в Java. В принципе почти любая книга по джаве, там все объясняется.
Еще добавлю, что при помощи интерфейсов в джаве осуществляется множественное наследование, которое нельзя осуществить при помощи классов (абстрактных в том числе)

Ответить