Herança - Conceitos Básicos

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

Download "Herança - Conceitos Básicos"

Transcrição

1 DAELN!! Herança - Conceitos Básicos 1. Introdução! Herança é a capacidade que instâncias de uma classe filha ou Subclasse de acessar dados e procedimentos ou métodos associados com uma Classe Parente ou Superclasse. Ou seja, uma Subclasse herdará todos os métodos e dados da Superclasse. Além disso, a Subclasse poderá definir novos métodos e dados ou, em alguns casos, redefinir alguns métodos da Superclasse.! A Herança é sempre transitiva. Ou seja, uma classe pode herdar aspectos de Superclasses que estão a muitos níveis de distância. Em outras palavras, uma classe Filha pode herdar métodos da classe Pai, classe Avô, classe Bisavô, classe Tataravô e assim sucessivamente.! Para identificar se duas classes têm o relacionamento de herança, basta utilizar o teste IS-A ou é-um(a). 1 of 10

2 2. Teste IS-A! Se "soar de bom grado" dizer que o conceito A is a conceito B, então existe uma relação de herança entre A e B. São exemplos de conceitos que passam no teste IS-A :! Carro é um Meio de Transporte Professor é uma Pessoa Aluno é uma Pessoa Pássaro é um Animal! Gato é um Animal! Lista de Alunos é uma Lista! Triângulo é um Objeto Gráfico! Quadrado é um Objeto Gráfico! Cantor é um Músico! Guitarrista é um Músico! Músico é uma Pessoa!! 2 of 10

3 Por outro lado, alguns relacionamentos são reprovados no teste IS-A. São alguns exemplos de relacionamentos que são reprovados no teste: Motor é um Carro Caixa de Edição é uma Janela Vídeo é uma Música Professor é uma Disciplina Livro é um Animal Livro é um Biblioteca 2. Por que utilizar Herança Duas motivações justificam o seu uso, na maioria das situações: Reuso de Código: Como a Subclasse herda os atributos e métodos da Superclasse, não há a necessidade de redigitar parte ou todo o código. Reuso de Conceitos: Isso ocorre quando a Subclasse redefine algum método da Superclasse. Apesar de não haver um reuso completo do código da Superclasse, a Subclasse e a Superclasse compartilham apenas a definição do método. 2. Representação UML! A Representação no diagrama UML da relação de Herança 3 of 10

4 entre classe é feita por meio de uma linha ligando as duas classes e um símbolo triângulo apontando para Superclasse. As Figuras 1 e 2, a seguir, exemplificam isso. Figura 1 - Exemplo UML de Representação de Herança entre as Subclasses Triângulo, Circulo e Quadrado com a Superclasse ObjetoGrafico! 4 of 10

5 Figura 2 - Exemplo UML de Representação de Herança de 2 níveis. Na Figura 1, as Subclasses Triângulo, Quadrado e Circulo herdam todos os métodos e atributos da classe ObjetoGrafico. Esses atributos e métodos foram omitidos da representação. Na Figura 2, por sua vez, a classe "Musician" herda todos os atributos e métodos da classe Person". Além disso, a classe Musician adiciona novos atributos. Na Figura 2, a classe GuitarPlayer, herda tudo o que a classe Musician possui, ou seja, os atributos caimprovise, cancompose e playclassicalmusic estão disponíveis para a classe GuitarPlayer. Além disso, a classe GuitarPlayer também tem acesso aos atributos Name, 5 of 10

6 Gender_Female e BirthDay por meio da herança entre a classe Musician e Person. Destaca-se neste momento, que os relacionamento Associação e Dependência entre as classes continuam podendo ser empregados na definição do projeto. Por exemplo, um GuitarPlayer pode ter um 0..* Álbuns gravados formando a sua discografia e um Álbum pode ter sido gravado por 1..* GuitarPlayer. A Figura 3 ilustra isso. A classe Person, por sua vez, relaciona-se com a classe Address. Ou seja, uma instância da classe Person pode possuir no máximo uma instância da classe Address. A classe Address, por sua vez, pode estar relacionada com nenhuma instância da classe Person ou com várias. Ou seja, uma pessoa pode ter um endereço 6 of 10

