Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Antarit
0 / 0 / 0
Регистрация: 03.08.2014
Сообщений: 9
#1

Как можно узнать может ли супер класс кастануться в субкласс - Программирование Android

01.02.2016, 16:46. Просмотров 273. Ответов 9

В общем, у меня есть класс Диета, который состоит из Рационов, которые состоят из приемов пищи, которые состоят из продуктов и все они наследуются от абстрактного класса, который содержит в себе методы по вычислению калорий и нутриентов(белки, жиры, углеводы) получается своего рода многомерный массив в основе которого лежит продукт. Так вот сейчас у меня только 2 вопроса, 1-ый главный ибо я хочу сейчас приложеньку которая сделает то, что я от нее ожидаю, второй для развития:
1. Как получить бульку, которая вернет тру, если абстрактный класс кастуется в продукт и фолс если не кастуется.
2. Есть ли какой-то паттерн проектирования таких классов, которые по сути являются массивами массивом в основе которых лежит 1 класс и по его данным вычисляются данные для остальных, то есть во так примеру калорийность приема пищи зависит от совокупности калорийности продуктов которые в него входят, точно так же для рациона калорийность вычисляется из калорийности приемов пищи...
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.02.2016, 16:46     Как можно узнать может ли супер класс кастануться в субкласс
Посмотрите здесь:
Android Как можно вызывать один класс в разных activity?
Android Можно ли программно узнать заблокирован ли экран у смартфона\планшета и разблокировать его
Android Можно ли в студии узнать какие файлы из лежащих в папках проекта не участвуют в компиляции?
Android Как андроид может измерять уровень шума?
Разъясните гуру как такое может быть! Android
Android Как узнать имя Активити?
Как узнать версию приложения? Android
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
01.02.2016, 17:16     Как можно узнать может ли супер класс кастануться в субкласс #2
Antarit,
Java
1
abstractObject instanceof Product
Lumber
96 / 96 / 37
Регистрация: 02.12.2015
Сообщений: 236
01.02.2016, 20:05     Как можно узнать может ли супер класс кастануться в субкласс #3
Цитата Сообщение от Antarit Посмотреть сообщение
если абстрактный класс кастуется в продукт
А разве такое может быть? По-моему тут всегда false будет.
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
01.02.2016, 20:23     Как можно узнать может ли супер класс кастануться в субкласс #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Lumber, ну если я правильно понял ТСа, то ситуация следующая.

Java
1
2
3
public class Abstacted {}
 
public class Product extends Abstracted {}
и если

Java
1
Abstracted p = new Product();
тогда
Java
1
p instanceof Product  //true
Antarit
0 / 0 / 0
Регистрация: 03.08.2014
Сообщений: 9
01.02.2016, 21:14  [ТС]     Как можно узнать может ли супер класс кастануться в субкласс #5
YuraAAA, меня поняли) спасибо тебе, что понял меня) а так у меня ваще страшная фигня тварится и я таки жду что кто-нить подскажет паттерн который исправит этот бред) короче у меня есть класс DietType типо диетический тип и он содержит поля Белки, жиры, углеводы, калории и ArrayList в который я запихиваю его составляющие, то есть класс Diet состоит из 7-ми объектов Ration, который в свою очередь состоит из n-го количества Meal, который в своб очередь состоит из 2х-3х FoodItem котоырй в свою очередь содержит 1 FoodProduct из базы данных) и вот все эти классы кроме FoodProduct который я считываю из базы являются наследниками этого абстрактного DietType который рекурсивно считывает все эти белки, жиры углеводы и калории из массиво в массиве) корчое меня уже бомбит от этого всего и я хз че делать)
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
01.02.2016, 21:26     Как можно узнать может ли супер класс кастануться в субкласс #6
Antarit, да, похоже, что Вы что-то перемудрили. Если это не тайна, покажите Ваши классы. Вы используете ORM или делайте запросы вручную?
Lumber
96 / 96 / 37
Регистрация: 02.12.2015
Сообщений: 236
01.02.2016, 22:19     Как можно узнать может ли супер класс кастануться в субкласс #7
Antarit, а с какой целью надо проверять каким именно подклассом является каждый элемент? Ведь DietType позволяет белки, жиры, углеводы, калории получить.
Antarit
0 / 0 / 0
Регистрация: 03.08.2014
Сообщений: 9
01.02.2016, 23:25  [ТС]     Как можно узнать может ли супер класс кастануться в субкласс #8
Цитата Сообщение от YuraAAA Посмотреть сообщение
Antarit, да, похоже, что Вы что-то перемудрили. Если это не тайна, покажите Ваши классы. Вы используете ORM или делайте запросы вручную?
YuraAAA, эммм что такое ORM? я использую SQLiteAssetsHelper и наделал провайдеры чтоли которые достают из таблиц данные и запихивают в структуры и некоторые из этих провайдеров сохраняют данные) так что ваще без понятия что у меня происходит.
Цитата Сообщение от Lumber Посмотреть сообщение
Antarit, а с какой целью надо проверять каким именно подклассом является каждый элемент? Ведь DietType позволяет белки, жиры, углеводы, калории получить.
эммм изначально количество белков на 100 грамм содержится в FoodProduct а FoodItem уже имеет поле масса и вычисляет сколько всего белков жиров и углеводов, и так же рекурсивно Meal вычисляет количество белков жиров и углеводов из FoodItem и так же Ration из Meal. Так вот проверяю я является ли подклассом FoodItem чтобы вызвать переопределенный в нем метод вычисления этих самых белков жиров и углеводов в соотношении с увеличением уменьшением массы продукта...

Добавлено через 5 минут
Цитата Сообщение от YuraAAA Посмотреть сообщение
Если это не тайна, покажите Ваши классы
Смогу вылезти из своей запутанности чтобы показать рабочую версию, тогда залью на гитхаб и поделюсь ссылкой, если захотите) возможно когда будет рабочий вариант вы или еще кто подскажет мне более разумный вариант исполнения моего хотения)
YuraAAA
1565 / 1307 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
01.02.2016, 23:38     Как можно узнать может ли супер класс кастануться в субкласс #9
Antarit, да, как-то закручено. Нужно подумать над упрощением иерархии
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2016, 13:53     Как можно узнать может ли супер класс кастануться в субкласс
Еще ссылки по теме:
Как узнать разрешение экрана Android
Android Как программно узнать ppi экрана?
Android ViewPager как узнать текущую View
Как узнать что приложение свернуто? Android
Как узнать mac адрес сервера Android

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

Или воспользуйтесь поиском по форуму:
Antarit
0 / 0 / 0
Регистрация: 03.08.2014
Сообщений: 9
04.02.2016, 13:53  [ТС]     Как можно узнать может ли супер класс кастануться в субкласс #10
Цитата Сообщение от YuraAAA Посмотреть сообщение
Вы используете ORM или делайте запросы вручную?
Спасибо огромное за ORM) читаю сейчас о нем и понимаю, что я жестко тупанул сразу не загуглив "че за ORM")
Yandex
Объявления
04.02.2016, 13:53     Как можно узнать может ли супер класс кастануться в субкласс
Ответ Создать тему
Опции темы

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