Java Standard Edition (JSE)

Documentos relacionados
Java na Prática. Célio Silva Aula 3

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Disciplina: Unidade III: Prof.: Período:

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

Introdução à orientação a objetos

Modelo Lógico: Tabelas, Chaves Primárias e Estrangeiras

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves

Comandos de Eletropneumática Exercícios Comentados para Elaboração, Montagem e Ensaios

Programação Orientada a Objetos SANTOS, Rafael

Os passos a seguir servirão de guia para utilização da funcionalidade Acordo Financeiro do TOTVS Gestão Financeira.

Análise e Projeto Orientado a Objetos. Nazareno Andrade Baseado no material dos profs. Hyggo Almeida e Jacques Sauvé

Fundamentos de Bancos de Dados 3 a Prova Caderno de Questões

8 Crie um pequeno sistema para controle automatizado de estoque, com os seguintes registros:

Herança. Prof. Leonardo Barreto Campos 1

Manual de Utilização. Ao acessar o endereço chegaremos a seguinte página de entrada: Tela de Abertura do Sistema

epucc.com.br SAIBA COMO INCLUIR INFORMAÇÕES DE COLABORADORES, CENTROS DE CUSTO E RATEIO DE DESPESAS

Prof. José Maurício S. Pinheiro - UGB

Banco de Dados. Banco de Dados Parte 2. Alcides Pamplona Alcides Pamplona Linguagem de Programação CESBD 2010

PROGRAMAÇÃO DE COMPUTADORES

Assessoria Técnica de Tecnologia da Informação - ATTI. Projeto de Informatização da. Secretaria Municipal de Saúde do. Município de São Paulo

2 Segmentação de imagens e Componentes conexas

ADMINISTRAÇÃO DE BANCOS DE DADOS MÓDULO 8

CRIAÇÃO DE TABELAS NO ACCESS. Criação de Tabelas no Access

Manual do Usuário (Firma Inspetora) Versão 1.8. CMCP - Controle da Marcação Compulsória de Produtos

Revisão Diagrama de Caso de Uso. Rodolfo Adamshuk Silva 30/08/2013

Capítulo 9 - Imagens. Imagens

Solicitação de Autorização Intercâmbio

Gestão de Actas Escolares. Manual Utilizador. (Versão 4)

Procedimento para Adequações às Mudanças Tecnológicas do Módulo Autorizador v4

Prova de Fundamentos de Bancos de Dados 1 a Prova

PLANO MUNICIPAL DE SANEAMENTO BÁSICO PMSB PRODUTO IX METODOLOGIA PARA CRIAÇÃO DO SISTEMA DE INFORMAÇÕES PARA AUXÍLIO À TOMADA DE DECISÃO

O sistema gestor já contem uma estrutura completa de categorias que são transferidas automaticamente para cada empresa nova cadastrada.

TUTORIAL MATLAB Victor Breder 2016

Sobre o Visual C

Programação Orientada a Objetos

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Configuração para Uso do Tablet no GigaChef e Outros Dispositivos

,QVWDODomR. Dê um duplo clique para abrir o Meu Computador. Dê um duplo clique para abrir o Painel de Controle. Para Adicionar ou Remover programas

WorkShop PUP. 1. Sobre a empresa TI-Fácil

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

INTRODUÇÃO À PROGRAMAÇÃO II VARIÁVEIS COMPOSTAS HOMOGÊNEAS UNIDIMENSIONAIS

Diagrama de Componentes e Implantação

Programação Orientada a Objetos. Professor Leonardo Cabral - Larback

AULA 1 INTRODUÇÃO A BANCO DE DADOS E VISÃO GERAL DO SQL CONCEITUANDO BANCO DE DADOS MODELO RELACIONAL

Análise de Sistemas 3º Bimestre (material 2)

SIG-ISS Manual de integração do WebService para NFS-e

Os salários de 15 áreas de TI nas cinco regiões do Brasil

Processo de Gerenciamento do Catálogo de Serviços de TIC

MANUAL DO PUBLICADOR

django-pagseguro Documentation

Fundamentos de Programação. Diagrama de blocos