7 associado a ela e em um endereço pode fazer referência a várias pessoas. Figura 3 - Exemplo UML de Representação de Herança ou Generalização e Associação.! 7 of 10

8 3. Herança na linguagem C++!! Na linguagem C++ a Herança é representada da seguinte! forma: class SubClasse : <tipo de acesso> SuperClasse {... } A informação do <tipo de acesso> pode ser: public, private ou protected.! Cada um desses modificadores do tipo de acesso influencia em como os atributos e métodos da Superclasse serão herdados na Subclasse, a saber:!! public: todos os tipos de acesso dos atributos públicos, privados e protegidos da Superclasse ao serem herdados para a Subclasse, mantém os seus modificadores de acesso conforme foi definido na Superclasse.!!! proteced: todos os atributos ou métodos que foram definidos como publicos na Superclasse serão Protegidos na Subclasse.! 8 of 10

9 !! private: todos os atributos e métodos definidos na Superclasse serão privados na Subclasse.!! Exemplos de Definição:!! class Triangulo : public ObjetoGrafico {... }!! class Quadrado: public ObjetoGrafico {... }!! class Circulo: public ObjetoGrafico {... }!! class Triangulo : protected ObjetoGrafico {... }!! class Quadrado: protected ObjetoGrafico {... }!! class Circulo: protected ObjetoGrafico {... }!! class Triangulo : private ObjetoGrafico {... }!! class Quadrado: private ObjetoGrafico {... }!! class Circulo: private ObjetoGrafico {... }! Observação Importante:!!! Não existe uma regra consagrada para identificar que tipo de acesso uma Subclasse terá em relação à Superclasse. Na dúvida, deixe acesso publico. Essa possibilidade de 9 of 10

10 ! modificação do tipo de acesso definido na linguagem C++ não foi definido em outras linguagens tais como o Java. 4. Tarefa Implementar na linguagem C++ o diagrama da Figura of 10

Herança - Conceitos Básicos

Herança - Conceitos Básicos UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Herança - Conceitos Básicos! 1. Introdução!! Herança é a capacidade que instâncias de uma classe filha ou Subclasse de acessar dados

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

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

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

Programação Orientada a Objetos

Programação Orientada a Objetos Herança Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 07 Herança 1 Reutilização / Reuso São palavras-chave no conceito de herança; Reutilizar um código que já tenha sido escrito, e que já esteja

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

