1. 2 Programação Orientada a Objetos II Prof. Maurício Rodrigues de Morais

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto Orientado a Objetos
Advertisements

Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI.
1 Orientação a Objetos: Herança Alcides Calsavara.
Iniciação ao Java – Márcio F. Campos
Refatorações Experiência é aquela coisa maravilhosa que permite que você reconheça um erro tão logo o cometa novamente F.P. Jones.
Polimorfismo e Classes Abstratas Profa
Introdução ao paradigma de programação: Orientado a Objetos
Diagrama de Classes.
Linguagem de Programação II
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Capítulo 9 Herança 1.
Métodos Programação II 1 Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre Classes Abstractas.
Herança e Polimorfismo
Herança P. O. O. Prof. Ângela e Grace.
Linguagem técnica de programação I Java i
TÉCNICAS DE PROGRAMAÇÃO II
Curso de extensão em Desenvolvimento Web
Herança em C#.
Introdução a programação (if669cc)
Aula Prática If669 – Introdução à Programação
Sobrecarga e Encapsulamento
Programação Orientada à Objetos
Laboratório de Programação I
Linguagem de Programação II
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Paradigmas da Programação – Semestre 1 – Aula 2 Professores: Eduardo Mantovani Fábio de Paula.
Herança em Java.
Linguagens de Programação II Aula 04 – Entendendo Classes
Os métodos equals() e hashCode()
PHP Orientado a Objetos Análise e Desenvolvimento de Sistemas Prof
Orientação a Objetos Parte I
Programação Orientada à Objetos
Programação Orientada a Objetos - Java
Aula prática 14 Orientação a Objetos – C++ Parte 2
Programação I Aula 6 (Herança, Polimorfismo e Encapsulamento)
Implementação Orientada a Objetos – Aula 03
Programação Orientada à Objetos
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Prof. Gilberto Irajá Müller
Orientação a Objetos usando Java
Classes Abstratas P. O. O. Prof. Ângela e Grace.
Classes Abstratas e Interface
Herança e Polimorfismos
Herança e Arquitetura em camadas
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Paradigmas da Programação – Semestre 2 – Aula 1 Professores: Fábio de Paula Santos Eduardo Mantovani
Classes Abstratas e Interfaces GX – Aula05 1.
Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros
Paradigmas de Programação –Aula 7 Lab 2 Professores: Eduardo Mantovani Fábio Paula Santos.
Herança Modelagem e Programação Orientada a Objetos
OO com Java Luiz Carlos d´Oleron Roteiro de aula.
Introdução a Orientação a Objetos
Herança.
Polimorfismo - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour ▐ Polimorfismo ▐ Exemplo ▐ Classes Abstratas.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Projeto de Banco de Dados
Módulo II Capítulo 1: Orientação a Objetos
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Continuação Modelagem Orientada a Objetos Técnico Subsequente.
Paradigmas da Programação – Semestre 1 – Aula 7 Professor: Eduardo Mantovani )
Herança. É o compartilhamento de características entre classes com base em um relacionamento hierárquico. – Possibilita a derivação de tipos mais específicos.
Prof.: Bruno Rafael de Oliveira Rodrigues. Herança Possibilita a uma classe usar campos ou métodos definidos em outra classe. Assim a classe pai possui.
Implementação Orientada a Objetos – Aula 08 Herança, sobrescrita de métodos e polimorfismo Prof. Danielle Martin Universidade de Mogi das Cruzes
Padrões de Projeto 2 – Revisão de Programação Orientada a Objetos.
1. 2 Programação Orientada a Objetos Prof. Maurício Rodrigues de Morais
1. 2 Programação Orientada a Objetos Prof. Maurício Rodrigues de Morais
Herança em Java Curso: Informática Disciplina: Programação Orientada a Objetos Prof. Abrahão Lopes
1.
Análise e Projeto de Sistemas Análise & modelagem conceitual Prof. Edjandir Corrêa Costa
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