Capítulo 1. Importação de Dados de Instituições Financeiras - Arquivo TXT 3

Anabela Viegas, Recursos Humanos Portal de Gestão Documental do Colaborador Guia para consulta rápida

Cadastro de Usuários Manual de Usuário 09/05/2011 FAPESP

Inteligência Artificial

Plant Design.com

Arquitecturas de Software Enunciado de Projecto

Tópicos Avançados em Banco de Dados Dependências sobre regime e controle de objetos em Banco de Dados. Prof. Hugo Souza

CONSELHO REGIONAL DE ENFERMAGEM DE SÃO PAULO. Resposta aos questionamentos efetuados pela empresa TOTVS, temos a informar conforme segue:

Manual do Desenvolvedor Geração de Tokens

Análise Qualitativa no Gerenciamento de Riscos de Projetos

Padrões de Projeto. Factory Method

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz

Árvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão

Exercício. Exercício

Conceitos básicos sobre computadores

Manual para utilização da funcionalidade de importar arquivo XML para prestação de contas

Cadeira de Tecnologias de Informação. Ano lectivo 2009/2010. Sites dinâmicos. Com Expression Web TI2009/10 EWD_1. Filipa Pires da Silva (2009)

1 Visão Geral. 2 Instalação e Primeira Utilização. Manual de Instalação do Gold Pedido

SISTEMA OPERACIONAL - ANDROID

Curso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES

Tecnologia da Informação

Estrutura de Diretórios Linux. Rodrigo Gentini

II Semana de Ciência e Tecnologia do IFMG campus Bambuí II Jornada Científica 19 a 23 de Outubro de 2009

COMO CRIAR UM PEDIDO DE COMPRAS

Orientação a Objetos

CATÁLOGO DE APLICAÇÕES Rateio CC Contas a Pagar

tipo e tamanho e com os "mesmos" elementos do vetor A, ou seja, B[i] = A[i].

TUTORIAL - Importação de dados de coleta de larvas de Aedes aegypti na Bairro de Higienópolis no município do Rio de Janeiro para o SPRING

Registro de Retenções Tributárias e Pagamentos

FERRAMENTAS DA QUALIDADE FOLHA DE VERIFICAÇÃO

Sistema NetConta I - Guia de Referência Rápida

Trabalho Prático II - Resta 1 Data de Entrega: Conferir no calendário!

ENG1000 Introdução à Engenharia

Guia de desenvolvimento de um aplicativo para o sistema operacional Android

Índice. Conteúdo. Planilha Profissional Para Cálculo de Preços de Artesanato

Programação Orientada a Objetos (DPADF 0063)

BANCO DE DADOS. Vinícius Pádua

Algoritmos APRENDENDO A PROGRAMAR COM C#

HEMOVIDA (CICLO DO SANGUE - Gerenciamento de estoque para grandes eventos)

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 2 PERÍODO MÓDULO 3 AVALIAÇÃO MP2 DATA 2/10/2008 ESTRUTURAS DE DADOS 2008/2

Desenvolvimento de Software

COMO USAR O FACEBOOK PARA AUMENTAR SUAS VENDAS DE COSMÉTICOS

Programação para a Plataforma Android Aula 17. Broadcasts

Transcrição:

Java Standard Edition (JSE) Capítulo 07. Classes abstratas Esp. Márcio Palheta MSN: marcio.palheta@hotmail.com 1

Novos recursos a aprender Conceito de classes abstratas; Declaração e uso de classes abstratas; Identificação de oportunidades de uso; 2

Cenário 01 - Bonificação A empresa Empretech tem o hábito de pagar gratificação a seus funcionários, conforme visto no capítulo anterior; Um colaborador pode ser Gerente ou um funcionário comum; O pagamento das gratificações deve ser armazenado A seguir, veremos as classes citadas; 3

Cenário 01: Classe Funcionario 4

Cenário 01: ControleBonificacao 5

Itens importantes: O método registra() recebe qualquer referência a Funcionario ou um subtipo; A classe Funcionario está sendo usada para o polimorfismo; Com isso, podemos criar métodos genéricos que podem ser utilizados por seus objetos; OPS! E se fosse criada uma classe genérica? Abstrata? 6

