PROGRAMAÇÃO ORIENTADA A OBJETOS I -TÉCNICAS DE OO. Prof. Angelo Augusto Frozza, M.Sc.

Tamanho: px
Começar a partir da página:

Download "PROGRAMAÇÃO ORIENTADA A OBJETOS I -TÉCNICAS DE OO. Prof. Angelo Augusto Frozza, M.Sc."

Transcrição

1 PROGRAMAÇÃO ORIENTADA A OBJETOS I -TÉCNICAS DE OO Prof. Angelo Augusto Frozza, M.Sc.

2 ROTEIRO Técnicas de Orientação a Objetos Classes e objetos Métodos Subscritos Métodos Sobrecarregados Herança Polimorfismo Classes Abstratas Interfaces

3 CLASSES Classes são os blocos de construção mais importantes de qualquer sistema O.O.; Uma Classe é uma descrição de um conjunto de objetos que compartilham os mesmos atributos, operações, relacionamentos e semântica; Classes capturam o vocabulário do sistema em desenvolvimento (substantivos, verbos e adjetivos); Podem incluir abstrações que são parte do domínio do problema; P.ex.: itens de software, de hardware e até itens puramente conceituais.

4 CLASSES A modelagem de um sistema envolve a identificação de itens considerados importantes de acordo com uma determinada visão Domínio do sistema Por exemplo: A construção de uma casa envolve paredes, portas, janelas, cômodos, luzes etc.; Cada conceito pode ser diferenciado dos demais [atributos, métodos (operações) e relacionamentos];

5 CLASSES Toda Classe possui: Nome - que a diferencie das outras classes; Atributos propriedades que descrevem um intervalo de valores que as instâncias da classe podem apresentar; Abstraem os tipos de dados ou estados que os objetos de uma classe podem abranger; Métodos (operações) implementam serviços que podem ser solicitados por algum objeto da classe para modificar seu comportamento; Abstraem algo que pode ser feito com um objeto; Algumas vezes, a chamada a uma operação de um objeto altera os atributos ou o estado do mesmo;

