Procurar
Últimos assuntos
Quem está conectado?
Há 8 usuários online :: 0 registrados, 0 invisíveis e 8 visitantes Nenhum
[ Ver toda a lista ]
O recorde de usuários online foi de 192 em Ter Out 26, 2021 6:07 am
Atividade Prática 5: Classes Abstratas e Interfaces
Página 1 de 1
Atividade Prática 5: Classes Abstratas e Interfaces
Em Java, realize os seguintes passos:
Criar uma classe abstrata para Loja com identificador (int), CNPJ (String), razão social (String), situação (boolean - para mostrar se a loja está aberta ou fechada). Crie um construtor da classe Loja para criar o objeto já com CNPJ, razão social e o atributo de situação com valor false.
Crie métodos para retornar a razão social, CNPJ e a situação da loja.
Crie agora uma classe concreta para Loja, chamada LojaShopping com endereço e gerente. Crie também um método construtor para a Loja concreta recebendo os dados dos atributos, chamando também o construtor da superclasse.
Criar um método para mostrar todos os dados da LojaShopping.
Criar uma interface Registro com os métodos registraAberturaDia e registraFechamentoDia.
Fazer a LojaShopping utilizar a interface Registro e implementar os métodos, atualizando o atributo aberta para true quando chamar o método registraAberturaDia, ou para false quando invocado o método registraFechamentoDia. Lembre-se: uma loja aberta não pode ser aberta novamente e uma loja só pode ser fechada se estiver aberta.
Na classe principal, criar a instância de três lojas derivadas da classe concreta (LojaShopping), realizar a abertura das lojas (utilizar o método registraAberturaDia) e mostrar todos os dados de cada loja criada. Utilize um ArrayList para armazenar as três instâncias.
//Main
Criar uma classe abstrata para Loja com identificador (int), CNPJ (String), razão social (String), situação (boolean - para mostrar se a loja está aberta ou fechada). Crie um construtor da classe Loja para criar o objeto já com CNPJ, razão social e o atributo de situação com valor false.
Crie métodos para retornar a razão social, CNPJ e a situação da loja.
Crie agora uma classe concreta para Loja, chamada LojaShopping com endereço e gerente. Crie também um método construtor para a Loja concreta recebendo os dados dos atributos, chamando também o construtor da superclasse.
Criar um método para mostrar todos os dados da LojaShopping.
Criar uma interface Registro com os métodos registraAberturaDia e registraFechamentoDia.
Fazer a LojaShopping utilizar a interface Registro e implementar os métodos, atualizando o atributo aberta para true quando chamar o método registraAberturaDia, ou para false quando invocado o método registraFechamentoDia. Lembre-se: uma loja aberta não pode ser aberta novamente e uma loja só pode ser fechada se estiver aberta.
Na classe principal, criar a instância de três lojas derivadas da classe concreta (LojaShopping), realizar a abertura das lojas (utilizar o método registraAberturaDia) e mostrar todos os dados de cada loja criada. Utilize um ArrayList para armazenar as três instâncias.
//Main
- Código:
package br.com.aluno.model;
import java.util.ArrayList;
/**
*
* @author User
*/
public class Main {
public static void main(String[] args) {
// Criando Loja
LojaShopping loja1 = new LojaShopping(1, "12.066.571/0001-08", "Rede Ratinho Moveis e Eletrodomesticos", "Av. Itaberaí, Qd 21 - Lt 04, São Judas", "Ana Paula");
LojaShopping loja2 = new LojaShopping(2, "73.901.903/0001-17", "Fujioka Distribuidor", "Av. Independência, Quadra 141 - Lote 06 - St. Central", "Rodrigo");
LojaShopping loja3 = new LojaShopping(3, "06.644.372/0001-37", "Ricardo Móveis", "Av. Genesio Lima Brito, Q. 49, L. 23/24 - Jardim Balneario Meia Ponte", "Tulio");
//ArrayList para armazenar as lojas
ArrayList<LojaShopping> lojas = new ArrayList<>();
lojas.add(loja1);
lojas.add(loja2);
lojas.add(loja3);
// Abrindo as lojas
for (LojaShopping loja : lojas) {
System.out.println("Lojas:"+loja.razaoSocial);
loja.registraAberturaDia();
}
System.out.println("Lojas foram abertas>>>>");
// Mostrando os dados das lojas
for (LojaShopping loja : lojas) {
System.out.println("Dados da loja:");
loja.mostrarDados();
System.out.println();
}
}
}
- Código:
package br.com.aluno.model;
/**
*
* @author User
*/
public interface Registro {
void registraAberturaDia();
void registraFechamentoDia();
}
- Código:
package br.com.aluno.model;
/**
*
* @author User
*/
public abstract class Loja {
int identificadorLoja;
String cnpjLoja;
String razaoSocial;
boolean situacaoLoja;
public Loja(int identificadorLoja, String cnpjLoja, String razaoSocial) {
this.identificadorLoja = identificadorLoja;
this.cnpjLoja = cnpjLoja;
this.razaoSocial = razaoSocial;
this.situacaoLoja = false; //por padrão, Loja começa fechada
}
public int getIdentificadorLoja() {
return identificadorLoja;
}
public void setIdentificadorLoja(int identificadorLoja) {
this.identificadorLoja = identificadorLoja;
}
public String getCnpjLoja() {
return cnpjLoja;
}
public void setCnpjLoja(String cnpjLoja) {
this.cnpjLoja = cnpjLoja;
}
public String getRazaoSocial() {
return razaoSocial;
}
public void setRazaoSocial(String razaoSocial) {
this.razaoSocial = razaoSocial;
}
public boolean isSituacaoLoja() {
return situacaoLoja;
}
public void setSituacaoLoja(boolean situacaoLoja) {
this.situacaoLoja = situacaoLoja;
}
// Método para mostrar todos os dados da loja
public void mostrarDados() {
System.out.println("Identificador: " + identificadorLoja);
System.out.println("CNPJ: " + cnpjLoja);
System.out.println("Razão Social: " + razaoSocial);
System.out.println("Situação: " + (situacaoLoja ? "Aberta" : "Fechada"));
}
}
- Código:
package br.com.aluno.model;
/**
*
* @author User
*/
public class LojaShopping extends Loja implements Registro{
private String endereco;
private String gerente;
public LojaShopping(int identificadorLoja, String cnpjLoja, String razaoSocial, String endereco, String gerente) {
super(identificadorLoja, cnpjLoja, razaoSocial);
this.endereco = endereco;
this.gerente = gerente;
}
// Método para mostrar todos os dados da LojaShopping
@Override
public void mostrarDados() {
super.mostrarDados();
System.out.println("Endereço: " + endereco);
System.out.println("Gerente: " + gerente);
}
// Implementação dos métodos da interface Registro
@Override
public void registraAberturaDia() {
if (!super.isSituacaoLoja()) {
super.setSituacaoLoja(true);
System.out.println("Loja aberta.");
} else {
System.out.println("A loja já está aberta.");
}
}
@Override
public void registraFechamentoDia() {
if (super.isSituacaoLoja()) {
super.setSituacaoLoja(false);
System.out.println("Loja fechada.");
} else {
System.out.println("A loja já está fechada.");
}
}
}
juk- Mensagens : 281
Data de inscrição : 02/04/2012
Tópicos semelhantes
» Atividade Complementar Classes Abstratas, Interfaces e Tratamento de Exceções
» Atividade Complementar Classes Abstratas, Interfaces e Tratamento de Exceções
» Atividade Prática 2: Exercitando a criação de classes e objetos
» Atividade Prática 3: Exercitando o relacionamento entre classes
» Atividade Prática 1: Problemas Básicos de Programação
» Atividade Complementar Classes Abstratas, Interfaces e Tratamento de Exceções
» Atividade Prática 2: Exercitando a criação de classes e objetos
» Atividade Prática 3: Exercitando o relacionamento entre classes
» Atividade Prática 1: Problemas Básicos de Programação
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
Seg Jul 29, 2024 9:20 pm por juk
» H2 ERRO h2-databse not found
Dom Jul 28, 2024 5:16 pm por juk
» NPM START ERRO PSSecurityException UnauthorizedAccess
Dom Jul 28, 2024 5:02 pm por juk
» Top 5 GUI tools for PostgreSQL in 2024
Qua Jun 26, 2024 9:04 pm por juk
» Configurando wifi via Terminal no Ubuntu 22.04
Ter maio 28, 2024 9:59 pm por juk
» Atividade Complementar Classes Abstratas, Interfaces e Tratamento de Exceções
Seg maio 20, 2024 10:55 pm por juk
» Atividade Complementar Classes Abstratas, Interfaces e Tratamento de Exceções
Seg maio 20, 2024 10:52 pm por juk
» CRIANDO UM MONITOR VIRTUAL
Qui maio 16, 2024 9:29 pm por juk
» Atividade Prática 5: Classes Abstratas e Interfaces
Seg maio 13, 2024 10:24 pm por juk