Cenário: Outros tipos de funcionário Após a definição do plano de cargos, ficou definido que todo funcionário deve ser: Diretor, Gerente ou Operário; A classe Funcionario poderia conter os métodos e atributos comuns, mas deixa de fazer sentido o comando: Funcionario func = new Funcionario(); E o que fazer para evitá-lo? 7

Uma classe modelo O que passa a ser nossa classe Funcionario, uma vez que a empresa só tem Diretor, Gerente ou Operário? A classe Funcionario oferece um modelo com as funcionalidades comuns; O modelo não pode ser instanciado; A implementação desse modelo fica a cargo de suas subclasses concretas; 8

Pessoa Física ou Jurídica Imagine a classe Pessoas e duas classes filhas: PessoaFisica e PessoaJuridica; Em um cadastro, por exemplo, o cliente sempre será do tipo PessoaFisica ou PessoaJuridica; Faz sentido que o cliente seja simplesmente do tipo Pessoa? A classe pessoa serve apenas de modelo, permitindo o polimorfismo; 9

Classes abstratas São classes que servem de modelo para outras classes; Não podem ser instanciadas; A implementação deve ocorrer em suas subclasses concretas; Utilizadas para mantermos o polimorfismo; 10

Classe abstrata Funcionario: abstract class 11

Representação Gráfica UML Diagrama de classes 12

A classe concreta Gerente A classe Gerente é filha da classe Funcionario e, aqui, sobrescreve o método getbonificacao(); 13

Métodos abstratos Se o método getbonificacao não fosse sobrescrito, seria herdado da classe mãe, retornando 20% do salário; Uma vez que cada tipo de funcionário tem um percentual diferente para o cálculo, faz sentido implementá-lo na classe Funcionario? Precisamos que cada classe sobrescreva o método getbonificacao(); 14

Método abstrato: getbonificacao() Para garantir que cada subclasse implemente um determinado método, devemos declará-lo como abstrato: 15

Considerações finais Qualquer classe filha da classe Funcionario, é obrigada a implementar o método getbonificacao(); Caso o método não seja implementado, ocorrerá erro de compilação; 16

Exercício 01 Crie um novo Java Project: Capitulo07 Utilize o pacote: br.fucapi.treinamento.jse Crie a classe abstrata Funcionario, com atributos, métodos de get e set, além do método abstrato getbonificacao(); Crie as classes Gerente e Operario, filhas de Funcionario; O que acontece quando criamos as classes filhas; 17

Exercício 02 Na classe Funcionário, inclua o campo int matricula, apenas com método de get; Altere o código de Funcionario para que a matrícula seja gerada automaticamente Crie uma classe teste, com as seguintes opções: Criar e armazenar N funcionários (ArrayList); Imprimir total de bonificações por grupo: Gerente, Operário ou ambos; 18

Exercício 03 Desenvolva uma classe abstrata que contenha as características básicas de polígonos genéricos no plano (triângulos, retângulos etc). Características: nome, número de lados e o tamanho de cada lado; Métodos comuns: impressão e alteração de dados, cálculo da área e perímetro; Defina subclasses triângulos, retângulos e quadrado. Desenvolva um programa de teste que permita: Criar e armazenar N polígonos (Array dinâmico); Listar os dados de polígonos armazenados; Excluir um polígono, de acordo com o nome; Consultar os dados de um polígono, passando o nome; 19

Bibliografia Java - Como programar, de Harvey M. Deitel Use a cabeça! - Java, de Bert Bates e Kathy Sierra (Avançado) Effective Java Programming Language Guide, de Josh Bloch 20

Referências WEB SUN: www.java.sun.com Fóruns e listas: Javaranch: www.javaranch.com GUJ: www.guj.com.br Apostilas: Argonavis: www.argonavis.com.br Caelum: www.caelum.com.br 21

Java Standard Edition (JSE) Capítulo 07. Classes abstratas Esp. Márcio Palheta MSN: marcio.palheta@hotmail.com 22