From 043d4ceeaecefcac2633aa4254370614ba454c20 Mon Sep 17 00:00:00 2001 From: luiz-fischer Date: Fri, 6 Nov 2020 21:30:00 -0300 Subject: [PATCH 1/4] new release --- ProvaDois/Ator.java | 88 ++++++++++++++++++----------------------- ProvaDois/Heroi.java | 37 ++++++++--------- ProvaDois/Pessoa.java | 62 +++++++++++++++++++++++++++++ ProvaDois/Princial.java | 32 ++++++++++----- 4 files changed, 143 insertions(+), 76 deletions(-) diff --git a/ProvaDois/Ator.java b/ProvaDois/Ator.java index c99bc29..e29ef74 100644 --- a/ProvaDois/Ator.java +++ b/ProvaDois/Ator.java @@ -1,70 +1,60 @@ package ProvaDois; +import java.util.ArrayList; public class Ator extends Pessoa { - private int id; - private int anoDeNascimento; - - public Ator() { - - } - - public Ator(int id,String nome, String localizacao, double precoCache, int anoDeNascimento) { - this.id = id; - this.anoDeNascimento = anoDeNascimento; - this.nome = nome; - this.localizacao = localizacao; - this.precoCache = precoCache; - } - - public String getNome() { - return super.nome; - } - - public void setNome() { - super.nome = nome; - } - - public String getLocalizacao() { - return super.localizacao; - } - - public void setLocalizacao() { - super.localizacao = localizacao; - } - - public double getPrecoCache() { - return super.precoCache; - } - - public void setPrecoCache() { - super.precoCache = precoCache; - } + protected int id; + protected int nivelFama; + - - public int getId() { - return this.id; + /** + * + * @param id Valor para o id do objeto Ator. + * @param nome Valor para o nome do objeto Ator. + * @param localizacao Valor para o localizacao do objeto Ator. + * @param precoCache Valor para o precoCache do objeto Ator. + * @param anoDeNascimento Valor para o anoDeNascimento do objeto Ator. + * @param nivelFama Valor para o nivelFama do objeto Ator. + */ + public Ator( + int id, + String nome, + String localizacao, + double precoCache, + int anoDeNascimento, + int nivelFama + ) { + super(nome, localizacao, precoCache, anoDeNascimento); + this.id = id; + this.nivelFama = nivelFama; + + } + // ======= SETS ======= public void setId(int id) { this.id = id; } - public Ator id(int id) { - this.setId(id); - return this; + public void setNivelFama(int nivelFama) { + this.nivelFama = nivelFama; } - public int getAnoDeNascimento() { - return this.anoDeNascimento; + // ======= GETS ======= + public int getId() { + return this.id; } - public void setAnoDeNascimento(int anoDeNascimento) { - this.anoDeNascimento = anoDeNascimento; + public int getNivelFama() { + return this.nivelFama; } + // ======== Impressão ======== @Override public String toString() { - return "teste" + super.nome; + String print = super.toString() + "\n" + + "========== Famômetro ==========" + "\n" + + "Nível da Fama: " + getNivelFama() + "\n"; + return print; } } diff --git a/ProvaDois/Heroi.java b/ProvaDois/Heroi.java index 45471fd..435a924 100644 --- a/ProvaDois/Heroi.java +++ b/ProvaDois/Heroi.java @@ -2,37 +2,37 @@ import java.util.ArrayList; -public class Heroi extends Pessoa{ - public int idHeroi; - public int idFranquia; +public class Heroi extends Pessoa { + protected int idHeroi; + protected int idFranquia; Franquia franquia; - ArrayList filmes; + ArrayList filmes; + public static ArrayList herois = new ArrayList<>(); /** * - * @param idHeroi - * @param nome - * @param localizacao - * @param precoCache - * @param franquia + * @param idHeroi Valor para o idHeroi do Objeto Heroi. + * @param nome Valor para o nome do Objeto Heroi. + * @param localizacao Valor para o localizacao do Objeto Heroi. + * @param precoCache Valor para o precoCache do Objeto Heroi. + * @param franquia Valor para o franquia do Objeto Heroi. */ - public Heroi(int idHeroi, String nome, String localizacao, int precoCache, Franquia franquia) { + public Heroi(int idHeroi, String nome, String localizacao, double precoCache, int anoDeNascimento, + Franquia franquia) { + super(nome, localizacao, precoCache, anoDeNascimento); this.idHeroi = idHeroi; - super.nome = nome; - super.localizacao = localizacao; - super.precoCache = precoCache; + this.franquia = franquia; - this.filmes = new ArrayList<>(); franquia.herois.add(this); - herois.add(this); - - } - + + } + + public double qtdInvestimento() { double investimento = this.precoCache * this.filmes.size(); @@ -54,6 +54,7 @@ public void imprimirQrdFilmes() { this.nome + " participou " + this.filmes.size() + ); } diff --git a/ProvaDois/Pessoa.java b/ProvaDois/Pessoa.java index e07027e..baf0ca6 100644 --- a/ProvaDois/Pessoa.java +++ b/ProvaDois/Pessoa.java @@ -4,4 +4,66 @@ public class Pessoa { protected String nome; protected String localizacao; protected double precoCache; + protected int anoDeNascimento; + + /** + * + * @param nome Valor para o nome do objeto Pessoa. + * @param localizacao Valor para o localizacao do objeto Pessoa. + * @param precoCache Valor para o precoCache do objeto Pessoa. + * @param anoDeNascimento Valor para o anoDeNascimento do objeto Pessoa. + */ + public Pessoa(String nome, String localizacao, double precoCache, int anoDeNascimento) { + this.nome = nome; + this.localizacao = localizacao; + this.precoCache = precoCache; + this.anoDeNascimento = anoDeNascimento; + + } + + // ======== SETS ======== + public void setNome(String nome) { + this.nome = nome; + } + + public void setLocalizacao(String localizacao) { + this.localizacao = localizacao; + } + + public void setPrecoCache(double precoCache) { + this.precoCache = precoCache; + } + + public void setAnoDeNascimento(int anoDeNascimento) { + this.anoDeNascimento = anoDeNascimento; + } + + // ======== GETS ======== + public String getNome() { + return this.nome; + } + + public String getLocalizacao() { + return this.localizacao; + } + + public double getPrecoCache() { + return this.precoCache; + } + + public int getAnoDeNascimento() { + return this.anoDeNascimento; + } + + // ======== Impressão ======== + @Override + public String toString() { + String print = "========== Dados Pessoais ==========" + "\n" + + "Nome : " + this.nome + "\n" + + "Terra Natal : " + this.localizacao + "\n" + + "Preco do Cache : " + this.precoCache + "\n" + + "Ano de Nascimento: " + getAnoDeNascimento() + "\n"; + return print; + } + } diff --git a/ProvaDois/Princial.java b/ProvaDois/Princial.java index fa43903..746867d 100644 --- a/ProvaDois/Princial.java +++ b/ProvaDois/Princial.java @@ -5,13 +5,22 @@ public static void main(String[] args) { // Criaçao das Franquias Franquia marvel = new Franquia(1, " Marvel Studios ", "Marvel ", "03/09/1980"); Franquia dc = new Franquia(2, " DC Comics ", "DC ", "05/04/1975"); - + // Criação dos Herois - Heroi hulk = new Heroi(1, "Hulk Esmaga ", "USA", 1200, marvel); - Heroi thor = new Heroi(2, "Thor ", "ValHala", 1300, marvel); - Heroi batman = new Heroi(3, "Batman " , "Gothan", 14000, dc); - Heroi flash = new Heroi(4, "Flash ", "MetroCity", 1000, dc); - + Heroi hulk = new Heroi(1, "Hulk Esmaga ", "USA", 1200, 1987, marvel); + Heroi thor = new Heroi(2, "Thor ", "ValHala", 1300, 1994, marvel); + Heroi batman = new Heroi(3, "Batman ", "Gothan", 14000, 2000, dc); + Heroi flash = new Heroi(4, "Flash ", "MetroCity", 1000, 2005, dc); + + // ATORES + Ator atorHulk = new Ator(1, "Mark Alan Ruffalo", "Kenosha, Wisconsin", 50000, 1967, 7); + + Ator atorThor = new Ator(2, "Christopher Hemsworth", "Melbourne, Austrália", 100000, 1983, 8); + + Ator atorBatman = new Ator(3, "Christian Charles Philip Bale ", " Pembrokeshire, País de Gales, Reino Unido", 100000, 1974, 9); + + Ator atorFlash = new Ator(4, "Ezra Miller", "Wyckoff, Nova Jersey, EUA", 20000, 1992, 5); + // Criação dos Filmes Filme vingadores = new Filme(1, "Marvel The Avengers ", "11/04/2012", 40000); vingadores.addHeroi(hulk); @@ -21,6 +30,8 @@ public static void main(String[] args) { ligaDaJustica.addHeroi(batman); ligaDaJustica.addHeroi(flash); + + // Impressão Franquias System.out.println("FRANQUIAS"); for (Franquia franquia : Franquia.franquias) { @@ -33,7 +44,7 @@ public static void main(String[] args) { heroi.imprimirInvestimento(); heroi.imprimirQrdFilmes(); } - + System.out.println("FILMES"); // Impressão dos Filmes for (Filme filme : Filme.filmes) { @@ -41,9 +52,12 @@ public static void main(String[] args) { filme.imprimirValoresFilme(); } + System.out.println(atorHulk); + System.out.println(atorThor); + System.out.println(atorBatman); + System.out.println(atorFlash); } - - + } From 4f376b4da55f2d6925ee3a0a87ceb55293ea1f0d Mon Sep 17 00:00:00 2001 From: luiz-fischer Date: Wed, 11 Nov 2020 19:28:29 -0300 Subject: [PATCH 2/4] ok --- ProvaDois/Ator.java | 16 ++++++++--- ProvaDois/Ex.md | 8 ++++++ ProvaDois/Filme.java | 13 +++++---- ProvaDois/Heroi.java | 61 ++++++++++++++++++++++++++++++++++++---- ProvaDois/HeroiAtor.java | 23 +++++++++++++++ 5 files changed, 106 insertions(+), 15 deletions(-) create mode 100644 ProvaDois/Ex.md create mode 100644 ProvaDois/HeroiAtor.java diff --git a/ProvaDois/Ator.java b/ProvaDois/Ator.java index e29ef74..aeab5df 100644 --- a/ProvaDois/Ator.java +++ b/ProvaDois/Ator.java @@ -1,7 +1,5 @@ package ProvaDois; -import java.util.ArrayList; - public class Ator extends Pessoa { protected int id; protected int nivelFama; @@ -27,8 +25,6 @@ public Ator( super(nome, localizacao, precoCache, anoDeNascimento); this.id = id; this.nivelFama = nivelFama; - - } // ======= SETS ======= @@ -48,6 +44,18 @@ public int getId() { public int getNivelFama() { return this.nivelFama; } + + @Override + public boolean equals(Object object) { + if (object == this) + return true; + if (!(object instanceof Ator)) + return false; + + Ator ator = (Ator) object; + return id == ator.id; + } + // ======== Impressão ======== @Override diff --git a/ProvaDois/Ex.md b/ProvaDois/Ex.md new file mode 100644 index 0000000..b19aed4 --- /dev/null +++ b/ProvaDois/Ex.md @@ -0,0 +1,8 @@ +ando continuidade a Atividade Avaliativa 2, + vamos incrementar o nosso controle de Herois. + Criaremos a entidade Pessoa, que agora possuirá os atributos nome, localização e preço. + Esta entidade agora será pai da entidade Herói. + Também criaremos uma nova entidade Ator, + no qual também será herança de Pessoa e + possuirá o atributo nívelFamoso. + Lembrando que agora devemos tratar corretamente os encapsulamentos, polimorfismos e as demais adaptações necessárias. \ No newline at end of file diff --git a/ProvaDois/Filme.java b/ProvaDois/Filme.java index 2c331f3..ccedfa3 100644 --- a/ProvaDois/Filme.java +++ b/ProvaDois/Filme.java @@ -14,10 +14,10 @@ public class Filme { /** * - * @param idFilme - * @param nome - * @param dataLancamento - * @param previsaoInvestimento + * @param idFilme Valor para o idFilme do objeto Filme. + * @param nome Valor para o nome do objeto Filme. + * @param dataLancamento Valor para o dataLancamento do objeto Filme. + * @param previsaoInvestimento Valor para o previsaoInvestimento do objeto Filme. */ public Filme (int idFilme, String nome, String dataLancamento, double previsaoInvestimento) { this.idFilme = idFilme; @@ -30,9 +30,10 @@ public Filme (int idFilme, String nome, String dataLancamento, double previsaoIn } public void addHeroi(Heroi heroi) { + HeroiFilme heroiFilme = new HeroiFilme(this, heroi); - heroi.filmes.add(heroiFilme); this.herois.add(heroiFilme); + heroi.filmes.add(heroiFilme); } @@ -69,7 +70,7 @@ public double totalInvestido() { double total = 0; for (HeroiFilme heroiFilme : herois) { - total += heroiFilme.heroi.precoCache; + total += heroiFilme.heroi.getPrecoCache(); } return total; } diff --git a/ProvaDois/Heroi.java b/ProvaDois/Heroi.java index 435a924..160dca5 100644 --- a/ProvaDois/Heroi.java +++ b/ProvaDois/Heroi.java @@ -4,7 +4,6 @@ public class Heroi extends Pessoa { protected int idHeroi; - protected int idFranquia; Franquia franquia; ArrayList filmes; @@ -19,8 +18,14 @@ public class Heroi extends Pessoa { * @param precoCache Valor para o precoCache do Objeto Heroi. * @param franquia Valor para o franquia do Objeto Heroi. */ - public Heroi(int idHeroi, String nome, String localizacao, double precoCache, int anoDeNascimento, - Franquia franquia) { + public Heroi( + int idHeroi, + String nome, + String localizacao, + double precoCache, + int anoDeNascimento, + Franquia franquia + ) { super(nome, localizacao, precoCache, anoDeNascimento); this.idHeroi = idHeroi; @@ -28,13 +33,37 @@ public Heroi(int idHeroi, String nome, String localizacao, double precoCache, in this.filmes = new ArrayList<>(); franquia.herois.add(this); - herois.add(this); + // herois.add(this); } + + + // ====== SETS ====== + public void setIdHeroi(int idHeroi) { + this.idHeroi = idHeroi; + } + public void setFranquia(Franquia franquia) { + this.franquia = franquia; + } + public void setFilme(Filme filme) { + this.filmes.add(filme); + } + + // ====== GETS ====== + public int getIdHeroi() { + return this.idHeroi; + } + public Franquia getFranquia() { + return this.franquia; + } + + public ArrayList getFilmes() { + return this.filmes; + } public double qtdInvestimento() { - double investimento = this.precoCache * this.filmes.size(); + double investimento = super.getPrecoCache() * this.filmes.size(); return investimento; } @@ -57,5 +86,27 @@ public void imprimirQrdFilmes() { ); } + + @Override + public boolean equals(Object object) { + if (object == this) + return true; + if (!(object instanceof Heroi)) + return false; + + Heroi heroi = (Heroi) object; + + return idHeroi == heroi.idHeroi; + } + + @Override + public String toString() { + String print = super.toString() + "\n" + + "========== Dados Heroi ==========" + "\n" + + "Franquia: " + this.franquia.nome + "\n" + + "Quantidade de Filmes: " + this.filmes.size() + "\n" + + "Investimento: " + this.qtdInvestimento(); + return print; + } } diff --git a/ProvaDois/HeroiAtor.java b/ProvaDois/HeroiAtor.java new file mode 100644 index 0000000..c86b4ec --- /dev/null +++ b/ProvaDois/HeroiAtor.java @@ -0,0 +1,23 @@ +package ProvaDois; + +public class HeroiAtor { + int idHeroi; + int idAtor; + Ator ator; + Heroi heroi; + + /** + * + * @param filme + * @param heroi + */ + public HeroiAtor(Heroi heroi, Ator ator) { + this.idHeroi = heroi.idHeroi; + this.idAtor = ator.id; + this.heroi = heroi; + this.ator = ator; + + + } + +} From 05be7440724eb52830e79d4bfab3ec8c0df6eb18 Mon Sep 17 00:00:00 2001 From: luiz-fischer Date: Thu, 12 Nov 2020 17:56:41 -0300 Subject: [PATCH 3/4] --- Cadastro/gui/Main.java | 2 +- ProvaDois/Ator.java | 26 +++++++++++++++++++++++--- ProvaDois/Filme.java | 3 +-- ProvaDois/Heroi.java | 7 +++---- ProvaDois/Orcamento.java | 6 ++++++ ProvaDois/Pessoa.java | 8 +++++++- Zoo/AnimalCorte.java | 5 +++++ Zoo/Ovelha.java | 4 ++-- 8 files changed, 48 insertions(+), 13 deletions(-) create mode 100644 ProvaDois/Orcamento.java create mode 100644 Zoo/AnimalCorte.java diff --git a/Cadastro/gui/Main.java b/Cadastro/gui/Main.java index f307689..9f8c274 100644 --- a/Cadastro/gui/Main.java +++ b/Cadastro/gui/Main.java @@ -133,7 +133,7 @@ private void deletar() { } catch (SQLException exception) { System.out.println("Erro ao Deletar: " + exception); - } + } } // =========== Método para inserção =========== diff --git a/ProvaDois/Ator.java b/ProvaDois/Ator.java index aeab5df..467bcaf 100644 --- a/ProvaDois/Ator.java +++ b/ProvaDois/Ator.java @@ -1,8 +1,11 @@ package ProvaDois; -public class Ator extends Pessoa { +import java.util.ArrayList; + +public class Ator extends Pessoa implements Orcamento { protected int id; protected int nivelFama; + ArrayList filmes; /** @@ -25,6 +28,7 @@ public Ator( super(nome, localizacao, precoCache, anoDeNascimento); this.id = id; this.nivelFama = nivelFama; + this.filmes = new ArrayList<>(); } // ======= SETS ======= @@ -36,6 +40,10 @@ public void setNivelFama(int nivelFama) { this.nivelFama = nivelFama; } + public void setFilme(Filme filme) { + this.filmes.add(filme); + } + // ======= GETS ======= public int getId() { return this.id; @@ -45,6 +53,10 @@ public int getNivelFama() { return this.nivelFama; } + public ArrayList getFilmes() { + return this.filmes; + } + @Override public boolean equals(Object object) { if (object == this) @@ -55,14 +67,22 @@ public boolean equals(Object object) { Ator ator = (Ator) object; return id == ator.id; } - + public double qtdInvestimento() { + double investimento = super.getPrecoCache() * this.filmes.size(); + + return investimento; + } + // ======== Impressão ======== @Override public String toString() { String print = super.toString() + "\n" + "========== Famômetro ==========" + "\n" + - "Nível da Fama: " + getNivelFama() + "\n"; + "Nível da Fama: " + getNivelFama() + "\n" + "\n" + + "Investimento: " + this.qtdInvestimento(); return print; } + + } diff --git a/ProvaDois/Filme.java b/ProvaDois/Filme.java index ccedfa3..c98baba 100644 --- a/ProvaDois/Filme.java +++ b/ProvaDois/Filme.java @@ -8,7 +8,7 @@ public class Filme { String nome; String dataLancamento; double previsaoInvestimento; - ArrayList herois; + ArrayList herois; public static ArrayList filmes = new ArrayList<>(); @@ -68,7 +68,6 @@ public void imprimirValoresFilme() { public double totalInvestido() { double total = 0; - for (HeroiFilme heroiFilme : herois) { total += heroiFilme.heroi.getPrecoCache(); } diff --git a/ProvaDois/Heroi.java b/ProvaDois/Heroi.java index 160dca5..1d47f9e 100644 --- a/ProvaDois/Heroi.java +++ b/ProvaDois/Heroi.java @@ -2,10 +2,10 @@ import java.util.ArrayList; -public class Heroi extends Pessoa { +public class Heroi extends Pessoa implements Orcamento { protected int idHeroi; Franquia franquia; - ArrayList filmes; + ArrayList filmes; public static ArrayList herois = new ArrayList<>(); @@ -36,7 +36,6 @@ public Heroi( // herois.add(this); } - // ====== SETS ====== @@ -58,7 +57,7 @@ public Franquia getFranquia() { return this.franquia; } - public ArrayList getFilmes() { + public ArrayList getFilmes() { return this.filmes; } diff --git a/ProvaDois/Orcamento.java b/ProvaDois/Orcamento.java new file mode 100644 index 0000000..a2941f5 --- /dev/null +++ b/ProvaDois/Orcamento.java @@ -0,0 +1,6 @@ +package ProvaDois; + +public interface Orcamento { + public double qtdInvestimento(); + +} diff --git a/ProvaDois/Pessoa.java b/ProvaDois/Pessoa.java index baf0ca6..c538ea1 100644 --- a/ProvaDois/Pessoa.java +++ b/ProvaDois/Pessoa.java @@ -1,6 +1,8 @@ package ProvaDois; -public class Pessoa { +import java.util.ArrayList; + +public abstract class Pessoa { protected String nome; protected String localizacao; protected double precoCache; @@ -55,6 +57,10 @@ public int getAnoDeNascimento() { return this.anoDeNascimento; } + abstract ArrayList getFilmes(); + + abstract void setFilme(Filme filme); + // ======== Impressão ======== @Override public String toString() { diff --git a/Zoo/AnimalCorte.java b/Zoo/AnimalCorte.java new file mode 100644 index 0000000..3365fbb --- /dev/null +++ b/Zoo/AnimalCorte.java @@ -0,0 +1,5 @@ +package Zoo; + +public interface AnimalCorte { + +} \ No newline at end of file diff --git a/Zoo/Ovelha.java b/Zoo/Ovelha.java index 56eada3..ade6b4f 100644 --- a/Zoo/Ovelha.java +++ b/Zoo/Ovelha.java @@ -1,7 +1,7 @@ package Zoo; -public class Ovelha extends Animal { - protected String corDaLa; +public class Ovelha extends Animal { + private String corDaLa; /** * From fd118dc2575e81b79d00da4911148ae11d8fcf44 Mon Sep 17 00:00:00 2001 From: luiz-fischer Date: Thu, 12 Nov 2020 20:59:11 -0300 Subject: [PATCH 4/4] first --- LocaCar/BaseVeiculo.java | 6 ++ LocaCar/Cliente.java | 97 +++++++++++++++++++++++++++++++++ LocaCar/Locacao.java | 103 +++++++++++++++++++++++++++++++++++ LocaCar/README.md | 94 ++++++++++++++++++++++++++++++++ LocaCar/Veiculo.java | 60 ++++++++++++++++++++ LocaCar/VeiculoLeve.java | 62 +++++++++++++++++++++ LocaCar/VeiculoPesado.java | 60 ++++++++++++++++++++ LocaCar/VeiculosLocados.java | 93 +++++++++++++++++++++++++++++++ 8 files changed, 575 insertions(+) create mode 100644 LocaCar/BaseVeiculo.java create mode 100644 LocaCar/Cliente.java create mode 100644 LocaCar/Locacao.java create mode 100644 LocaCar/README.md create mode 100644 LocaCar/Veiculo.java create mode 100644 LocaCar/VeiculoLeve.java create mode 100644 LocaCar/VeiculoPesado.java create mode 100644 LocaCar/VeiculosLocados.java diff --git a/LocaCar/BaseVeiculo.java b/LocaCar/BaseVeiculo.java new file mode 100644 index 0000000..10d08aa --- /dev/null +++ b/LocaCar/BaseVeiculo.java @@ -0,0 +1,6 @@ +package LocaCar; + +public interface BaseVeiculo { + public int qtdLocacaoRealizada(); + +} diff --git a/LocaCar/Cliente.java b/LocaCar/Cliente.java new file mode 100644 index 0000000..e4ff900 --- /dev/null +++ b/LocaCar/Cliente.java @@ -0,0 +1,97 @@ +package LocaCar; + +import java.sql.Date; +import java.util.ArrayList; + +public class Cliente { + protected int idCliente; + protected String nome; + protected Date dataDeNascimento; + protected String cpf; + protected int diasParaDevolucao; + ArrayList locacoes; + + public static ArrayList clientes = new ArrayList<>(); + + public Cliente(int idCliente, String nome, Date dataDeNascimento, String cpf, int diasParaDevolucao) { + this.idCliente = idCliente; + this.nome = nome; + this.dataDeNascimento = dataDeNascimento; + this.cpf = cpf; + this.diasParaDevolucao = diasParaDevolucao; + + this.locacoes = new ArrayList<>(); + + clientes.add(this); + + } + + // ======== SETS ======== + public void setIdCliente(int idCliente) { + this.idCliente = idCliente; + + } + public void setNome(String nome) { + this.nome = nome; + + } + public void setDataDeNascimento(Date dataDeNascimento) { + this.dataDeNascimento = dataDeNascimento; + + } + public void setCpf(String cpf) { + this.cpf = cpf; + + } + public void setDiasParaDevolucao(int diasParaDevolucao) { + this.diasParaDevolucao = diasParaDevolucao; + + } + + // ======== GETS ======== + public int getIdCliente() { + return this.idCliente; + + } + public String setNome() { + return this.nome; + + } + public Date getDataDeNascimento() { + return this.dataDeNascimento; + + } + public String getCpf() { + return this.cpf; + + } + public int getDiasParaDevolucao() { + return this.diasParaDevolucao; + + } + + // ====== MÉTODOS ====== + public void qtdVeiculosLocados() { + + } + + // ====== EQUALS ====== + @Override + public boolean equals(Object object) { + if (object == this) + return true; + if (!(object instanceof Cliente)) + return false; + + Cliente cliente = (Cliente) object; + + return idCliente == cliente.idCliente; + } + + // ====== IMPRESSÃO ====== + @Override + public String toString() { + String print = "teste" ; + return print; + } +} diff --git a/LocaCar/Locacao.java b/LocaCar/Locacao.java new file mode 100644 index 0000000..599f8de --- /dev/null +++ b/LocaCar/Locacao.java @@ -0,0 +1,103 @@ +package LocaCar; + +import java.sql.Date; +import java.util.ArrayList; + +public class Locacao { + protected int idLocacao; + protected int idCliente; + protected Date dataDeLocacao; + protected Date dataDeDevolucao; + Cliente cliente; + ArrayList veiculosLocados; + + public static ArrayList locacoes = new ArrayList<>(); + + public Locacao(int idLocacao, int idCliente, Date dataDeLocacao, Date dataDeDevolucao, Cliente cliente) { + this.idLocacao = idLocacao; + this.idCliente = idCliente; + this.dataDeLocacao = dataDeLocacao; + this.dataDeDevolucao = dataDeDevolucao; + + this.veiculosLocados = new ArrayList<>(); + + cliente.locacoes.add(this); + locacoes.add(this); + } + + // ======== SETS ======== + public void setIdLocacao(int idLocacao) { + this.idLocacao = idLocacao; + + } + public void setIdCliente(int idCliente) { + this.idCliente = idCliente; + + } + public void setDataDeLocacao(Date dataDeLocacao) { + this.dataDeLocacao = dataDeLocacao; + + } + public void setDataDeDevolucao(Date dataDeDevolucao) { + this.dataDeDevolucao = dataDeDevolucao; + + } + public void setCliente(Cliente cliente) { + this.cliente = cliente; + } + + + // ======== GETS ======== + public int getIdLocacao() { + return this.idLocacao; + + } + public int getIdCliente() { + return this.idCliente; + + } + public Date getDataDeLocacao() { + return this.dataDeLocacao; + + } + public Date getDataDeDevolucao() { + return this.dataDeDevolucao; + + } + public Cliente getCliente() { + return this.cliente; + } + + + // ====== MÉTODOS ====== + public void valorTotalLocacao() { + + } + public void qtdVeiculosLocados() { + + } + public void dataDeDevolucao() { + + } + + // ====== EQUALS ====== + @Override + public boolean equals(Object object) { + if (object == this) + return true; + if (!(object instanceof Locacao)) + return false; + + Locacao locacao = (Locacao) object; + + return idLocacao == locacao.idLocacao; + } + + // ====== IMPRESSÃO ====== + @Override + public String toString() { + String print = "teste" ; + return print; + } + +} diff --git a/LocaCar/README.md b/LocaCar/README.md new file mode 100644 index 0000000..8d795d7 --- /dev/null +++ b/LocaCar/README.md @@ -0,0 +1,94 @@ +Instruções +Para analisar o aprendizado, desenvolva um mini sistema de locação de veículos, que possui como entidades: + +Cliente +int: Identificador Único (ID) +String: Nome +Date: Data de Nascimento +String: C.P.F. +int: Dias para Devolução + +Veículo +String: Marca +String: Modelo +int: Ano +double: Valor para Locação + +Veículos Leves (Herança de Veículo) +int: Identificador Único (ID) +String: Cor + +Veículos Pesados (Herança de Veículo) +int: Identificador Único (ID) +String: Restrições + +Locação +int: Identificador Único (ID) +int: I.D. do Cliente +Date: Data de Locação +Date: Data de Devolução + +Veículo Locados +int: I.D. da Locação +int: I.D. do Veículo Level +int: I.D. do Veículo Pesado + +Cada arquivo fonte de objeto deverá conter as suas propriedades e deverá respeitar os relacionamentos existentes entre si: + +Cliente possui relacionamento 1-N com Locação +Locação possui relacionamento 1-N com Veículos Locados +Veículos Leves possui relacionamento 1-N com Veículos Locados +Veículos Pesados possui relacionamento 1-N com Veículos Locados + +A classe Veículos trata-se de uma classe abstrata e não deve ser instânciada. + +Deverá ser criada uma interface no qual Veículos Leves e Veículos Pessados serão implementados. Esta interface se chamará BaseVeiculo e possuirá os seguintes métodos: + +abstract: Quantidade de Locações Realizadas +abstract default: Selo da Empresa +Cada arquivo fonte de objeto deverá conter, minimamente: + +Cliente +Método com a Quantidade de Veículos locados. + +Locação +Método com o Valor total da Locação +Método com a quantidade de veículos locados +A data de devolução deverá ser calculada com base na Data de Locação e a quantidade de dias para Devolução que o cliente tem disponível na locadora. +Deverá ser criado um arquivo principal para gerenciamento das informações dos objetos, este arquivo deverá ser estruturado com um menu com as seguintes opções: + +1 - Cadastrar Cliente +2 - Cadastrar Veículo +3 - Cadastrar Locação +4 - Listar Clientes +5 - Listar Veículos +6 - Listar Locações + +Ao selecionar as opções de cadastro, deverão ser solicitadas as informações necessárias para registro de cada entidade via terminal, criando ao final o objeto. Para a opção cadastrar Veículo, deverá ser questionado se o cadastro é de 1 - Veículo Leve ou 2 - Veículo Pesado. + +Ao selecionar as opções de listar, deverão ser impressas as informações de cada entidade, sendo que: + +Cliente +Deverá ser exibida a Quantidade de Veículos + +Veículos +Deverá ser exibida a quantidade de Locações e o valor total de cada locação +Deverá ser exibido o selo da empresa + +Locação +Deverá ser exibida a quantidade de veículos por Locação. +Para a opção listar Veículo, deverá ser questionado se a listagem é de + 1 - Veículo Leve + 2 - Veículo Pesado + +Os objetos deverão ser gerenciados simulando um banco de dados com ArrayList, ou seja, as impressões deverão ser geradas e gerenciadas por forEach. + +Deverão ser trabalhadas corretamente as estruturas de Orientação a Objeto, aplicando os encapsulamentos, as heranças e os polimorfismos necessários para cada entidade. + +Pontos importantes: + +Comentários de Código demonstrando a estrutura +Indentação de Código +Aplicação de camelCase e PascalCase para o código fonte +Nomenclatura de variáveis que determinem sua utilização +O código fonte deverá ser trabalhando dentro do GitHub, sendo sincronizado e aberto PR ao final do desenvolvimento. \ No newline at end of file diff --git a/LocaCar/Veiculo.java b/LocaCar/Veiculo.java new file mode 100644 index 0000000..dea3c34 --- /dev/null +++ b/LocaCar/Veiculo.java @@ -0,0 +1,60 @@ +package LocaCar; + + +public abstract class Veiculo { + protected String marca; + protected String modelo; + protected int ano; + protected double valorLocacao; + + public Veiculo(String marca, String modelo, int ano, double valorLocacao) { + this.marca = marca; + this.modelo = modelo; + this.ano = ano; + this.valorLocacao = valorLocacao; + + } + + // ======== SETS ======== + public void setMarca(String marca) { + this.marca = marca; + + } + public void setModelo(String modelo) { + this.modelo = modelo; + + } + public void setAno(int ano) { + this.ano = ano; + + } + public void setValorLocacao(double valorLocacao) { + this.valorLocacao = valorLocacao; + + } + + // ======== GETS ======== + public String getMarca() { + return this.marca; + + } + public String getModelo() { + return this.modelo; + + } + public int getAno() { + return this.ano; + + } + public double getValorLocacao() { + return this.valorLocacao; + + } + + // ====== IMPRESSÃO ====== + @Override + public String toString() { + String print = "teste" ; + return print; + } +} diff --git a/LocaCar/VeiculoLeve.java b/LocaCar/VeiculoLeve.java new file mode 100644 index 0000000..3d181b4 --- /dev/null +++ b/LocaCar/VeiculoLeve.java @@ -0,0 +1,62 @@ +package LocaCar; + +import java.util.ArrayList; + +public class VeiculoLeve { + protected int idVeiculoLeve; + protected String cor; + ArrayList VeiculosLocados; + + public static ArrayList veiculosLeves = new ArrayList<>(); + + public VeiculoLeve(int idVeiculoLeve, String cor) { + this.idVeiculoLeve = idVeiculoLeve; + this.cor = cor; + + this.VeiculosLocados = new ArrayList<>(); + + veiculosLeves.add(this); + } + + // ======== SETS ======== + public void setIdVeiculoLeve(int idVeiculoLeve) { + this.idVeiculoLeve = idVeiculoLeve; + + } + public void setCor(String cor) { + this.cor = cor; + + } + + // ======== GETS ======== + public int getIdVeiculoLeve() { + return this.idVeiculoLeve; + + } + public String getCor() { + return this.cor; + + } + + // ====== EQUALS ====== + @Override + public boolean equals(Object object) { + if (object == this) + return true; + if (!(object instanceof VeiculoLeve)) + return false; + + VeiculoLeve veiculoLeve = (VeiculoLeve) object; + + return idVeiculoLeve == veiculoLeve.idVeiculoLeve; + } + + // ====== IMPRESSÃO ====== + @Override + public String toString() { + String print = "teste" ; + return print; + } +} + + diff --git a/LocaCar/VeiculoPesado.java b/LocaCar/VeiculoPesado.java new file mode 100644 index 0000000..ad8f699 --- /dev/null +++ b/LocaCar/VeiculoPesado.java @@ -0,0 +1,60 @@ +package LocaCar; + +import java.util.ArrayList; + +public class VeiculoPesado { + protected int idVeiculoPesado; + protected String restricao; + ArrayList VeiculosLocados; + + public static ArrayList veiculosPesados = new ArrayList<>(); + + public VeiculoPesado(int idVeiculoPesado, String restricao) { + this.idVeiculoPesado = idVeiculoPesado; + this.restricao = restricao; + + veiculosPesados.add(this); + } + + // ======== SETS ======== + public void setIdVeiculoPesado(int idVeiculoPesado) { + this.idVeiculoPesado = idVeiculoPesado; + + } + public void setRestricao(String restricao) { + this.restricao = restricao; + + } + + // ======== GETS ======== + public int getIdVeiculoPesado() { + return this.idVeiculoPesado; + + } + public String getRestricao() { + return this.restricao; + + } + + // ====== EQUALS ====== + @Override + public boolean equals(Object object) { + if (object == this) + return true; + if (!(object instanceof VeiculoPesado)) + return false; + + VeiculoPesado veiculoPesado = (VeiculoPesado) object; + + return idVeiculoPesado == veiculoPesado.idVeiculoPesado; + } + + // ====== IMPRESSÃO ====== + @Override + public String toString() { + String print = "teste" ; + return print; + } +} + + diff --git a/LocaCar/VeiculosLocados.java b/LocaCar/VeiculosLocados.java new file mode 100644 index 0000000..4e6a3ef --- /dev/null +++ b/LocaCar/VeiculosLocados.java @@ -0,0 +1,93 @@ +package LocaCar; + +import java.util.ArrayList; + +public class VeiculosLocados { + protected int idLocacao; + protected int idVeiculoLeve; + protected int idVeiculoPesado; + Locacao locacao; + VeiculoLeve veiculoLeve; + VeiculoPesado veiculoPesado; + + public static ArrayList veiculosLocados = new ArrayList<>(); + + public VeiculosLocados(int idLocacao, int idVeiculoLeve, int idVeiculoPesado, Locacao locacao, VeiculoLeve veiculoLeve, VeiculoPesado veiculoPesado) { + this.idLocacao = idLocacao; + this.idVeiculoLeve = idVeiculoLeve; + this.idVeiculoPesado = idVeiculoPesado; + + veiculoPesado.VeiculosLocados.add(this); + veiculoLeve.VeiculosLocados.add(this); + locacao.veiculosLocados.add(this); + veiculosLocados.add(this); + + } + + // ======== SETS ======== + public void setIdLocacao(int idLocacao) { + this.idLocacao = idLocacao; + + } + public void setIdVeiculoLeve(int idVeiculoLeve) { + this.idVeiculoLeve = idVeiculoLeve; + + } + public void setIdveiculoPesado(int idVeiculoPesado) { + this.idVeiculoPesado = idVeiculoPesado; + + } + public void setLocacao(Locacao locacao) { + this.locacao = locacao; + } + public void setVeiculoLeve(VeiculoLeve veiculoLeve) { + this.veiculoLeve = veiculoLeve; + } + public void setVeiculoPesado(VeiculoPesado veiculoPesado) { + this.veiculoPesado = veiculoPesado; + } + + // ======== GETS ======== + public int getIdLocacao() { + return this.idLocacao; + + } + public int getIdVeiculoLeve() { + return this.idVeiculoLeve; + + } + public int getIdVeiculoPesado() { + return this.idVeiculoPesado; + + } + public Locacao getLocacao() { + return this.locacao; + } + public VeiculoLeve getVeiculoLeve() { + return this.veiculoLeve; + } + public VeiculoPesado getVeiculoPesado() { + return this.veiculoPesado; + } + + // ====== EQUALS ====== + @Override + public boolean equals(Object object) { + if (object == this) + return true; + if (!(object instanceof VeiculosLocados)) + return false; + + VeiculosLocados veiculosLocados = (VeiculosLocados) object; + + return idLocacao == veiculosLocados.idLocacao; + } + + // ====== IMPRESSÃO ====== + @Override + public String toString() { + String print = "teste" ; + return print; + } + +}