public abstract class Pessoa extends Entidade {



Documentos relacionados
Evento.java. package dominio;

Desvendando o Hibernate

MANIPULAÇÃO DE BANCO DE DADOS UTILIZANDO INTERFACE GRÁFICA

Mapeando Entidades. Abaixo iremos mapear nossas classes. Fornecedor.java package entidades;

Classe Funcionario tem Endereco

if( opcao.equals("1") ) { ElaborarContratoUI uiec = new ElaborarContratoUI(m_empresa); uiec.run();

Java na WEB Componentes Bean

!" # # # $ %!" " & ' ( 2

UNIVERSIDADE DO TOCANTINS TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PRÁTICA EM PROGRAMAÇÃO DE SISTEMAS ESTUDO DE CASO II

Programação Orientada a Objeto

Funcionamento da Aplicação. Simulações do funcionamento. Simulação SAC

PADRÕES DE PROJETO DE SOFTWARE

Design Patterns (Factory Method, Prototype, Singleton)

Prática de Programação J2ME (15) Especialização em Desenvolvimento Web com Interfaces Ricas

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC

Não é necessário implementar métodos de ordenação, busca, redimensionamento e etc.

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

Projetando Classes e Relacionamento (Herança) em Modelo de Classes

Herança e Propriedades

Objetivo: Aplicar a técnica de encapsulamento no sistema de gestão acadêmica

Universidade Católica do Salvador Bacharelado em Informática. Antonio Yuri Jailson do Amor Divino Felipe Souza. Tutorial: Trabalhando com JDBC

Linguagem de Programação II Importando Classes/Pacotes

public void setdata(data d) { data = d;

Programação Visual TIC - 3PA. Lista de Exercícios 02

Aula 08 Encapsulamento. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.

Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos

Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes.

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Relacionamentos entre objetos

Módulo 5. Programação Orientada a Objetos. Programação Orientada a Objetos I Java (Rone Ilídio)

public class Autenticador { private static final ThreadLocal<UsuarioInterface> threadusuario = new ThreadLocal<UsuarioInterface>();

Demoiselle Tutorial Documentation

Demoiselle Nimble Guia do Usuário Emerson Saito Rodrigo Hjort Serge Rehem

Java - Conexão ao Banco de Dados usando JDBC


UNIVERSIDADE FEDERAL DO PARANÁ

Agregação, Composição e Associação

Quando um Auto-Relacionamento não é mais um Auto-Relacionamento

insfcanceof new public switch transient while byte continue extends for int null

############################## Grupo 1 OCAML #########################################################

JUnit Framework para Testes em Java

Projetando Classes e Relacionamento (Herança) em Modelo de Classes

Coleções. João Paulo Q. dos Santos

Programação Orientada a Objetos Classes Abstratas. Sérgio Soares

Um Exemplo de Refatoração. Prof. Alberto Costa Neto DComp/UFS

Persistência Java para Web com MySQL

CONCURSO PÚBLICO EDITAL Nº 03 / 2015

Programação Orientada a Objetos

Introdução à Programação. Interface, Polimorfismo e Dynamic Binding

Java Básico. Matrícula de Alunos. Marco Antonio, Arquiteto de Software TJDF Novembro/2005

Universidade Federal de Uberlândia Faculdade de Computação Prof. Fabiano Azevedo Dorça Programação Orientada a Objetos II. Padrões de Projeto

O JUnit permite a realização de testes de unidades, conhecidos como "caixa branca", facilitando assim a correção de métodos e objetos.

AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS

Módulo 7. Interface Gráfica com o Usuário GUI - Introdução. Programação Orientada a Objetos I Java (Rone Ilídio)

Objetivo do programa: Implementação de um analisador de Logs do Servidor Web com base nos requisitos da unidade curricular de Estatística.

Capítulo 14. Herança a e Polimorfismo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Autor: Ricardo Francisco Minzé Júnior - ricardominze@yahoo.com.br Desenvolvendo aplicações em camadas com PHP 5.

Conceitos Básicos de Orientação a Objetos e Strings AULA 08


Demoiselle Nimble Guia do Usuário Emerson Saito Rodrigo Hjort Serge Rehem

using System; using System.Collections.Generic; using System.Text; namespace Estudo { public class PessoaJuridica : Pessoa { private string cnpj;

SPRING - VALIDAÇÃO. Altere o arquivo formulario.jsp como segue:

Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz /05/13. Questão: Total Pontos: Gráu:

Projeto Java Web (WebService) LIBS:

Unidade 9: Middleware JDBC para Criação de Beans

Objetivos: Sun recomenda que utilize o nome de domínio da Internet da empresa, para garantir um nome de pacote único

Estruturas (Registros)

Introdução. Extends e Super. Exercício Prático 5 Herança. Nome:

A Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação

HIBERNATE Criando um projeto em Java + Hibernate do zero

Herança. Algoritmos e Programação II. Aula 5 Herança

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

Programação Orientada a Objetos em Java

Sistema Futebol - Java

INSTITUTO DE COMPUTAÇÃO UNICAMP 1o. SEMESTRE DE Profa. Cecília M. F. Rubira

FINAL: CÓDIGO-FONTE DA MIDLET

Guia de Fatores de Qualidade de OO e Java

Classe Produto e Calculo de Produto

Código-Fonte da Prática 04

Nome do Aluno: Matrícula: Turma: Data: 08/04/2013

Padrões de Projeto e Persistência com DAO

Análise de Programação

8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza

WebWork 2. João Carlos Pinheiro.

Programação de Computadores - I. Profª Beatriz Profº Israel

Java Server Pages (JSP)

Avançando em Java com Polimorfismo. Prof.: Hugo Barros

Curso de Java. Acesso a banco de dados através do Hibernate. Todos os direitos reservados Klais

A Linguagem Java. Alberto Costa Neto DComp - UFS

Herança; Sobrescrita, Sobrecarga e Polimorfismo; Classes abstratas e concretas (finais).

SISTEMA EXPERIMENTALL 15/11/2009. Olá! A partir de agora vamos conhecer a IDE NetBeans efetuando um micro projeto swing.

PHP: Programando com Orientação a Objetos

Mecanismo de Persistência

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Interfaces POO. Prof. Marcio Delamaro

Transcrição:

public abstract class Entidade { protected int codigo = 0; protected Date cadastro = new Date(); public Entidade() { public Date getcadastro() { return cadastro; public void setcadastro(date cadastro) { this.cadastro = cadastro; public int getcodigo() { return codigo; public void setcodigo(int codigo) { this.codigo = codigo; public abstract class Pessoa extends Entidade { protected String nome; protected String endereco; protected String numero; protected String complemento; protected String cep; protected String cidade; protected String estado; protected String bairro; protected String telefone; protected String celular; protected String email; public String getbairro() { return bairro; public void setbairro(string bairro) { this.bairro = bairro; public String getcelular() { return celular; public void setcelular(string celular) { this.celular = celular;

public String getcep() { return cep; public void setcep(string cep) { this.cep = cep; public String getcidade() { return cidade; public void setcidade(string cidade) { this.cidade = cidade; protected String getcomplemento() { return complemento; public void setcomplemento(string complemento) { this.complemento = complemento; public String getemail() { return email; public void setemail(string email) { this.email = email; public String getendereco() { return endereco; public void setendereco(string endereco) { this.endereco = endereco; public String getestado() { return estado; public void setestado(string estado) { this.estado = estado; public String getnome() { return nome; public void setnome(string nome) { this.nome = nome; public String getnumero() { return numero; public void setnumero(string numero) { this.numero = numero; public String gettelefone() { return telefone;

public void settelefone(string telefone) { this.telefone = telefone; public String verificanome(){ if ( this.nome.equals("")) return "Em Branco"; else return "Preenchido"; public class Cliente extends Pessoa{ private Date nascimento; private int idade; private String cpf; private String rg; public String getcpf() { return cpf; public void setcpf(string cpf) throws Exception { if ( cpf.equals("") ) throw new Exception("CPF inválido!!"); this.cpf = cpf; public int getidade() { return idade; public void setidade(int idade) { this.idade = idade; public Date getnascimento() { return nascimento; public void setnascimento(date nascimento) { this.nascimento = nascimento; public String getrg() { return rg; public void setrg(string rg) { this.rg = rg; @Override public String verificanome(){ if ( this.nome.equals("")) return "Em Branco"; else return this.nome;

public class Fornecedor extends Pessoa{ private String razao; private String cnpj; private String inscricao; public Fornecedor() { public Fornecedor(String razao, String cnpj, String inscricao) { this.razao = razao; this.cnpj = cnpj; this.inscricao = inscricao; public String getcnpj() { return cnpj; public void setcnpj(string cnpj) throws Exception { if ( cnpj.equals("") ) throw new Exception("CNPJ do fornecedor invalido!"); this.cnpj = cnpj; public String getinscricao() { return inscricao; public void setinscricao(string inscricao) throws Exception { if ( inscricao.equals("") ) throw new Exception("Incrição do fornecedor invalida!"); this.inscricao = inscricao; public String getrazao() { return razao; public void setrazao(string razao) throws Exception { if ( razao.equals("") ) throw new Exception("Razão do fornecedor invalida!"); this.razao = razao; public class Vendedor extends Pessoa{ private int idade; private Date nascimento; private Date admissao; private Date demissao; private double comissao; public Date getadmissao() { return admissao; public void setadmissao(date admissao) { this.admissao = admissao; public double getcomissao() { return comissao; public void setcomissao(double comissao) { this.comissao = comissao;

public Date getdemissao() { return demissao; public void setdemissao(date demissao) { this.demissao = demissao; public int getidade() { return idade; public void setidade(int idade) { this.idade = idade; public Date getnascimento() { return nascimento; public void setnascimento(date nascimento) { this.nascimento = nascimento; public class Produto extends Entidade{ private String descricao; private double estoque; private double custo; private double venda; public double getcusto() { return custo; public void setcusto(double custo) { this.custo = custo; public String getdescricao() { return descricao; public void setdescricao(string descricao) throws Exception { if ( descricao.equals("") ) throw new Exception("A descrição do produto deve ser informada!"); this.descricao = descricao; public double getestoque() { return estoque; public void setestoque(double estoque) { this.estoque = estoque; public double getvenda() { return venda; public void setvenda(double venda) throws Exception { if ( venda <= 0 ) throw new Exception("Valor de venda do produto inválido!"); this.venda = venda;

public class Item { private Produto produto; private double quantidade; private double valor; public Item(Produto produto, double quantidade, double valor) { this.produto = produto; this.quantidade = quantidade; this.valor = valor; public Item() { public Produto getproduto() { return produto; public void setproduto(produto produto) throws Exception{ if ( ( produto == null ) ( produto.getcodigo() == 0 ) ) throw new Exception("É necessário informar o produto!"); this.produto = produto; public double getquantidade() { return quantidade; public void setquantidade(double quantidade) throws Exception{ if ( quantidade <= 0 ) throw new Exception("Quantidade do produto inválida!"); this.quantidade = quantidade; public double getvalor() { return valor; public void setvalor(double valor) throws Exception{ if ( valor <= 0 ) throw new Exception("Valor do produto inválido!"); this.valor = valor; public double gettotal(){ return this.valor * this.quantidade; public class Venda { private Date data; private int numero; private Cliente cliente; private Vendedor vendedor; private List<Item> itens; public Venda(Date data, int numero, Cliente cliente, Vendedor vendedor) { this.data = data; this.numero = numero; this.cliente = cliente; this.vendedor = vendedor;

this.itens = new ArrayList<Item>(); public Venda() { this.data = new Date(); this.numero = 0; this.itens = new ArrayList<Item>(); public Cliente getcliente() { return cliente; public void setcliente(cliente cliente) throws Exception{ if ( ( cliente == null ) ( cliente.getcodigo() == 0 ) ) throw new Exception("Cliente Inválido!"); this.cliente = cliente; public Date getdata() { return data; public void setdata(date data) { this.data = data; public List<Item> getitens() { return itens; public void setitens(list<item> itens) { this.itens = itens; public int getnumero() { return numero; public void setnumero(int numero) { this.numero = numero; public Vendedor getvendedor() { return vendedor; public void setvendedor(vendedor vendedor) throws Exception{ if ( ( vendedor == null ) ( vendedor.getcodigo() == 0 ) ) throw new Exception("Vendedor Inválido!"); this.vendedor = vendedor; public double gettotalvenda(){ double total = 0; for (Item item : itens) { total = total + item.gettotal(); return total; public void additem(item item) throws Exception{ if ( ( item.getproduto().getcodigo() == 0 ) && (item.gettotal() == 0)) throw new Exception("Item inválido!");

this.itens.add(item); public void removeitem(item item) throws Exception{ if ( ( item.getproduto().getcodigo() == 0 ) && (item.gettotal() == 0)) throw new Exception("Item inválido!"); for(int i = 0; i<this.itens.size(); i++){ if ( this.itens.get(i).getproduto().getcodigo() == item.getproduto().getcodigo()){ this.itens.remove(i); break; public void valida() throws Exception{ if ( this.itens.isempty()) throw new Exception("Não existe itens cadastrados para esta venda!"); if ( (this.cliente == null) (this.cliente.getcodigo() == 0)) throw new Exception("É necessário informar o cliente!"); if ( (this.vendedor == null) (this.vendedor.getcodigo() == 0)) throw new Exception("É necessário informar o vendedor!"); if ( this.numero <= 0) throw new Exception("Numero da venda inválido!"); public class Util { public static Cliente criaobjetocliente(int codigo, String nome, int idade) throws Exception{ Cliente c = new Cliente(); c.setcodigo(codigo); c.setnome(nome); c.setcpf("000.000.000-00"); c.setidade(idade); c.setnascimento(new Date()); c.setrg("mg 11223333"); Util.setDadosComum(c); return c; public static Vendedor criaobjetovendedor(string nome, double comissao){ Vendedor v = new Vendedor(); v.setadmissao(new Date()); v.setcomissao(comissao); v.setdemissao(new Date()); v.setidade(20); v.setnascimento(new Date()); Util.setDadosComum(v); return v; public static Produto criaobjetoproduto(int codigo, String desc) throws Exception{

Produto p = new Produto(); p.setcadastro(new Date()); p.setcodigo(codigo); p.setcusto(10); p.setdescricao(desc); p.setestoque(100); p.setvenda(20); return p; private static void setdadoscomum(pessoa obj){ obj.setbairro("centro"); obj.setcadastro(new Date()); obj.setcelular("9999-9999"); obj.setcep("37700-001"); obj.setcidade("poços de Caldas"); obj.setcomplemento("apto 1"); obj.setemail("contato@pucpcaldas.br"); obj.setendereco("rua Assis"); obj.setestado("mg"); obj.setnumero("1000"); obj.settelefone("(35) 3722-3322");