·

Cursos Gerais ·

Linguagens de Programação

Send your question to AI and receive an answer instantly

Ask Question

Preview text

DESSISII A5 Aplicando con Tipo de evento Evento do curso Curso DESENVOLVIMENTO DE SISTEMAS II TURMA 03A 20231 Descrição Considerando as três atividades do recurso Praticando e as videoaulas do Professor Resolve reúna os diagramas feitos em um único diagrama de classes e acrescente os seguintes elementos Crie um terceiro cenário tendo como tema o fundo do oceano Neste novo cenário o animal perigoso é o tubarão branco e o animal de transporte é o cavalomarinho Faça todas as classes de fábrica serem singletons Esta atividade vale 1 ponto IR À ATIVIDADE Lembretes Padrão 1 hora antes 14 abril 2023 2259 PM DESSISII A5 Praticando 1 e Tipo de evento Evento do curso Curso DESENVOLVIMENTO DE SISTEMAS II TURMA 03A 20231 Descrição Neste Praticando resolva a atividade proposta a seguir Considere um jogo digital chamado As Aventuras de Superpadrãozinho que tem apenas um personagem principal chamado Superpadrãozinho Como aplicar o padrão Singleton para representálo Esta atividade vale créditos que ao final do componente curricular serão convertidos em nota de participação IR À ATIVIDADE Lembretes Padrão 1 hora antes 14 abril 2023 2259 PM DEFINIR UM NOVO LEMBRETE TAREFA DESSISII A5 Praticando 1 Neste Praticando resolva a atividade proposta a seguir Considere um jogo digital chamado As Aventuras de Superpadrãozinho que tem apenas um personagem principal chamado Superpadrãozinho Como aplicar o padrão Singleton para representálo Esta atividade vale créditos que ao final do componente curricular serão convertidos em nota de participação ADICIONAR ENVIO Atividade anterior Próxima atividade TAREFA DESSISII A5 Praticando 2 Resolva a atividade prática proposta a seguir Continuando nosso jogo digital chamado As Aventuras de Superpadrãozinho são previstos dois níveis com dois cenários diferentes um deserto e uma selva jurássica Como aplicar o padrão Factory Method para representar a criação desses cenários Esta atividade vale créditos que ao final do componente curricular serão convertidos em nota de participação Status de envio Nenhuma tentativa Não há notas Data de entrega ADICIONAR ENVIO TAREFA DESSISII A5 Praticando 3 Resolva a atividade prática proposta a seguir Continuando nosso jogo As Aventuras de Superpadrãozinho para cada nível cenário devem ser criados vários objetos que representam animais desses biomas Necessariamente todo cenário deve ter um animal perigoso e um animal que possa ser usado como meio de transporte Para o deserto a serpente será o animal perigoso enquanto na selva jurássica será o TRex Já quanto ao animal de transporte no deserto será o dromedário e na selva jurássica o pterodátilo Como aplicar o padrão Abstract Factory para modelar essa situação Esta atividade vale créditos que ao final do componente curricular serão convertidos em nota de participação ADICIONAR ENVIO Para aplicar o padrão Singleton ao personagem Superpadrãozinho do jogo As Aventuras de Superpadrãozinho devese seguir os seguintes passos 1 Criar uma classe chamada Superpadrãozinho que represente o personagem principal do jogo 2 Definir o construtor da classe como privado para impedir a criação de múltiplas instâncias da classe 3 Criar um método estático público chamado getInstance que retorne a única instância da classe 4 Dentro do método getInstance verificar se a instância da classe já foi criada Se já foi criada retorne a instância existente Caso contrário devese criar uma nova instância e a retorne 5 Agora sempre que precisar usar o objeto Superpadrãozinho no jogo devese chamar o método estático getInstance para obter a única instância existente da classe Em Java public class Superpadrãozinho private static Superpadrãozinho instance private Superpadrãozinho Construtor privado para impedir a criação de novas instâncias public static Superpadrãozinho getInstance if instance null instance new Superpadrãozinho return instance Métodos e propriedades do personagem Superpadrãozinho Para aplicar o padrão Factory Method para representar a criação dos cenários do jogo As Aventuras de Superpadrãozinho devese seguir os seguintes passos 1 Criar uma interface chamada Cenário que represente um cenário do jogo 2 Definir um método chamado criarCenario na interface Cenário 3 Criar duas classes que implementam a interface Cenário CenarioDeserto e CenarioSelvaJurassica 4 Dentro de cada classe implementar o método criarCenario para retornar uma instância do respectivo cenário 5 Criar uma classe chamada FabricaCenarios que tenha um método estático chamado criarCenarioString nomeCenario que receba o nome do cenário a ser criado como parâmetro 6 Dentro do método criarCenario verificar o valor do parâmetro nomeCenario e retorne a instância do cenário correspondente 7 Agora sempre que precisar criar um cenário em seu jogo devese chamar o método estático criarCenario da classe FabricaCenarios passando o nome do cenário desejado como parâmetro Em Java Interface Cenario public interface Cenario public void criarCenario Classe CenarioDeserto public class CenarioDeserto implements Cenario public void criarCenario Implementação específica para criar o cenário do deserto Classe CenarioSelvaJurassica public class CenarioSelvaJurassica implements Cenario public void criarCenario Implementação específica para criar o cenário da selva jurássica Classe FabricaCenarios public class FabricaCenarios public static Cenario criarCenarioString nomeCenario if nomeCenarioequalsDeserto return new CenarioDeserto else if nomeCenarioequalsSelvaJurassica return new CenarioSelvaJurassica else return null Exemplo de uso Cenario deserto FabricaCenarioscriarCenarioDeserto desertocriarCenario Cria o cenário do deserto Cenario selva FabricaCenarioscriarCenarioSelvaJurassica selvacriarCenario Cria o cenário da selva jurássica Para aplicar o padrão Abstract Factory para modelar a criação dos animais dos cenários do jogo As Aventuras de Superpadrãozinho você pode seguir os seguintes passos 1 Crie uma interface chamada FabricaAnimais que defina métodos para criar o animal perigoso e o animal de transporte de cada cenário 2 Defina duas classes que implementam a interface FabricaAnimais FabricaAnimaisDeserto e FabricaAnimaisSelvaJurassica 3 Dentro de cada classe implemente os métodos para criar o animal perigoso e o animal de transporte específicos do cenário correspondente 4 Crie uma classe chamada GerenciadorCenarios que tenha um método estático chamado criarAnimaisString nomeCenario que receba o nome do cenário a ser criado como parâmetro 5 Dentro do método criarAnimais verifique o valor do parâmetro nomeCenario e retorne a instância da fábrica de animais correspondente 6 Agora sempre que precisar criar animais para um cenário em seu jogo chame o método estático criarAnimais da classe GerenciadorCenarios passando o nome do cenário desejado como parâmetro Em Java Interface FabricaAnimais public interface FabricaAnimais public AnimalPerigoso criarAnimalPerigoso public AnimalTransporte criarAnimalTransporte Interface AnimalPerigoso public interface AnimalPerigoso public void atacar Interface AnimalTransporte public interface AnimalTransporte public void mover Classe SerpenteDeserto implementa AnimalPerigoso public class SerpenteDeserto implements AnimalPerigoso public void atacar Implementação específica para a serpente do deserto Classe Dromedario implementa AnimalTransporte public class Dromedario implements AnimalTransporte public void mover Implementação específica para o dromedário Classe FabricaAnimaisDeserto implementa FabricaAnimais public class FabricaAnimaisDeserto implements FabricaAnimais public AnimalPerigoso criarAnimalPerigoso return new SerpenteDeserto public AnimalTransporte criarAnimalTransporte return new Dromedario Classe TRexSelvaJurassica implementa AnimalPerigoso public class TRexSelvaJurassica implements AnimalPerigoso public void atacar Implementação específica para o TRex da selva jurássica Classe Pterodatilo implementa AnimalTransporte public class Pterodatilo implements AnimalTransporte public void mover Implementação específica para o pterodátilo Classe FabricaAnimaisSelvaJurassica implementa FabricaAnimais public class FabricaAnimaisSelvaJurassica implements FabricaAnimais public AnimalPerigoso criarAnimalPerigoso return new TRexSelvaJurassica public AnimalTransporte criarAnimalTransporte return new Pterodatilo Classe GerenciadorCenarios public class GerenciadorCenarios public static FabricaAnimais criarAnimaisString nomeCenario if nomeCenarioequalsIgnoreCaseDeserto return new FabricaAnimaisDeserto else if nomeCenarioequalsIgnoreCaseSelvaJurassica return new FabricaAnimaisSelvaJurassica else throw new IllegalArgumentExceptionCenário inválido nomeCenario public class ExemploUsoAbstractFactory public static void mainString args FabricaAnimais fabricaDeserto GerenciadorCenarioscriarAnimaisDeserto AnimalPerigoso serpente fabricaDesertocriarAnimalPerigoso AnimalTransporte dromedario fabricaDesertocriarAnimalTransporte SystemoutprintlnCenário Deserto SystemoutprintlnAnimal perigoso serpentegetNome SystemoutprintlnAnimal de transporte dromedariogetNome FabricaAnimais fabricaSelvaJurassica GerenciadorCenarioscriarAnimaisSelvaJurassica AnimalPerigoso tRex fabricaSelvaJurassicacriarAnimalPerigoso AnimalTransporte pterodatilo fabricaSelvaJurassicacriarAnimalTransporte Systemoutprintln Cenário Selva Jurássica SystemoutprintlnAnimal perigoso tRexgetNome SystemoutprintlnAnimal de transporte pterodatilogetNome Código em Java onde une os 3 exercícios Nesta etapa ocorre a união das 3 etapas de código sendo elas a criação do personagem dos cenários e dos animais adicionando o cenário Fundo de Oceano o tubarão branco como animal perigoso e o Cavalo Marinho como animal de transporte Interface Cenario public interface Cenario public void criarCenario Classe CenarioDeserto public class CenarioDeserto implements Cenario public void criarCenario Implementação específica para criar o cenário do deserto Classe CenarioSelvaJurassica public class CenarioSelvaJurassica implements Cenario public void criarCenario Implementação específica para criar o cenário da selva jurássica Classe CenarioFundoOceano public class CenarioFundoOceano implements Cenario public void criarCenario Implementação específica para criar o cenário do fundo de oceano Classe FabricaCenarios public class FabricaCenarios public static Cenario criarCenarioString nomeCenario if nomeCenarioequalsDeserto return new CenarioDeserto else if nomeCenarioequalsSelvaJurassica return new CenarioSelvaJurassica else if nomeCenarioequalsFundoOceano return new CenarioFundoOceano else return null Interface FabricaAnimais public interface FabricaAnimais public AnimalPerigoso criarAnimalPerigoso public AnimalTransporte criarAnimalTransporte Interface AnimalPerigoso public interface AnimalPerigoso public void atacar public String getNome Interface AnimalTransporte public interface AnimalTransporte public void mover public String getNome Classe SerpenteDeserto implementa AnimalPerigoso public class SerpenteDeserto implements AnimalPerigoso public void atacar Implementação específica para a serpente do deserto public String getNome return Serpente do Deserto Classe Dromedario implementa AnimalTransporte public class Dromedario implements AnimalTransporte public void mover Implementação específica para o dromedário public String getNome return Dromedário Classe TRexSelvaJurassica implementa AnimalPerigoso public class TRexSelvaJurassica implements AnimalPerigoso public void atacar Implementação específica para o TRex da selva jurássica public String getNome return TRex da Selva Jurássica Classe Pterodatilo implementa AnimalTransporte public class Pterodatilo implements AnimalTransporte public void mover Implementação específica para o pterodátilo public String getNome return Pterodátilo Classe TubaraoBranco implementa AnimalPerigoso public class TubaraoBranco implements AnimalPerigoso public void atacar Implementação específica para o tubarão branco public String getNome return Tubarão Branco Classe CavaloMarinho implementa AnimalTransporte public class CavaloMarinho implements AnimalTransporte public void mover Implementação específica para o cavalo marinho public String getNome return Cavalo Marinho Classe FabricaAnimaisDeserto implementa FabricaAnimais public class FabricaAnimaisDeserto implements FabricaAnimais public AnimalPerigoso criarAnimalPerigoso return new SerpenteDeserto public AnimalTransporte criarAnimalTransporte return new Dromedario Classe FabricaAnimaisSelvaJurassica implementa FabricaAnimais public class FabricaAnimaisSelvaJurassica implements FabricaAnimais public AnimalPerigoso criarAnimalPerigoso return new TRexSelvaJurassica public AnimalTransporte criarAnimalTransporte return new Pterodatilo Classe FabricaAnimaisFundoOceano implementa FabricaAnimais public class FabricaAnimaisFundoOceano implements FabricaAnimais public AnimalPerigoso criarAnimalPerigoso return new TubaraoBranco public AnimalTransporte criarAnimalTransporte return new CavaloMarinho Classe GerenciadorCenarios public class GerenciadorCenarios public static FabricaAnimais criarAnimaisString nomeCenario if nomeCenarioequalsIgnoreCaseDeserto return new FabricaAnimaisDeserto else if nomeCenarioequalsIgnoreCaseSelvaJurassica return new FabricaAnimaisSelvaJurassica else if nomeCenarioequalsIgnoreCaseFundoOceano return new FabricaAnimaisFundoOceano else throw new IllegalArgumentExceptionCenário inválido nomeCenario