6 CLASSES public class Cliente { // Atributos // // Construtor da classe public Cliente() { // Métodos set e get // // Métodos da lógica de negócios //

7 CLASSES Visibilidade

8 CLASSES Visibilidade Private (-) Permite o acesso apenas pelos métodos da superclasse em que estão definidos; Public (+) Permite o acesso por qualquer método em qualquer lugar do programa; Protected (#) Permite o acesso apenas pelos métodos da superclasse em que estão definidos; por métodos de subclasses e por membros de outras classes no mesmo pacote;

9 CLASSES Métodos (operações) são descritos por: Visibilidade Nome Lista de parâmetros Tipo de retorno

10 CLASSES Encapsulamento É a técnica que faz com que detalhes internos do funcionamento dos métodos de uma Classe permaneçam ocultos para os objetos; Por conta dessa técnica, o conhecimento a respeito da implementação interna da classe é desnecessário do ponto de vista do objeto, uma vez que isso passa a ser responsabilidade dos métodos internos da classe. (Conceitos Encapsulamento: Programação Orientada a Objetos

11 CLASSES Encapsulamento Primeira regra: os atributos não podem ser manipulados diretamente em uma classe Em vez disso, deve-se usar métodos set e get Set usado para atribuir valor a um atributo private tipo_de_dado atributo; public void setatributo (tipo_de_dado parametro) { this.atributo = parametro;

12 CLASSES Encapsulamento Primeira regra: os atributos não podem ser manipulados diretamente em uma classe Em vez disso, deve-se usar métodos set e get Get usado para ler o valor de um atributo private tipo_de_dado atributo; public tipo_de_dado getatributo () { return this.atributo;

13 DIAGRAMA DE CLASSES Regras úteis: 1. Identificar todas as classes participando na solução proposta pelos diagramas de interação; 2. Desenhar as classes num diagrama de classe; 3. Incluir os atributos identificados no modelo conceitual; 4. Adicionar métodos tal como identificados nos diagramas de interação; 5. Adicionar informação sobre o tipo dos atributos e métodos; 6. Adicionar as associações necessária para permitir a visibilidade de atributos requisitada; 7. Adicionar setas de navegabilidade para indicar a direção da visibilidade de atributos; 8. Adicionar relacionamentos de dependência para indicar outros tipos de visibilidade;

14 BOAS PRÁTICAS DE PROGRAMAÇÃO Procure adotar boas práticas de programação Endentação correta do código No NetBeans use CRTL + SHIFT + F Convenção de nomes

15 EXERCÍCIO DE FIXAÇÃO Identifique e implemente as classes para os problemas listados a seguir (Aula006c): Clínica médica Reserva de passagens aéreas

16 RELACIONAMENTOS Objetos se relacionam entre si através de operações (métodos); Exemplo: Objeto FAZENDEIRO: operação tirarleite(); Objeto VACA: operação produzirleite(); Tipos de relacionamentos: Associação: simples, agregação, composição Herança Dependência

17 ATRIBUTOS DE UMA ASSOCIAÇÃO Nome Nome da associação Papéis Papéis das classes que estão relacionadas pela associação O papel da classe A é o nome do atributo que a classe B possui que guarda o objetivo da classe A Multiplicidades Quantidades de objetos associados a um papel Navegabilidade Indica a direção da relação entre as classes

18 ASSOCIAÇÃO SIMPLES Utilizada para relacionar duas classes cujos objetos podem se comunicar; Semanticamente representam que as classes "conhecem uma a outra", "estão conectadas com", "para cada X existe um Y ; Deve-se identificar o papel das classes na associação;

19 ASSOCIAÇÃO SIMPLES public class Funcionario { private Funcionario gerente; private List<Funcionario> subordinados = new ArrayList<Funcionario>(0); // Demais atributos // // Construtor public Funcionario() { // Métodos setters e getters //

20 AGREGAÇÃO Representa que um tipo de objeto é composto, pelo menos em parte, de outro objeto em uma relação todo/parte; O objeto parte é um atributo do objeto todo; O ciclo de vida do objeto parte é limitado ao ciclo de vida do objeto todo; Porém, a parte vive sem o todo e o todo existe sem as partes (relação todo-parte fraca); A agregação indica que uma das classes do relacionamento é uma parte ou está contida em outra classe Semanticamente representa: "consiste em", "contém", "é parte de".

21 AGREGAÇÃO Exemplo: Marina e navios: uma marina contém navios Carro e rodas Pedido e item de pedido

22 AGREGAÇÃO public class Navio { private String nomenavio; Outro exemplo: Pedido e ItemPedido public Navio() { public class Marina { private String nomemarina; private ArrayList<Navio> navios; public Marina() { navios = new ArrayList<Navio>(); public void add(navio umnavio) { navios.add(umnavio);

23 COMPOSIÇÃO Semelhante a agregação; Existe quando uma classe é composta por outra, de tal forma que a parte que compõe não existe se não existir o todo; Relação todo-parte forte: a parte não vive sem o todo ; Semanticamente equivale a um atributo ( é composto de ); Partes de uma composição não podem ser referenciadas por objetos externos; A remoção do todo implica na remoção das partes; Exemplo: Vaca é composta por Chifres, Cascos, Rabo, Úbere etc.

24 COMPOSIÇÃO public class Peca{ private int codigopeca; public Peca() { public class Motor { private int idmotor; private ArrayList<Peca> pecas; public Motor() { pecas = new ArrayList<Pecas>(); public void add(peca umapeca) { pecas.add(umapeca);

25 AGREGAÇÃO X COMPOSIÇÃO Imagine um cenário com 2 objetos: "A" e "B Estamos na dúvida da relação entre eles, então fazemos as perguntas a seguir: 1 - Se eu "deletar" o A, terei que "deletar" também o B? Sim = Composição Não = pode ser Agregação ou nada (vá para a pergunta 2) Exemplo: Pedido e Compras: um Pedido pode ter várias Compras, mas se excluir o Pedido, precisa excluir as Compras não faz sentido ter um objeto Compra sem que ele esteja em algum Pedido sua única razão de existir é "compor" um pedido

26 AGREGAÇÃO X COMPOSIÇÃO 2 - O objeto B tem alguma utilidade sozinho? Sim = Associação simples Não = Agregação Exemplo: Carro e Rodas: se excluir um Carro, não precisa excluir suas Rodas, pois elas podem servir para outro Carro. Porém, uma roda tem utilidade sozinha? Geralmente não, ela serve sempre para "agregar" uma funcionalidade a outro objeto, como a funcionalidade de andar ao Carro (ou a um outro veículo qualquer), ou até mesmo a funcionalidade para crianças sentarem em um "balanço de árvore" etc.

27 AGREGAÇÃO X COMPOSIÇÃO O caso de Composição é o mais claro; Já o de Agregação muitas vezes depende da interpretação do analista, pois alguém pode contestar que uma roda tem sim uma utilidade sozinha para algum caso bizarro que ele observou, ou que existe no "mundo particular dele".

28 HERANÇA (GENERALIZAÇÃO) Uma classe pode possuir um relacionamento de herança com outra classe (mãe e filha); A classe mãe é menos especializada (mais genérica) que a classe filha; Semanticamente representa é um tipo ou é do tipo ; Por exemplo: Vaca é um tipo de mamífero a classe Vaca é derivada da classe Mamifero

29 HERANÇA public class Veiculo{ private String chassi; private String placa;... public Veiculo() { public class VeiculoDeCarga extends Veiculo { private double cargamaxima; public VeiculoDeCarga () { public class VeiculoDePasseio extends Veiculo { private double quantidadedepassageiros; public VeiculoDePasseio () {

30 HERANÇA Tutorial

31 DEPENDÊNCIA A Dependência deixa explícito que uma mudança na especificação de um elemento pode alterar a especificação do elemento dependente; Os objetos de uma classe esporadicamente usam serviços dos objetos de outra classe; Exemplos de uso: Uma classe chama métodos de outra; Uma classe tem operações que retornam outra classe; Uma classe tem operações que esperam como parâmetro outra classe;

32 DEPENDÊNCIA public class Moeda { public Moeda(double umvalor, String umnome) { public double getvalor() { public class CaixaRegistradora { public CaixaRegistradora() { public void entrepagamento (int qtdmoeda, Moeda tipomoeda) {

33 INTERFACE É uma classe sem nenhuma implementação; Contem apenas atributos static final; Todas as operações são abstratas; Os métodos têm apenas a sua assinatura; O relacionamento de realização indica as classes que implementam a interface; Equivale a generalização; É uma alternativa para a herança múltipla em Java;

34 INTERFACE public interface Autenticavel { public boolean autentica(int senha); public class Gerente implements Autenticavel { public Gerente () { public boolean autentica (int senha) { public class Cliente implements Autenticavel { public Cliente () { public boolean autentica (int senha) {

35 MULTIPLICIDADE Representa o número de elementos de uma propriedade; Estrutura X..Y onde: Opcional: X = 0 Mandatório: X = 1 Somente um valor: Y = 1 Multivalorado: Y > 1 Valores clássicos: (equivalente a 1..1 default) * (equivalente a 0..*) 1..*

36 CLASSES DE ASSOCIAÇÃO Permitem a adição de informações em uma associação; Devem ser transformadas em classes comuns posteriormente para viabilizar implementação;

37 PROPRIEDADES E OPERAÇÕES ESTÁTICAS Propriedades que não são instanciadas nos objetos; Operações que atuam somente sobre propriedades estáticas; Ambos são acessados diretamente na classe: Exemplo: Pedido.getProximoNumero(); Não é necessário um objeto para acessar a propriedade; Operações estáticas são sublinhadas no diagrama;

38 PROPRIEDADES E OPERAÇÕES ESTÁTICAS public class ContaBancaria { private double saldo; private int numeroconta; private static int ultimacontacriada = 1000; public static final double TAXA_CHEQUE_ESPECIAL = 5; public ContaBancaria () { // aqui vai uma forma de inicializar a // propriedade estática, por exemplo: this.ultimacontacriada++; this.numeroconta = this.ultimacontacriada; Desafio: Implementar um protótipo do jogo Percorrer Labirinto.

39 PROPRIEDADES DERIVADAS São propriedades que na verdade não existem como atributos ou associações; Podem ser inferidas por outras propriedades da classe; É interessante explicitar através de nota ou restrição a fórmula de derivação; São marcadas com o símbolo / ;

40 CLASSES E OPERAÇÕES ABSTRATAS Classes que não podem ter instâncias Usualmente têm operações abstratas, ou seja, sem implementação; Suas subclasses usualmente são concretas Implementam métodos com comportamentos específicos para as operações abstratas; Utilizam nome em itálico;

41 PACOTES Em algumas situações se deseja ter uma visão geral das partes do sistema; Para isso, o diagrama de pacotes é a ferramenta indicada; Pacotes agregam classes e outros pacotes Dependências podem ser inferidas indiretamente; Exemplo: Classe C1 pertence ao pacote P1 Classe C2 pertence ao pacote P2 Classe C1 depende da classe C2 Logo, pacote P1 depende do pacote P2

42 PACOTES

43 POLIMORFISMO O polimorfismo indica o princípio de que o comportamento pode variar com base no tipo real de um objeto; Podemos escrever métodos que recebem instâncias de uma classe C e esses mesmos métodos serão capazes de processar instâncias de qualquer classe que herde da classe C;

44 POLIMORFISMO Tutorial:

45 MÉTODOS SUBSCRITOS Refere-se a possibilidade de se reescrever a implementação (override) de um método existente em uma superclasse public class Pessoa { protected String nome; protected String endereco; public Pessoa() {... public String getnome() { return nome;

46 MÉTODOS SUBSCRITOS public class Aluno extends Pessoa { public Aluno() { //se os membros foram declarados como protected super.nome = Algum nome ; super.endereco = Algum endereco ; System.out.println( Construtor de Aluno... public String getnome() { System.out.println( getnome da sub-classe ); return nome; public void meumetodo(string algo) { System.out.println( Metodo do aluno... + algo);

47 MÉTODOS SUBSCRITOS public class Empregado extends Pessoa { public Empregado() public String getnome() { System.out.println( Nome do empregado: + nome); return nome;

48 MÉTODOS SOBRECARREGADOS Dois métodos de uma mesma classe podem ter o mesmo nome, desde que suas listas de parâmetros sejam diferentes, constituindo assim uma assinatura diferente Tal situação não gera conflito pois o compilador é capaz de detectar qual método deve ser escolhido a partir da análise dos tipos de argumentos do método. public static void setano (ano: integer) {... public static void setano (ano: String) {...

49 Associação (linha contínua): as duas classes são independentes e podem trabalhar juntas. A visibilidade destaca qual lado consegue enxergar as extremidades da associação, mas ambas as classes podem estabelecer o relacionamento. Exemplo: Cliente e Fornecedor.

50 Dependência (seta tracejada): é o relacionamento mais fraco da UML, simplesmente diz que um elemento client (que atira a seta) é semanticamente ou estruturalmente dependente do supplier (que recebe a seta). Exemplo: Produto e AliquotaImposto.

51 Agregação (linha contínua com diamante branco): a classe que possui o diamante branco controla a associação. Exemplo: Equipe e Pessoa. A equipe é quem pode estabelecer o relacionamento, você adiciona pessoas à equipe. Uma pessoa por sí só não pode "entrar na equipe". É a equipe que manda no relacionamento, mas mesmo assim, as classes são independentes. Pessoas existem fora de equipes. METÁFORA: Podemos dizer que a classe que possui o diamante branco é a MULHER, ela quer controlar o relacionamento!

52 Composição (linha contínua com diamante negro): a composição é uma agregação mais forte. A classe que possui o diamante controla a associação, e além disso, a outra classe só pode existir associada à classe que tem o diamante e não pode estar associada a outras instâncias. Exemplo: Nota e ItemNota, Pedido e ItemPedido. METÁFORA: A classe com o diamante negro é uma MULHER CIUMENTA, além de controlar o relacionamento, não permite que o composto se associe com mais ninguém e julga que o outro não existe sem ela...

53 TUTORIAL OO Java e Orientação a Objetos Apostila do curso FJ-11 (Caelum Ensino e Inovação) Programação Orientada a Objetos

Linguagem de Programação. Diagrama de classes

Linguagem de Programação. Diagrama de classes Linguagem de Programação Diagrama de classes Joyce França Professora de Ciência da Computação - IFNMG 2 Agenda Diagrama de classes Herança Associação Agregação Exercícios 3 Diagrama de classes Mostra um

Leia mais

Java para Desktop. Programação Orientada à Objetos 2 JSE

Java para Desktop. Programação Orientada à Objetos 2 JSE Java para Desktop Programação Orientada à Objetos 2 JSE Encapsulamento significa "ocultar informações, ele define que cada objeto contém todos os detalhes de implementação necessários sobre como ele funciona

Leia mais

Programação Orientada a Objetos Relacionamentos entre classes

Programação Orientada a Objetos Relacionamentos entre classes Programação Orientada a Objetos Relacionamentos entre classes Prof. Vicente Paulo de Camargo RELACIONAMENTO ENTRE CLASSES Interface agregação Dependencia composição generalização associação RELACIONAMENTO

Leia mais

Diagrama de Classes. Classes. Relacionamentos. Atributos Métodos. Associação. Generalização Dependência Realização. Agregação Composição

Diagrama de Classes. Classes. Relacionamentos. Atributos Métodos. Associação. Generalização Dependência Realização. Agregação Composição Diagrama de Classes Diagrama de Classes Classes Atributos Métodos Relacionamentos Associação Agregação Composição Generalização Dependência Realização Sobre Classes São o elemento mais importante de qualquer

Leia mais

Classes e Objetos. Sintaxe de classe em Java

Classes e Objetos. Sintaxe de classe em Java Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados

Leia mais

Programação Orientada a Objetos JAVA - NETBEANS

Programação Orientada a Objetos JAVA - NETBEANS Programação Orientada a Objetos JAVA - NETBEANS Agenda Programação Orientada a Objeto (POO) Conceitos sobre POO Pilares da POO Objeto Classe Construtores Troca de Mensagens Pilares da POO Encapsulamento

Leia mais

Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento

Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento Professora Sheila Cáceres Variáveis locais Campos são um tipo de variável. Eles: armazenam valores por toda a vida de um objeto; e

Leia mais

Diagrama de Classes. Viviane Torres da Silva 2/es1

Diagrama de Classes. Viviane Torres da Silva  2/es1 Diagrama de Classes Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2010. 2/es1 O que é? Diagrama mais utilizado da UML Representa os tipos (classes) de objetos de um

Leia mais

TÉCNICAS DE ORIENTAÇÃO A OBJETOS

TÉCNICAS DE ORIENTAÇÃO A OBJETOS TÉCNICAS DE ORIENTAÇÃO A OBJETOS APLICAÇÃO EM: C# E JAVA Sumário INTRODUÇÃO... 4 PARADIGMAS DE PROGRAMAÇÃO... 5 PROGRAMAÇÃO PROCEDURAL... 5 PROGRAMAÇÃO ESTRUTURADA... 5 PROGRAMAÇÃO ORIENTADA A OBJETOS...

Leia mais

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo

15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo DCC / ICEx / UFMG Primeiro Diagrama de Classes Diagrama de Classes Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Professor Aluno matricula Outro Diagrama de Classes Diagrama de Classes Serve de

Leia mais

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc. Orientação a Objetos Revisão Conceitos CLASSE CLASSIFICAÇÃO GENERALIZAÇÃO ESPECIALIZAÇÃO HERANÇA INTERFACES POLIMORFISMO SOBRECARGA ENCAPSULAMENTO ABSTRAÇÃO MODULARIZAÇÃO 9 CLASSE Classe é um agrupamento

Leia mais

Orientação a objetos. Objetos ou Instâncias I

Orientação a objetos. Objetos ou Instâncias I Orientação a objetos Objetos ou Instâncias Métodos ou Mensagens Encapsulamento Classes Variáveis da Classe X Variáveis da Instância Métodos da Classe X Métodos da Instância Relacionamentos Identificando

Leia mais

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes - Programação Java - Herança, Classes Abstratas e Interfaces - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes

Leia mais

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II Classes e Objetos Objetos Um conjunto de estados e comportamentos Classes Um modelo para a criação de objetos 1 Pacotes e Java API Pacotes Um conjunto

Leia mais

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Herança Aula de Hoje Problema Considere uma empresa que tenha tipos de empregados no aplicativo de folha de pagamento Um empregado tem nome,

Leia mais

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira Engenharia de Software Aula 10 Representação dos Conceitos de Orientação a Objetos Prof. Me. Rogério Ferreira 2 Roteiro Representação dos Conceitos OO Mensagens Navegabilidade Pacotes Encapsulamento Herança

Leia mais

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos

UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro A importância da UML para projetar sistemas. Principais características do diagrama de classes e de sequência.

Leia mais

Herança Tiago Eugenio de Melo

Herança Tiago Eugenio de Melo Herança Tiago Eugenio de Melo tiago@comunidadesol.org Herança Conceito: Herança é a capacidade de especializar tipos de objetos (classes), de forma que os tipos especializados contenham, além de características

Leia mais

Diagrama de Classes (Notação) - Aula 11 (parte 2)

Diagrama de Classes (Notação) - Aula 11 (parte 2) Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX Diagrama de Classes (Notação) - Aula 11 (parte 2) Prof. Fernando Maia da Mota Slides gentilmente cedidos por Profa. Dra. Maria Istela

Leia mais

p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco

p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco 1 Expandindo o Sistema p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco class Diretor extends Funcionario { public boolean autentica(int senha)

Leia mais

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES. MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES lucelia.com@gmail.com Externamente ao sistema, os atores visualizam resultados de cálculos, relatórios produzidos, confirmações de requisições solicitadas,

Leia mais

Herança. Herança. Herança. Herança. Herança. Programação Orientada a Objetos

Herança. Herança. Herança. Herança. Herança. Programação Orientada a Objetos e Ligação Dinâmica Programação Orientada a Objetos e Polimorfismo A é a contribuição original do paradigma de programação orientado a objetos Fundamentos chave do paradigma OO: Abstração de Dados A herança

Leia mais

Programação Orientada a Objetos Flávio de Oliveira Silva 144

Programação Orientada a Objetos Flávio de Oliveira Silva 144 HERANÇA Herança é a capacidade de uma subclasse de ter acesso as propriedades da superclasse(também chamada classe base) relacionada a esta subclasse. Dessa forma os atributos e métodos de uma classe são

Leia mais

UML Diagrama de Classes

UML Diagrama de Classes CBSI Curso de Bacharelado em Sistemas de Informação UML Diagrama de Classes Prof. Dr. Sandro Ronaldo Bezerra Oliveira srbo@ufpa.br www.ufpa.br/srbo Análise e Projeto de Sistemas Faculdade de Computação

Leia mais

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Terceira aula

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II Java Terceira aula Programação Orientada a Objetos II Java Terceira aula 1 Programação Orientada a Objeto II Conceitos de Orientação a Objeto Classes e Objetos Atributos e métodos Modificadores de acesso Construtores Exercícios

Leia mais

Conceitos de Programação Orientada a Objetos

Conceitos de Programação Orientada a Objetos Conceitos de Programação Orientada a Objetos Tatyana Bitencourt Com as técnicas de orientação a objeto, é possível obter resultados considerados impossíveis pensando de maneira estruturada. Como Java não

Leia mais

Revisão Diagrama de classes Elementos do diagrama de classes Exemplo: Sistema de matrícula

Revisão Diagrama de classes Elementos do diagrama de classes Exemplo: Sistema de matrícula Revisão Diagrama de classes Elementos do diagrama de classes Exemplo: Sistema de matrícula 1 Mostra um conjunto de classes e seus relacionamentos. É o diagrama central da modelagem orientada a objetos.

Leia mais

Programação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos

Programação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos Programação Orientada a Objetos: Herança Alexandre César Muniz de Oliveira Análise e Projeto Orientados a Objetos A análise orientada a objetos Determina o que o sistema deve fazer: Quais os atores envolvidos?

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE 1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br O que é?? 2 A UML

Leia mais

Diagrama de Classes. Viviane Torres da Silva

Diagrama de Classes. Viviane Torres da Silva Diagrama de Classes Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/es1 O que é? Diagrama mais utilizado da UML Representa os tipos (classes) de objetos de um sistema

Leia mais

AULA 16 HERANÇA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes

AULA 16 HERANÇA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes AULA 16 HERANÇA Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br REPETIÇÃO DE CÓDIGO Tomemos como exemplo a classe Funcionario, que representa o funcionário de

Leia mais

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; } Lista 05 Herança 1. Analisando a classe Java abaixo podemos observar que a mesma possui apenas um atributo, um construtor e dois métodos. Perceba que dentro do método main estão sendo invocados métodos

Leia mais

Fundamentos de Orientação à objetos

Fundamentos de Orientação à objetos Fundamentos de Orientação à objetos Prof. Gustavo Willam Pereira ENG10082 Programação II Créditos: Prof. Clayton Vieira Fraga Filho Objeto Um objeto, como um substantivo, pode ser uma pessoa, local ou

Leia mais

Diagrama de Classes. Leonardo Gresta Paulino Murta

Diagrama de Classes. Leonardo Gresta Paulino Murta Diagrama de Classes Leonardo Gresta Paulino Murta leomurta@ic.uff.br O que é? Diagrama mais u>lizado da UML Representa os >pos (classes) de objetos de um sistema Propriedades desses >pos Funcionalidades

Leia mais

Polimorfismo: aprendendo a prever o futuro. Polimorfismo: aprendendo a prever o futuro. Definições (2/5) Definições Tipos de Polimorfismo

Polimorfismo: aprendendo a prever o futuro. Polimorfismo: aprendendo a prever o futuro. Definições (2/5) Definições Tipos de Polimorfismo Polimorfismo: aprendendo a prever o futuro BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos Sumário Definições Tipos de Polimorfismo Dicas para o Polimorfismo Eficaz Armadilhas

Leia mais

Herança e Propriedades

Herança e Propriedades Herança e Propriedades 2013 O que veremos hoje? Herança e Propriedades Transparências baseadas no material do Prof. Gilbert Azevedo e Prof. Jailton Carlos Objetivos Conceito de Herança em POO Herança Herança

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Introdução Alguns conceitos importantes Orientação a Objetos Alguns conceitos importantes Programação Estruturada X Programação OO Classes Objetos Construtores e Destrutores

Leia mais

A modelagem é tida como a parte central de todas as atividades para a construção de um bom sistema, com ela podemos:

A modelagem é tida como a parte central de todas as atividades para a construção de um bom sistema, com ela podemos: Módulo 6 Análise Orientada a Objeto É interessante observar como a análise orientada a objeto utiliza conceitos que aprendemos há muito tempo: objetos, atributos, classes, membros, todos e partes. Só não

Leia mais

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão Sumário Introdução à UML BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos Humberto Mossri de Almeida hmossri_cursos@yahoo.com.br Marcelo Nassau Malta nassau_cursos@yahoo.com.br

Leia mais

Roteiro. Introdução. Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans. Objetos. Princípios da Orientação a Objetos

Roteiro. Introdução. Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans. Objetos. Princípios da Orientação a Objetos Uma Introdução à Programação Orientada a Objetos e JAVA usando NetBeans Roteiro Introdução Conceitos de Oientação a Objetos A Linguagem Java NetBeans (www.netbeans.org) Fernando Vieira Paulovich paulovic@icmc.usp.br

Leia mais

Modelagem de Processos

Modelagem de Processos Modelagem de Processos Prof.: Fernando Ascani Itens Estruturais Classes Uma Classe é um conjunto de objetos que compartilham os mesmos atributos, operações e relacionamentos. É representada graficamente

Leia mais

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; Tudo no mundo real pode ser representado por meio do conceito de "objeto": uma planta, uma mesa, uma pessoa, um sentimento,

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/50 Herança revisão (1) A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse

Leia mais

POO29004 Programação Orientada a Objetos

POO29004 Programação Orientada a Objetos POO29004 Programação Orientada a Objetos Classe abstrata, interface e polimorfismo Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/poo

Leia mais

12/03/16. Generalização. Associação. Agregação UML Relações. entre Classes. Composição. Prof.Dr. Enzo Seraphim. Dependência

12/03/16. Generalização. Associação. Agregação UML Relações. entre Classes. Composição. Prof.Dr. Enzo Seraphim. Dependência 12/03/16 Generalização Associação Agregação UML Relações Composição entre Classes Dependência Prof.Dr. Enzo Seraphim 12/03/16 Generalização Associação Agregação UML Relações Composição entre Classes Dependência

Leia mais

Engenharia de Software II e III - Material para estudo Diagrama de Classe

Engenharia de Software II e III - Material para estudo Diagrama de Classe 1-Orientação a Objetos ANÁLISE ESTRUTURADA X ANÁLISE O.O. Enfoque Tradicional: Conjunto de programas que executam processos sobre dados. Enfoque Baseado em Objetos: Conjunto de coisas que tem características

Leia mais

AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos

AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos Câmpus Santa Helena Curso: Ciência da Computação Disciplina: Programação Orientada a Objetos AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos Tema

Leia mais

Programação Orientada a Objetos. SANTOS, Rafael (PLT) e Guia de Estudo SCJP. SIERRA, Kathy e BATES, Bert

Programação Orientada a Objetos. SANTOS, Rafael (PLT) e Guia de Estudo SCJP. SIERRA, Kathy e BATES, Bert Programação Orientada a Objetos. SANTOS, Rafael (PLT) e Guia de Estudo SCJP. SIERRA, Kathy e BATES, Bert Há situações em que não deve haver instâncias de determinadas classes Há modelos incompletos que

Leia mais

Requisitos de sistemas

Requisitos de sistemas Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento

Leia mais

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010 1 1 Introdução 1.1 Teoria dos Sistemas 1.2 Constituição dos sistemas 1.3 Natureza dos sistemas 1.4 Parâmetros do sistema 1.5 Descrição de sistemas 1.6 Desafios enfrentados no desenvolvimento 1.7 Perfil

Leia mais

Polimorfismo. PARTE II: Java e OO. Polimorfismo. Polimorfismo. Polimorfismo. Polimorfismo

Polimorfismo. PARTE II: Java e OO. Polimorfismo. Polimorfismo. Polimorfismo. Polimorfismo PARTE II: Java e OO Interface Herança Herança e polimorfismo Classes e métodos abstratos : muitas formas de implementação de uma operação Permite esconder diferentes implementações atrás da mesma interface

Leia mais

O PARADIGMA ORIENTADO POR OBJETOS

O PARADIGMA ORIENTADO POR OBJETOS O PARADIGMA ORIENTADO POR OBJETOS A idéia básica do paradigma orientado a objetos é imaginar que programas simulam o mundo real: um mundo povoado de objetos. Dessa maneira, linguagens baseadas nos conceitos

Leia mais

Notas de Aula 04: Herança e polimorfismo.

Notas de Aula 04: Herança e polimorfismo. Notas de Aula 04: Herança e polimorfismo. Objetivos da aula: Introduzir o conceito de Heranças Criar uma hierarquia de classes Rever o uso de modificadores de acesso. Apresentar o conceito de polimorfismo

Leia mais

Interfaces e Classes Abstratas

Interfaces e Classes Abstratas Interfaces e Classes Abstratas José Gustavo de Souza Paiva Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos abstratos

Leia mais

Programação Orientada a Objeto

Programação Orientada a Objeto Programação Orientada a Objeto Prof. Esp. Thiago S F Carvalho Faculdades Integradas de Diamantino 2016 Caravalho, T.S.F. (FID) POO 2016 1 / 38 Programação Orientada a Objeto Hoje revisaremos os conceitos

Leia mais

Orientação a Objetos AULA 09

Orientação a Objetos AULA 09 Orientação a Objetos AULA 09 Prof. Fabrício Martins Mendonça Conteúdo da Aula ü Coleções ü Coleções lista de objetos ü Coleções conjuntos 2 Coleções Podemos armazenar vários objetos em um array e este

Leia mais

UML Relacionamentos. Relacionamento é uma conexão entre itens A maioria dos itens relacionam-se entre si. Quatro tipos de relacionamentos:

UML Relacionamentos. Relacionamento é uma conexão entre itens A maioria dos itens relacionam-se entre si. Quatro tipos de relacionamentos: Relacionamentos Relacionamento é uma conexão entre itens A maioria dos itens relacionam-se entre si. Quatro tipos de relacionamentos: Dependência Generalização Associação Realização Relacionamentos - Dependência

Leia mais

UML. Diagrama de Classe

UML. Diagrama de Classe UML Diagrama de Classe Em UML as classes são representadas por um retângulo dividido em três compartimentos: o compartimento de nome, que conterá apenas o nome da classe modelada, o de atributos, que possuirá

Leia mais

UML LINGUAGEM DE MODELAGEM UNIFICADA Diagrama de Classes

UML LINGUAGEM DE MODELAGEM UNIFICADA Diagrama de Classes UML LINGUAGEM DE MODELAGEM UNIFICADA Diagrama de Classes O diagrama de classe é a essência de qualquer modelagem orientada a objeto. Ele tem por objetivo descrever, segundo uma visão estática, o escopo

Leia mais

Ex: carro_desportivo poderá ser uma subclasse de automóvel (carro_desportivo é_um automóvel)

Ex: carro_desportivo poderá ser uma subclasse de automóvel (carro_desportivo é_um automóvel) Herança capacidade de uma classe (subclasse) herdar, adquirir atributos e funcionalidades de outra classe (superclasse), podendo juntar algumas especificidades e/ou alterar outras. Existe uma relação tipo

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Pacotes e Encapsulamento Msc. Paulo de Tarso F. Júnior 1 Introdução Permite o agrupamento de classes em uma coleção chamada pacote Um pacote é uma coleção de classes e interfaces

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos luno: ata: Professor: Leonardo abral da Rocha Soares 1. Torna o atributo visível a todas as classes do pacote onde foi declarado: a) public b) private c) protected d) package

Leia mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento Web TCC-00.226 Turma A-1 Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Orientação a Objetos Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226

Leia mais

Programação Orientada a Objetos para Redes de Computadores

Programação Orientada a Objetos para Redes de Computadores Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Herança Herança Criação de uma nova classe de uma

Leia mais

Análise e Projeto de Sistemas

Análise e Projeto de Sistemas Análise e Projeto de Sistemas Prof. Dr. Ronaldo C. de Oliveira ronaldo.co@ufu.br www.facom.ufu.br/~ronaldooliveira FACOM - 2017 Objeto É uma entidade real ou abstrata, com características específicas

Leia mais

Orientação a Objetos AULA 06

Orientação a Objetos AULA 06 Orientação a Objetos AULA 06 Prof. Fabrício Martins Mendonça Conteúdo da Aula ü Herança ü Sobrescrita e reescrita de métodos ü Sobrecarga ü Efeitos de Herança ü Polimorfismo 2 Um dos principais recursos

Leia mais

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Professora Sheila Cáceres Polimorfismo Polimorfismo Polimorfismo é a característica única de linguagens orientadas

Leia mais

Os diagramas de use case capturam os requisitos funcionais do sistema.

Os diagramas de use case capturam os requisitos funcionais do sistema. 109/166 Diagramas de Classe Sumário Colaborações Orientação aos Objectos Diagramas de Classe I conceitos base Diagramas de Classe II conceitos avançados Relações conceitos avançados Diagramas de objectos

Leia mais

Unidade: sobrecarga, construtores e herança

Unidade: sobrecarga, construtores e herança Unidade: sobrecarga, construtores e herança 0 Unidade: sobrecarga, construtores e herança Sobrecarga Sobrecarregar (do inglês overload) um método é criar mais métodos com o mesmo nome, porém com assinaturas

Leia mais

Programação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos

Programação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos Programação com Objectos Processamento de Dados I 2. Classes, Atributos e Métodos 1 Classes, Atributos e Métodos Modificadores de acesso (visibilidade) Sobrecarga de métodos (method overloading) Variáveis

Leia mais

9 Classes Abstractas e Interfaces

9 Classes Abstractas e Interfaces 9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract

Leia mais

Modelagem Orientada a Objeto

Modelagem Orientada a Objeto UNIVERSIDADE ESTADUAL PAULISTA INSTITUTO DE BIOCIÊNCIAS, LETRAS E CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO E ESTATÍSTICA Modelagem Orientada a Objeto Engenharia de Software 2o. Semestre de

Leia mais

Linguagem de Programação II Implementação

Linguagem de Programação II Implementação Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa

Leia mais

Curso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br

Curso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br Curso teórico: Orientação a Objetos Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br Objetivos Conhecer os conceitos fundamentais de orientação a objetos; Aprender a criar e utilizar

Leia mais

PADRONIZAÇÃO 10. INTERFACES PADRONIZAÇÃO CONTRATOS

PADRONIZAÇÃO 10. INTERFACES PADRONIZAÇÃO CONTRATOS PADRONIZAÇÃO 10. INTERFACES No dia-a-dia lidamos com diversos aparelhos elétricos Diversas empresas fabricam aparelhos elétricos com plugues E se cada empresa decidisse por conta própria o formato dos

Leia mais

UML. Diagrama de Classes

UML. Diagrama de Classes UML Diagrama de Classes Introdução A modelagem de objetos incorpora a estrutura estática de um sistema mostrando: os objetos pertencentes ao sistema os relacionamentos entre esses objetos os atributos

Leia mais

LEIC-T LERC MEIC-T 2011/2012 1º Semestre Programação com Objetos 2012/01/07 11h00m 3/10

LEIC-T LERC MEIC-T 2011/2012 1º Semestre Programação com Objetos 2012/01/07 11h00m 3/10 2/10 1.1. (1.5 val.) Os mecanismos de herança entre classes e de composição de objetos são, por vezes, apresentados como alternativos, face à disponibilização de funcionalidade a uma classe. Compare-os,

Leia mais

Programação Java (nível intermediário) 4. Polimorfismo

Programação Java (nível intermediário) 4. Polimorfismo Programação Java (nível intermediário) 4 Polimorfismo Introdução Uma linguagem orientada a objetos nos permite definir novos tipos para variáveis Nós definimos um novo tipo através de uma classe Este tipo

Leia mais

Paradigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto

Paradigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto Suporte para Programação Orientada a Objeto Cristiano Lehrer Categoria das Linguagens que Suportam POO Suporte a POO acrescentado a uma linguagem já existente: C++ (também suporta programação procedural

Leia mais

Análise Orientada a Objetos. Análise Orientada a Objetos; O Paradigma de Objetos; A UML.

Análise Orientada a Objetos. Análise Orientada a Objetos; O Paradigma de Objetos; A UML. ESPECIALIZAÇÃO EM GESTÃO DE TECNOLOGIAS DA INFORMAÇÃO Análise Orientada a Objetos AULA 03 Análise Orientada a Objetos; O Paradigma de Objetos; A UML. Prof. Sandrerley R. Pires Goiânia, agosto de 2003 Conceitos

Leia mais

Interfaces. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.

Interfaces. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno. Interfaces Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Interfaces É utilizada para agrupar conceitos em

Leia mais

Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces

Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces 0 Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces Classes Abstratas À medida que você sobe na hierarquia de herança,

Leia mais

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos. AULA 02 OBJETIVO: Características da Linguagem Orientada a Objetos. HABILIDADES TRABALHADAS: Comparação das características das linguagens orientadas a objetos frente às linguagens estruturadas. Conhecimentos

Leia mais

Orientação a Objetos - Herança

Orientação a Objetos - Herança Orientação a Objetos - Herança 1 Repetindo Código p Todo banco tem funcionário. A classe funcionario ficaria da seguinte forma; class Funcionario { String nome; String cpf; double salario; // métodos devem

Leia mais

Introdução à orientação a objetos. João Tito Almeida Vianna 18/05/2013

Introdução à orientação a objetos. João Tito Almeida Vianna 18/05/2013 Introdução à orientação a objetos João Tito Almeida Vianna 18/05/2013 Roteiro Aula 1 Introdução: Programação estruturada x Orientação a objetos Orientação a objetos Classe e objeto Encapsulamento Herança

Leia mais

POO UML e Outros Conceitos. Prof. Vicente Paulo de Camargo

POO UML e Outros Conceitos. Prof. Vicente Paulo de Camargo Prof. Vicente Paulo de Camargo UML - INTRODUÇÃO UML = Unified Modeling Language = linguagem de modelagem de sistemas Permite especificar, visualizar e documentar modelos de software orientados a objetos

Leia mais

POO29004 Programação Orientada a Objetos

POO29004 Programação Orientada a Objetos POO29004 Programação Orientada a Objetos Herança Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/poo 11 de setembro

Leia mais

Introdução à UML. Prof. Jesus José de Oliveira Neto

Introdução à UML. Prof. Jesus José de Oliveira Neto Introdução à UML Prof. Jesus José de Oliveira Neto UML Linguagem de Modelagem Unificada Linguagem visual utilizada para modelar softwares baseados no paradigma de orientação a objetos UML não é uma linguagem

Leia mais

Linguagens de Programação Aula 12

Linguagens de Programação Aula 12 Linguagens de Programação Aula 12 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Implementando subprogramas 2 Na aula de hoje Suporte para a programação orientada a objetos 3 Roteiro Introdução

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Herança e Polimorfismo Prof. Francisco de Assis S. Santos, Dr. São José, 2015. Herança em POO O conceito de herança torna mais rápido o desenvolvimento de softwares complexos

Leia mais

Diagramas de Classes. Diagramas de Classes. Diagramas de Classes. Análise e Projeto de Sistemas OO

Diagramas de Classes. Diagramas de Classes. Diagramas de Classes. Análise e Projeto de Sistemas OO Análise e Projeto de Sistemas OO s Representam os tipos de objetos existentes no modelo Descritas a partir de seus atributos, operações e restrições Podem ser organizadas segundo uma estrutura de generalização/especialização

Leia mais

Programação OO em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM

Programação OO em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM Programação OO em Java Profa Andréa Schwertner Charão DLSC/CT/UFSM Sumário Herança Visibilidade de atributos e métodos Extensão e sobreposição Uso de super Referências para objetos Polimorfismo Conceitos

Leia mais

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM Programação OO em Java Profa Andréa Schwertner Charão DELC/CT/UFSM Sumário Herança Visibilidade de atributos e métodos Extensão e sobreposição Uso de super Referências para objetos Polimorfismo Conceitos

Leia mais

Java First-Tier: Aplicações. Sobrecarga. Orientação a Objetos em Java (II) Sobrecarga de Construtores: Exemplo de Declaração

Java First-Tier: Aplicações. Sobrecarga. Orientação a Objetos em Java (II) Sobrecarga de Construtores: Exemplo de Declaração Java First-Tier: Aplicações Orientação a Objetos em Java (II) Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Sobrecarga Um recurso usual em programação OO é o uso de sobrecarga

Leia mais

Herança e Polimorfismo

Herança e Polimorfismo Herança e Polimorfismo 2013 O que veremos hoje? Herança e polimorfismo Transparências baseadas no material do Prof. Gilbert Azevedo e Prof. Jailton Carlos Objetivos Conceito de Polimorfismo em POO Mais

Leia mais

Análise e projeto de sistemas

Análise e projeto de sistemas Conteúdo: Análise e projeto de sistemas Modelagem de classes Prof. Patrícia Lucas Modelagem de classes 01 O modelo de casos de uso fornecem uma perspectiva do sistema a partir de um ponto de vista externo.

Leia mais

Simbolos/Componentes desse diagrama:

Simbolos/Componentes desse diagrama: DIAGRAMA DE CASO DE USO Simbolos/Componentes desse diagrama: ATORES CASOS DE USO LINHAS: Associações (Associam os casos de usos a outros casos de uso e também a atores) Especialização / Generalização (características

Leia mais

Tópicos da Aula. Diretrizes Gerais. Trabalho Prático (TP) Pontuação do TP. Tema do Trabalho. Projeto de Software Diagrama de Classes

Tópicos da Aula. Diretrizes Gerais. Trabalho Prático (TP) Pontuação do TP. Tema do Trabalho. Projeto de Software Diagrama de Classes Engenharia de Software Aula 09 Tópicos da Aula Projeto de Software Revisão de orientação a objetos Projeto orientado a objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo dcc603@gmail.com 04

Leia mais

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem

Leia mais

Capítulo 2. Orientação a Objetos

Capítulo 2. Orientação a Objetos Capítulo 2 Orientação a Objetos Princípios da Orientação a Objetos Os princípios da orientação a objetos afetam todo o processo de desenvolvimento de software: Seres humanos pensam em termos de substantivos

Leia mais