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

Задать свои @Override - Программирование Android

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

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

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

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

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

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

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

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

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

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

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

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
2652 / 2134 / 726
Регистрация: 12.05.2014
Сообщений: 7,450
Завершенные тесты: 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
Привет! Вот еще темы с решениями:

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

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

Как в Joomla 3 задать свои стили отдельному материалу?
Есть конкретный материал. К нему надо привязать css стили. Т.е, надо, чтобы...

Наследование от DataGridView. Как задать свои значения по умолчанию для стилей ячеек и др свойств?
Всем привет. Я хочу создать контрол унаследованный от DataGridView. Весь...


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

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

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