Vejamos o seguinte exemplo public class Exemplo private int testada = 20; public void testapalavra(int testada) JOptionPane.showMessageDialog(null,"Pa

Vejamos o seguinte exemplo public class Exemplo private int testada = 20; public void testapalavra(int testada) JOptionPane.showMessageDialog(null,Pa Palavra reservada this Em Java podemos ter um parâmetro de um método e um atributo de uma classe com o mesmo nome. Caso façamos uma referência a esta variável, pelo princípio da localidade estaremos referenciando

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

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

Python Orientação a Objetos. Introdução à Programação SI2

Python Orientação a Objetos. Introdução à Programação SI2 Python Orientação a Objetos Introdução à Programação SI2 Herança Pessoa Aluno Professor Herança Animal Mamifero Ave Cachorro Gato Gavião Galinha Herança Uma classe pode herdar a definição de outra classe:

Leia mais

Aula 7 POO 1 Herança. Profa. Elaine Faria UFU

Aula 7 POO 1 Herança. Profa. Elaine Faria UFU Aula 7 POO 1 Herança Profa. Elaine Faria UFU - 2019 Problema Problema As classes Funcionário e Estudante compartilham alguns atributos, mas não todos Não é possível utilizar uma classe para representar

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

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-7 Reutilização de Classes Prof. Esbel Tomás Valero Orellana Até Aqui Introdução a POO e sua implementação em Java Atributos, métodos e encapsulamento dos mesmos Trabalhando

Leia mais

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 7 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

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

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

Classe Abstrata e Interface

Classe Abstrata e Interface Orientação a objetos com Java Classe Abstrata e Interface Byron Leite byron.leite@gmail.com 1 Herança Agenda Geral Parte 04 Encapsulamento Pacotes Modificadores de Acesso private, default, protected, public

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

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

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

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs Programação Orientada a Objetos Professor: André Luis Meneses Silva andreluis.ms@gmail.com br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância

Leia mais

C com introdução a OO

C com introdução a OO ... Centro Integrado de Tecnologia da Informação C com introdução a OO ... Centro Integrado de Tecnologia da Informação Aula 9 Ronald Dener - Instrutor Matheus Soares - Monitor 17 / outubro 17 / outubro

Leia mais

Orientação a Objetos (OO)

Orientação a Objetos (OO) CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 04 APRESENTAÇÃO: Hoje vamos discutir os conceitos de Orientação a Objetos.

Leia mais

Auto-Referenciamento e Herança

Auto-Referenciamento e Herança Auto-Referenciamento e Herança José Gustavo de Souza Paiva Auto-Referenciamento Ao criarmos o código de uma classe, ainda não sabemos quais serão seus objetos, e por isso não há como referenciá-los Utilizando

Leia mais

A B Classe Genérica D A C. Classe Especializada. Classe Especializada. Características Herdadas

A B Classe Genérica D A C. Classe Especializada. Classe Especializada. Características Herdadas Herança e Polimorfismo Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Revisando -Herança Estrutura Hierárquica e modular Projeção de classes genéricas que podem ser especializadas

Leia mais

Diagrama de Classes. Régis Patrick Silva Simão. Régis Simão Diagrama de Classes 1/42

Diagrama de Classes. Régis Patrick Silva Simão. Régis Simão Diagrama de Classes 1/42 Diagrama de Classes Régis Patrick Silva Simão Régis Simão Diagrama de Classes 1/42 Agenda Introdução Objetos Classes Atributos Operações & Métodos Relacionamentos Relacionamento: Associação Nome de Relacionamento

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

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

Modificadores de Acesso JAVA

Modificadores de Acesso JAVA Modificadores de Acesso JAVA Definição Os modificadores de acesso são padrões de visibilidade de acessos às classes, atributos e métodos. Esses modificadores são palavras-chave reservadas do Java. E as

Leia mais

Linguagem de Programação II Herança

Linguagem de Programação II Herança Linguagem de Programação II Herança Prof. Alessandro Borges 2 Tópicos Reutilização de classes Delegação Herança Definição Superclasse e Subclasse A palavra reservada extends Método construtor com herança

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

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

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

Programação I Curso: Sistemas de Informação. Prof.: José Ronaldo Leles Júnior .:

Programação I Curso: Sistemas de Informação. Prof.: José Ronaldo Leles Júnior  .: Programação I Curso: Sistemas de Informação Prof.: José Ronaldo Leles Júnior Email.: juniorleles80@gmail.com 1º semestre - 2017 POO Paradigma Orientado a Objetos O que é um Paradigma? É um ponto de vista

Leia mais

POO Fundamentos Parte III. Professor Vicente Paulo de Camargo

POO Fundamentos Parte III. Professor Vicente Paulo de Camargo POO Fundamentos Parte III Professor Vicente Paulo de Camargo PROGRAMAÇÃO ORIENTADA A OBJETOS HERANÇA SIMPLES Mecanismo que permite a uma classe, denominada de SUBCLASSE ou CLASSE FILHA, herdar todos os

Leia mais

Banco de Dados Modelagem Conceitual de Dados. Prof. Edjandir Corrêa Costa

Banco de Dados Modelagem Conceitual de Dados. Prof. Edjandir Corrêa Costa Banco de Dados Modelagem Conceitual de Dados Prof. Edjandir Corrêa Costa edjandir.costa@ifsc.edu.br Introdução Modelagem conceitual de dados É a etapa inicial do projeto de banco de dados É uma descrição

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

Introdução à Programação. Encapsulamento e Herança

Introdução à Programação. Encapsulamento e Herança Introdução à Programação Encapsulamento e Herança Tópicos da Aula Hoje, aprenderemos conceitos mais avançados de Orientação a Objetos Encapsulamento Usando modificadores de acesso em C++ Herança Importância

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

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

Programação Avançada C++ Slide 12 Nielsen Castelo Damasceno

Programação Avançada C++ Slide 12 Nielsen Castelo Damasceno Programação Avançada C++ Slide 12 Nielsen Castelo Damasceno Visibilidade de membros Membro da classe derivada pode usar os membros públicos ( public ) e protegidos ( protected ) da sua classe base (como

Leia mais

Diagrama de Classes. Conceitos Básicos. prof. Robinson Vida Monday, April 20, 15

Diagrama de Classes. Conceitos Básicos. prof. Robinson Vida Monday, April 20, 15 Diagrama de Classes Conceitos Básicos prof. Robinson Vida (vida@utfpr.edu.br) 1 Função do Diagrama de Classes Permitir a visualização das classes que comporão o sistema com seus respectivos atributos e

Leia mais

Conceitos de Programação Orientada a Objetos

Conceitos de Programação Orientada a Objetos Conceitos de Programação Orientada a Objetos flavio@facom.ufu.br 80 Por que a Orientação a Objetos? As abstrações podem corresponder às "coisas" do domínio do problema, facilitando o entendimento Esta

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

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 4 Tipos Enumerados Generalização e Herança Visibilidade Chamada de Construtores

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

Introdução a UML. Uma agregação em UML é representada por ligando os retângulos que representam as classes envolvidas. Casa -cor -tamanho

Introdução a UML. Uma agregação em UML é representada por ligando os retângulos que representam as classes envolvidas. Casa -cor -tamanho Introdução a UML Uma agregação em UML é representada por ligando os retângulos que representam as classes envolvidas. Por exemplo: Casa -cor -tamanho O diamante indica a classe Todo (a que agrega) Janela

Leia mais

INF1012 MODELAGEM DE DADOS

INF1012 MODELAGEM DE DADOS INF1012 MODELAGEM DE DADOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 7 Motivação Taxonomia Generalização Exercício 1 Programa 7º Capítulo Motivação Taxonomia

Leia mais

Programação com Objectos 1º Teste Tipo 1º Semestre (90 minutos)

Programação com Objectos 1º Teste Tipo 1º Semestre (90 minutos) 1/7 Programação com Objectos 1º Teste Tipo 1º Semestre (90 minutos) Nome: Primeira Parte (7 valores) PERGUNTA NOTA 1.1 1.2 1.3 1.4 Segunda Parte (3 valores) PERGUNTA RESPOSTA 2.1 2.2 2.3 2.4 2.5 1ª PARTE

Leia mais

Herança Sendo uma linguagem orientada a objetos Java oferece mecanismos para definir classes derivadas a partir de classes existentes; As classes deri

Herança Sendo uma linguagem orientada a objetos Java oferece mecanismos para definir classes derivadas a partir de classes existentes; As classes deri Herança Forma de reutilização de software Encapsular estrutura e comportamento em um tipo não é um conceito exclusivo da orientação a objetos, pois já era usado na programação de tipos abstratos. O que

Leia mais

Herança e Polimorfismo - Parte II -

Herança e Polimorfismo - Parte II - Herança e Polimorfismo - Parte II - Programação Orientada a Objetos Java Prof. Geraldo Braz Junior A hierarquia do exemplo DoME 2 Saída incompleta O que queremos CD: A Swingin' Affair (64 mins)* Frank

Leia mais

Orientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

Orientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental Orientação a Objetos (OO) LPG II - Java Orientação a Objetos (OO) Roberto Vedoato vedoato@joinville.udesc.br Programação Procedimental x Orientada a Objetos Objetivos e Benefícios da Orientação a Objetos

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

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

LÓGICA DE PROGRAMAÇÃO (JAVA) HERANÇA. Professor Carlos Muniz

LÓGICA DE PROGRAMAÇÃO (JAVA) HERANÇA. Professor Carlos Muniz LÓGICA DE PROGRAMAÇÃO (JAVA) Definição A herança é um princípio da POO que permite a criação de novas classes a partir de outras previamente criadas. Essas novas classes são chamadas de subclasses, ou

Leia mais

Laboratório de programação II

Laboratório de programação II Laboratório de programação II Paradigma de orientação a Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Contextualização Paradigma de orientação a Contextualização A construção

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

Herança e Polimorfismo -Parte II -

Herança e Polimorfismo -Parte II - Herança e Polimorfismo -Parte II - Mário Meireles Teixeira mario@deinf.ufma.br A hierarquia do exemplo DoME 2 1 Saída incompleta O que queremos CD: A Swingin' Affair (64 mins)* Frank Sinatra tracks: 16

Leia mais

Linguagem de Programação II Relacionamento entre classes

Linguagem de Programação II Relacionamento entre classes Linguagem de Programação II Relacionamento entre classes Prof. Alessandro Borges 2 Tópicos Relacionamento entre Classes Associação Definição Cardinalidade / Multiplicidade Conectividade Tipos de Associação

Leia mais

Projeto Banco de Dados

Projeto Banco de Dados Projeto Banco de Dados Principais Fases do Processo Projeto Conceitual Projeto Lógico Projeto Físico 32 Projeto Banco de Dados Projeto Conceitual Modelagem de dados em alto nível Foco no domínio do problema

Leia mais

Laboratório de programação II

Laboratório de programação II Laboratório de programação II Herança e Polimorfismo Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Herança Mecanismo da Orientação a Objeto que permite criar novas classes aproveitando

Leia mais

Introdução a UML. Uma associação em UML é representada por uma linha ligando os retângulos que representam as classes envolvidas.

Introdução a UML. Uma associação em UML é representada por uma linha ligando os retângulos que representam as classes envolvidas. Uma associação em UML é representada por uma linha ligando os retângulos que representam as classes envolvidas. Por exemplo: #nome -endereco -cpf -rg +divida Pessoa +atualizardivida(;) +atualizardivida(valor;)

Leia mais

Linguagem de Programação I Apresentação da Disciplina

Linguagem de Programação I Apresentação da Disciplina Linguagem de Programação I Apresentação da Disciplina Apresentação da Disciplina Conteúdo: 1) Orientação a Objetos - Características da OO - Reutilização de código 2) Introdução à Linguagem Java - Histórico

Leia mais

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça. Prática 02 Herança

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça. Prática 02 Herança Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 02 Herança Agora, vamos criar um relacionamento entre as classes

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

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

Orientação a Objetos Parte I. Introdução a POO (Programação Orientada a Objetos)

Orientação a Objetos Parte I. Introdução a POO (Programação Orientada a Objetos) Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos) Histórico Gerações de Linguagens de Programação Primeira Geração: Linguagem de máquina Segunda Geração: Linguagem de montagem

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

Engenharia de Software. Prof. Me. Clodoaldo Brasilino

Engenharia de Software. Prof. Me. Clodoaldo Brasilino Engenharia de Software Prof. Me. Clodoaldo Brasilino clodoaldo.neto@ifpi.edu.br Acompanhamento da Disciplina 1. Introdução à Engenharia de Software 2. Processos de Software e Projetos 3. Metodologia Ágil

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

INTRODUÇÃO A POO. Programação Orientada a Objetos Flávio de Oliveira Silva 6. PROCEDIMENTAL (Algorítmica)

INTRODUÇÃO A POO. Programação Orientada a Objetos Flávio de Oliveira Silva 6. PROCEDIMENTAL (Algorítmica) INTRODUÇÃO A POO A (POO) é um paradigma Baseado em objetos Paradigma Modelo, padrão para especificação de um problema Paradigmas existentes na programação de computadores: Procedimental; Funcional; Lógico

Leia mais

Modelo Conceitual. Análise e Projeto de Sistemas Avançados. Aula 5. Allan Rodrigo Leite

Modelo Conceitual. Análise e Projeto de Sistemas Avançados. Aula 5. Allan Rodrigo Leite Modelo Conceitual Análise e Projeto de Sistemas Avançados Aula 5 Allan Rodrigo Leite Modelo Conceitual Oferece uma visão das informações que são gerenciadas pelo sistema Representação e transformação da

