Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
1

Задать свои @Override

09.09.2014, 00:39. Просмотров 501. Ответов 9
Метки нет (Все метки)

Гуру, помогите... Еще один вопрос из серии "лень ради этого читать весь учебник"

Есть 2 класса - родитель и наследник.
Можно ли сделать так, что-бы в наследнике ОБЯЗАТЕЛЬНО были переопределены некоторые методы?
Сейчас сделал в родителе protected, а в наследниках public. Все работает, но...

Наследников у меня ОЧЕНЬ много (и будет еще больше) И некоторые методы ЗАБЫВАЮ вставлять...
А родительские изначально не подходят... Можно ли наследика "обязать" их подменивать? Как это делают интерфейсы? Вроде где-то встречал (возможно наследники вьювов)

Хотя-бы назовите название технологии - нет времени читать учебник на 300 страниц пока не дойдет - "о это именно то что я искал"!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.09.2014, 00:39
Ответы с готовыми решениями:

@Override problem
Всем привет! Наблюдаю следующую ошибку! The method onPreExecuted(Void) of...

У кого свои приложения в play market
Сколько заработали на продажах, опишите подробно.

Свои идентификаторы для элементов ListView
Как добавить свои идентификаторы в listview для элементов?

Передача в Service постоянно обновляющего свои значения объекта
Передаю в Service объект с помощью Parceble, но он сохраняет фиксированное...

Как применять свои шрифты для textView в Android?
Запихнул шрифт под именем MainFont в папку assets, и пишу код: ...

9
Netscape
374 / 361 / 52
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
09.09.2014, 00:54 2
Abstract class.
1
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
09.09.2014, 02:16  [ТС] 3
Спасибо, почитаю...
0
glnix
14 / 14 / 5
Регистрация: 08.04.2013
Сообщений: 75
09.09.2014, 08:14 4
Не совсем уверен, что правильно вас понял, но может быть так?
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
09.09.2014, 11:25 5
Tester64,

Java
1
2
3
4
5
public abstract class Parent {
 
public absract void mustBeOverridedMethod();
 
}
Java
1
2
3
4
5
6
7
8
public class Child extends Parent {
 
@Override
public void mustBeOverridedMethod() {
}
 
 
}
2
Pablito
2722 / 2165 / 735
Регистрация: 12.05.2014
Сообщений: 7,573
Завершенные тесты: 1
09.09.2014, 11:36 6
Если надо обязательно переопределять методы родителя, то почему бы не делать все через интерфейсы?
Какой смысл писать метод в родителе, что бы потом его обязательно переопределить в наследнике?
0
YuraAAA
1578 / 1319 / 282
Регистрация: 25.10.2009
Сообщений: 3,436
Записей в блоге: 2
09.09.2014, 11:46 7
Паблито, это зависит от того, есть ли какая-то реализация в родителе.
Допустим, есть несколько классов-модулей доступа к API. Например,

LoginModule, RegistrationModule, etc.
И у них есть родитель, который делает запрос. Отличается только endpoint. Тогда почему в AbsractModule не сделать абстрактный метод abstract String getUrl(); который будет переопределяться.
1
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
09.09.2014, 17:31  [ТС] 8
Пока не понял как...
Написал свой адаптер. getView остался в родителе "закрытым", но из него вывел 2-5 методов для переназначения.
Если хоть один из них изменил должен изменить и остльные 4е - отдельно "что выводить", "куда выводить", "вывести" и др... Если хоть одно забыл - глобальная ошбка и ищу "ПЕРЕБОРОМ" забытый метод во всех наследниках... А хотелось бы что-бы без этого не компилировалось - выдавало ошибку на упущенных наследниках... Просто замечал что иногда некоторые классы без @Override не работают даже без интерфесов. Но либо не могу вспомнить где именно, либо нет исходников родителя...
Слово abstract НЕ помогло. Ничего похожего пока не нашел.
Можете пример привести?
0
Netscape
374 / 361 / 52
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
09.09.2014, 18:11 9
Цитата Сообщение от Tester64 Посмотреть сообщение
Слово abstract НЕ помогло. Ничего похожего пока не нашел.
Можете пример привести?
Так есть же пример выше.
Абстрактного класса мало, методы которые нужно переопределять в наследниках, должны так же быть абстрактными.
1
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
09.09.2014, 20:41  [ТС] 10
ой! пропустил как-то...
Но код не правильно сработал!
Ругается что у абстрактного метода не должно быть тела. Но без тела не будет работать предок без наследника...
0
09.09.2014, 20:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.09.2014, 20:41

Свои компоненты в Preferences для выбора времени, даты, числа, цвета
Гуру, посоветуйте... начал гуглить и везде только "полуфабрикаты"... Надо...

Как создать массив который сохраняет свои значение даже после закрытия приложения
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Как создать...

Как задать свои параметры RTF?
Подскажите пожалуйста как в RichTextBox задать текст в ртф формате по своему (с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru