Aula 3 CoL, atividade Polimorfismo (late binding) Modificador final Modificador abstract Interfaces Herança múltipla Atribuição, Construtores, Destrutores,

Slides:



Advertisements
Apresentações semelhantes
Modificadores Marco Antonio. Introdução Em todas as linguagens de programação o acesso a classes/métodos deve seguir algumas regras.
Advertisements

PHPOO Erick Souza. Conceitos de Orientação a Objetos Objeto é um conceito ou item(concreto ou abstrato). Software orientado a objetos Uma classe é uma.
Herança, Polimorfismo e Classes Abstratas em Java
Persistência de objetos em arquivo texto usando Java
1 Orientação a Objetos: Herança Alcides Calsavara.
De 17 1 Linguagens de Programação Orientadas a Objetos Pós-Gradução(Lato-Sensu) em Sistemas de Banco de Dados - UFPa Marco Fagundes Aula.
Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos.
Iniciação ao Java – Márcio F. Campos
Análise Orientada a Objetos
INF Computação Gráfica
Polimorfismo e Classes Abstratas Profa
Linguagem de Programação II
Aula 8 Orientação à Objetos
Curso de C/C++ Avançado
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
Classes e objetos P. O. O. Prof. Grace.
Curso de extensão em Desenvolvimento Web
Polimorfismo em C#.
Programação Orientada a Objetos com Java
Conceitos básicos de orientação a objetos
Programação orientada a objetos: Polimorfismo
GEJAVA IV SCJA – Certificação Sun java associado exame cx
Programação Orientada à Objetos
Tópicos avançados em internet A
Introdução à Ciência da Computação-2
Linguagem de Programação JAVA
Paradigmas da Programação – Semestre 1 – Aula 2 Professores: Eduardo Mantovani Fábio de Paula.
Classes, Objetos, Atributos e Métodos JAVA
Erick Luis Moraes de Sousa
Professora Lucélia Oliveira
Orientação a Objetos Parte I
Wagner Santos C. de Jesus
Aula prática 14 Orientação a Objetos – C++ Parte 2
Programação I Aula 6 (Herança, Polimorfismo e Encapsulamento)
Programação Orientada a Objetos - Java
Programação Orientada à Objetos
Interfaces e classes abstratas. Conceitos de Orientação a Objeto.
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Prof. Gilberto Irajá Müller
Introdução às Java Threads
Orientação a Objetos usando Java
Classes Abstratas P. O. O. Prof. Ângela e Grace.
Aula Prática 4 Monitoria IP/CC (~if669).
Polimorfismo.
POO II JEAN CARLO MENDES
1 Marcio de Carvalho Victorino JAVA. 2 Declaração de Atributos [ ] [transient] [volatile] [static] [final] ; controle de acesso –public, package (default),
Aula Prática 1 Monitoria IP/CC (~if669). Roteiro 1.Polimorfismo 2.Superclasses Abstratas 3.Dúvidas 4.Exercício.
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.
Paradigmas de Programação –Aula 7 Lab 2 Professores: Eduardo Mantovani Fábio Paula Santos.
Herança Modelagem e Programação Orientada a Objetos
Construtores e Destrutores
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Paradigmas da Programação – Semestre 1 – Aula 8 Professor: Eduardo Mantovani )
Bruno Inojosa MCP .NET Framework
Classes abstratas São classes das quais não se pode instanciar objetos. São classes das quais não se pode instanciar objetos. Seu objetivo é ser herdada.
20/04/2017 Orientação a Objetos 1 1.
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
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
CURSO JAVA BÁSICO Módulo 9 – slide 1 Módulo 10 Threads.
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
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

Aula 3 CoL, atividade Polimorfismo (late binding) Modificador final Modificador abstract Interfaces Herança múltipla Atribuição, Construtores, Destrutores, alocação de memória, Garbage Collection Modificador static, variáveis static, classes static. Interface cloneable Sobrecarga de operadores.

CoL Todos receberam o aviso do CoL? Vamos testar o CoL: – Atividade para quinta que vem (19.08): Faça um resumo (max 2 folhas) contendo os conceitos apresentados até esta aula, inclusive, e uma breve explicação.

“O que possui várias formas” Propriedade de se usar o mesmo nome para métodos diferentes, implementados em diferentes níveis de uma hierarquia de classes Para cada classe, tem-se um comportamento específico para o método 2 o semestre Polimorfismo

Habilidade pela qual uma única operação pode ser definido em mais de uma classe e assumir implementações diferentes em cada uma dessas classes Overriding de operações Vinculação tardia (late binding) é a técnica pela qual a operação a ser executada é determinada somente em tempo de execução Java (implementado diretamente) ‏ Palavra chave virtual (Linguagem C++) ‏ 2 o semestre Polimorfismo / Vinculação Tardia

Polígono p;... if usuário diz OK then p = new Triângulo(); else p = new Retângulo();... p.calcularArea(); // aqui p pode referir-se a um objeto // Triângulo ou a um objeto Retângulo // Capacidade de Substituição 2 o semestre Dados Triângulo calcularArea Dados Retângulo calcularArea p Polimorfismo / Vinculação Tardia

Permite a cada objeto responder a um formato de mensagem da maneira apropriada à classe (ou subclasse) da qual foi instanciado Uma mesma operação pode apresentar comportamentos diferentes em classes (ou subclasses) distintas Uma operação pode ter diferentes implementações, isto é, mais de um método pode implementá-la 2 o semestre Polimorfismo

Modificador final Uma variável ou um método “final” não pode ser substituído. Uma classe “final” tem todas as variáveis e métodos “final” e não aceita ser superclasse.

Modificador static Uma variável “static” é compartilhada e acessada por todas as instâncias (principal) Um método “static” pode ser chamado a partir da classe (principal12).

Modificador abstract Um método “abstract” requer ser codificado na subclasse (principal13, principal14). Uma classe com pelo menos um método “abstract” é uma classe abstrata

Interfaces Uma interface é uma classe em que todos os métodos são abstratos (principal 15).

Uma classe pode herdar características de mais de uma classe, ou seja, pode ter mais de uma superclasse a subclasse herda todos os atributos e métodos de todas as suas superclasses atributos/métodos de um mesmo ancestral que “alcancem” a subclasse por mais de um caminho na hierarquia são herdados apenas uma vez (são o mesmo atributo/método). Ex. a seguir: atributo cor na hierarquia de Veículo conflitos em definições paralelas na hierarquia podem gerar ambiguidades (ex. a seguir: método operar na hierarquia de Veículo) ‏ 2 o semestre Herança Múltipla

2 o semestre Atributo: - cor Método: -operar Veículo Veículo Terrestre Veículo Aquático Atributo: - cor Método: - operar Atributo: - cor Método: - operar Atributo: - cor Método: - operar ???? Atributo: - cor Método: - operar Atributo: - cor Método: - operar Veículo AnfíbioCarroBarco Herança Múltipla

Atribuições c3=c2

Construtores/Alocação/Referência Construtor – Alocar memória – Inicializar variáveis Cópia de instâncias – Cópia “rasa” – Cópia “profunda” Construtor de cópia/Sobrecarga de operador (C++) Construtor de cópia (JAVA) – principal16

Destrutores e gerenciamento de memória Java não tem um destrutor específico O gerenciador de memória detecta instâncias inativas e devolve a memória utilizada pela instância para o pool de memória livre. Um objeto tem o método finalize() – Não é possível dizer quando o método é chamado. Pode-se sugerir uma chamada do gerenciador de memória usando a chamada System.gc()