1

2 Programação Orientada a Objetos II Prof. Maurício Rodrigues de Morais

3 Aula 3 e 4 Herança

4 Conteúdo  Herança  Conceito  Super-Classes e Sub-Classes  Escopo protected  Construtores em Sub-Classes  Reusabilidade  Classe Object Livro-texto: Capítulo 9

5 Herança  Conceito Herança é uma característica do paradigma de Orientação a Objetos que permite que uma classe herde de uma outra classe suas características (atributos e métodos) e possa expandi-los ou adapta-los à sua necessidade. Em java, a herança é definida através da utilização da palavra extends, como no exemplo abaixo: public class Aluno extends Pessoa{ }

6 Herança  Super-classes e Sub-classes O conceito de herança introduz um novo par de termos: Super-classe e Sub-Classe. Super-classe, também conhecida como classe pai, é aquela da qual as características são herdados. Sub-classe, também conhecida como filha, é aquela que herda as características da classe pai. Assim, é entre a Super-classe e a Sub-classe que existe o relacionamento de herança.

7 Herança  Escopo protected Muito embora uma sub-classe herde todas as características do pai, mesmo as que são declaradas private. Porém, estas não podem ser acessadas diretamente pela classe filha. Para manter o encapsulamento e mesmo assim permitir que apenas as classes filhas possa manipular determinado atributo, utiliza-se a o escopo de visibilidade protected. Um atributo (ou método, embora seja menos comum) declarado protected é tão invisível à classes externas quanto um private, porém é plenamente visível e manipulável pelas classes filhas daquela que o declarou.

8 Herança  Construtores em Sub-classes Quando uma classe filha é instanciada, tal como qualquer outra classe, seu método construtor é executado. Porém, como herda atributos da classe pai, talvez seja necessário executar o construtor daquela classe. Para isso, utiliza-se a expressão: super(); que executa o construtor da classe pai à classe que está sendo instanciada. Caso o construtor da classe pai possua parâmetros, esses também podem ser passados nessa chamada: super(param1, param2);

9 Herança  Reusabilidade Já foi discutido em aulas anteriores que Linguagens Orientadas a Objeto favorecem a reutilização de código. A relação de Herança entre classes é apenas mais uma motivação ao reuso em aplicativos OO. Com a herança, podemos reutilizar não só componentes como conjuntos de componentes interligados por herança, e desempenhando juntos uma ou mais funcionalidades específicas. E, em termos de clareza de código e facilidade de manutenção, o uso de herança (quando cabível) é sempre mais desejável do que a duplicação de código.

10 Herança  A Classe Object Na linguagem Java, qualquer objeto que não expresse claramente ser sub-classe de uma classe qualquer, é filha da classe Object. A classe Object, apesar de genérica, possui uma série de métodos interessantes que são herdados por seus filhos. Os métodos são: clonenotify equals notifyAll finalize wait getClass toString hashCode

11 Herança  Exercícios  Crie uma família de classes relacionadas por herança que represente as seguintes entidades: aluno, alunoGraduacao, alunoPosGraduacao, alunoFormando, alunoNaoFormando, alunoMestrado, alunoDoutorado  Crie uma família de classes relacionadas por heranca que represente as seguintes entidades: animais, vertebrados, invertebrados, mamiferos, peixes, aracnideos, aves, cachorro, galinha, vaca, sardinha, aranha.  Altere a família de classes do exercício anterior para incluir as entidades: ser vivo, pato, cobra, baleia.

12 Herança  Exercício Avaliado: Crie uma familia de classes relacionadas por heranca que represente as seguintes entidades: veiculo, veiculoAereo, veiculoTerrestre, veiculoMarinho, carro, aviao, moto, barco, carroAnfibio, jetski, triciclo.  Exercícios para casa 1.Livro-texto - Exercícios do Cap.9