Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
arvalon
21 / 6 / 2
Регистрация: 26.10.2012
Сообщений: 179
Записей в блоге: 1
#1

Шаблон Абстрактная фабрика в Android Studio

15.08.2016, 13:06. Просмотров 455. Ответов 5
Метки нет (Все метки)

Доброго дня
Пытаюсь разобраться как проектировать шаблон Абстрактная фабрика и похоже что-то идёт не так. За основу взял пример из сети с созданием классов Маг, Лучник и Воин. Решил перенести всё это в среду:


Java
1
2
3
4
5
6
7
package ru.arvalon.abstractfactory;
 
public abstract class SquadronFactory {
    public abstract Mage createMage();
    public abstract Archer createArcher();
    public abstract Warrior createWarrior();
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package ru.arvalon.abstractfactory;
 
interface Mage {
    public void cast();
}
interface Archer {
    public void shoot();
}
interface Warrior {
    public void attack();
}
 
public class ElfSquadronFactory extends SquadronFactory {
    @Override
    public Mage createMage() {
        return new ElfMage();
    }
 
    @Override
    public Archer createArcher() {
        return new ElfArcher();
    }
 
    @Override
    public Warrior createWarrior() {
        return new ElfWarrior();
    }
}
class ElfMage implements Mage {
    @Override
    public void cast() {
    }
}
class ElfArcher implements Archer {
    @Override
    public void shoot() {
    }
}
class ElfWarrior implements Warrior {
    @Override
    public void attack() {
    }
}
Клиент
Java
1
2
3
4
5
public void createSquadron (SquadronFactory facrory){
        Mage mage=facrory.createMage();
        Archer archer=facrory.createArcher();
        Warrior warrior=facrory.createWarrior();
    }
IDE говорит мне что класс ElfSquadronFactory вообще не используется, подсвечивается серым. Хожу по кругу диаграммы классов из учебников.

Не могу понять что не так. Подскажите пожалуйста.
0
Миниатюры
Шаблон Абстрактная фабрика в Android Studio  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.08.2016, 13:06
Ответы с готовыми решениями:

Android studio шаблон GoogleMap Activity
Создал шаблон гугл карт. В value есть файл google_maps_api.xml(debug)// ...

(Android studio, java) Ошибка при импорте библиотеки cannot resolve symbol android studio
Вот библиотека https://github.com/mik3y/usb-serial-for-android. Устанавливал...

Не предлагается установка Android SDK при установке Android Studio
на сайте https://developer.android.com/studio/... скачал exeшник для...

Android studio, как запускать программу сразу на android смартфоне подключенному к usb?
android studio, как запускать программу сразу на android смартфоне...

Ошибка в Android Studio Error:No resource identifier found for attribute 'appComponentFactory' in package 'android'
Доброго времени суток! При компиляции андроид приложении выходит данная...

5
petruchodd
16.08.2016, 03:56
  #2

Не по теме:

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

0
vxg
Модератор
3236 / 2040 / 319
Регистрация: 13.01.2012
Сообщений: 7,898
16.08.2016, 07:19 #3
petruchodd, думаю задача учебная, если работали в этой теме киньте подсказку человеку
1
Valakin
431 / 97 / 15
Регистрация: 21.02.2015
Сообщений: 736
16.08.2016, 08:45 #4
Цитата Сообщение от arvalon Посмотреть сообщение
Не могу понять что не так
1 код не весь,
Цитата Сообщение от arvalon Посмотреть сообщение
ElfSquadronFactory вообще не используется, подсвечивается серым
значит надо использовать, если нужен
2 если не андроид, то лучше спрашивать в ветке java (больше аудитория)
1
arvalon
21 / 6 / 2
Регистрация: 26.10.2012
Сообщений: 179
Записей в блоге: 1
17.08.2016, 11:22  [ТС] #5
Цитата Сообщение от petruchodd Посмотреть сообщение
но код я стырил
Как плохо так думать о людях. Это нагугленный пример из сети, показавшийся мне простым и на Java. Проблема в том что большая часть примеров шаблонов, что встречается в сети, написана на плюсах и какие-то уж очень абстрактные. Пример - на страничке в вики, ссылка в пером сообщении, откуда взята картинка диаграммы классов. Java-код там не мог осилить.

Цитата Сообщение от Valakin Посмотреть сообщение
код не весь,
Да, поправил, нашёл ошибки

Цитата Сообщение от Valakin Посмотреть сообщение
если не андроид, то лучше спрашивать в ветке java (больше аудитория)
Я думал куда написать, в Java или Android, ошибся, да.
0
petruchodd
129 / 126 / 22
Регистрация: 23.06.2009
Сообщений: 690
18.08.2016, 01:02 #6
Если вы пишите код , к отором не разбираетесь - лучше подумать , а стоит ли писать его. Например из-за интерфейсов я вижу перевод простого кода в сложный. Поэтому я и поставил "не по теме" . Простейшая фигня делается легко и обычными класами. Грубо говоря в вашем случае - у вас должен быть класс warrior которые наследуется от к примеру ClassWarrior. Вам проще попробовать по простому и спросить у нас (это не только андроид но и джава) что не так тут . Кароче 1+1 вы переделали в сложную функцию. За такое руки бить нужно.
0
18.08.2016, 01:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2016, 01:02

Android.support.v4.app.FragmentActivity не работает в Android Studio
объясните пожалуйста,как в андроид студио добавить вышеуказанную...

Выбор мощного android смартфона до 10 рублей, для тестирования проектов Android Studio, что посоветуете?
Какую фирму посоветуете?

Запуск игры mr.Nom через Android Studio (по книге марио цехнер программирование игр под android)
Привет всем! Для тех кто читал книгу - в конце 6ой главы мы закончили писать...


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

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

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