Leia mais

Diagramas de Classes. ESII Profª. Andressa Falcade URI Santiago

Diagramas de Classes. ESII Profª. Andressa Falcade URI Santiago Diagramas de Classes Conceitos Básicos O caso de uso fornece uma perspectiva do sistema de um ponto de vista externo (do ator) Internamente os objetos colaboram para atender às funcionalidades do sistema

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

1-Para atender as necessidades de informação de uma biblioteca universitária foi

1-Para atender as necessidades de informação de uma biblioteca universitária foi Exercícios 1-Para atender as necessidades de informação de uma biblioteca universitária foi proposto um sistema que deve atender as seguintes características: O cadastro dos usuários da biblioteca com

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Herança e Polimorfismo Msc. Paulo de Tarso F. Júnior 1 Projeto Orientado a Objetos O que desejam? Produção de projetos conceitualmente simples o bastantes para serem entendidos

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

PROGRAMAÇÃO I HERANÇA E POLIMORFISMO

PROGRAMAÇÃO I HERANÇA E POLIMORFISMO PROGRAMAÇÃO I HERANÇA E POLIMORFISMO Prof. Dr. Daniel Caetano 2017-1 Objetivos Compreender o conceito de herança na orientação a objetos Implementar herança para reuso de código e facilitar manutenção

Leia mais

COMPORTAMENTOS - Observações

COMPORTAMENTOS - Observações COMPORTAMENTOS - Observações O próprio objeto realiza operações de consulta ou alteração dos valores dos seus atributos Essas operações são definidas em seus métodos Os métodos também são utilizados para

Leia mais

Diagrama de Classes (Análise de casos de uso)

Diagrama de Classes (Análise de casos de uso) Diagrama de Classes (Análise de casos de uso) Prof. Cesar Augusto Tacla Diagrama de classes Estrutura do sistema (classes) Representação estática da colaboração (relações) Relações associação (mais comum)

Leia mais

Diagrama de Classes (Análise de casos de uso) Prof. Cesar Augusto Tacla

Diagrama de Classes (Análise de casos de uso) Prof. Cesar Augusto Tacla Diagrama de Classes (Análise de casos de uso) Prof. Cesar Augusto Tacla Diagrama de classes Estrutura do sistema (classes) Representação estática da colaboração (relações) Relações associação (mais comum)

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 para Games II. Professor Ariel da Silva Dias Orientação a Objetos

Programação para Games II. Professor Ariel da Silva Dias Orientação a Objetos Programação para Games II Professor Ariel da Silva Dias Orientação a Objetos Relacionamentos Entre Classes Diferentes classes podem se relacionar entre si, criando/compondo novos tipos de objetos Um determinado

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

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 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

Programação Orientada a Objetos

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

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

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

Lição 11 Herança, polimorfismo e interfaces

Lição 11 Herança, polimorfismo e interfaces Lição 11 Herança, polimorfismo e interfaces 1 Objetivos Ao final da lição, o estudante deverá estar apto a: Definir superclasses e subclasses Criar Override de métodos de superclasses Criar métodos e classes

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 15 PROFª BRUNO CALEGARO Santa Maria, 08 de Novembro de 2013. Contextualização Nas próximas aula iremos começar a modelar e projetar sistemas

Leia mais

GEE051 - Banco de Dados Projeto de BD Projeto Conceitual. Ilmério Reis da Silva UFU/FACOM /2

GEE051 - Banco de Dados Projeto de BD Projeto Conceitual. Ilmério Reis da Silva  UFU/FACOM /2 GEE051 - Banco de Dados Projeto de BD Projeto Conceitual Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/bd - 2011/2 Projeto de BD Página 2 Projeto Conceitual Modelagem de dados em

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

Orientação a Objetos. Leonardo Gresta Paulino Murta.

Orientação a Objetos. Leonardo Gresta Paulino Murta. Orientação a Objetos Leonardo Gresta Paulino Murta leomurta@ic.uff.br Paradigma procedimental Sinônimo: paradigma procedural Uso de subprogramação Agrupamento de código permiando a criação de ações complexas

Leia mais

Banco de Dados I Generalização/Especialização

Banco de Dados I Generalização/Especialização Banco de Dados I Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Extensões É possível modelar a maioria dos bancos de dados apenas com os conceitos básicos

Leia mais