Paradigmas da Programação – Semestre 1 – Aula 8 Professor: Eduardo Mantovani )

Slides:



Advertisements
Apresentações semelhantes
Paradigmas da Programação
Advertisements

Paradigmas da Programação – Semestre 1 – Aula 6
Modificadores Marco Antonio. Introdução Em todas as linguagens de programação o acesso a classes/métodos deve seguir algumas regras.
Herança, Polimorfismo e Classes Abstratas em Java
Orientação a Objetos: Encapsulamento e Classificação
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.
Generalização, Especialização e Conceitos
Polimorfismo e Classes Abstratas Profa
Diagrama de Classes.
Linguagem de Programação II
Orientação a Objetos Classes
Paradigmas da Programação – Semestre 1 – Aula 5
Paradigmas da Programação – Semestre 1 – Aula 3
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
CRIANDO OBJETOS EM JAVA
Curso de extensão em Desenvolvimento Web
Programação Orientada a Objetos com Java
Paradigmas da Programação – Semestre 1– Aula 5 Lab3
Sobrecarga e Encapsulamento
GEJAVA IV SCJA – Certificação Sun java associado exame cx
Interfaces.
Atributos, Encapsulamento e Interface em Java
Aula 3 CoL, atividade Polimorfismo (late binding) Modificador final Modificador abstract Interfaces Herança múltipla Atribuição, Construtores, Destrutores,
Programação I Aula 2 (Métodos)
Paradigmas da Programação – Semestre 1 – Aula 2 Professores: Eduardo Mantovani Fábio de Paula.
Classes, Objetos, Atributos e Métodos JAVA
Linguagens de Programação II Aula 04 – Entendendo Classes
Professora Lucélia Oliveira
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa This.
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Membro Static.
Laboratório I Mateus Raeder. Mateus Raeder – fevereiro de 2009 Associação entre classes  Um objeto é a representação de uma entidade do mundo real 
Paradigmas da Programação – Semestre 1 – Aula 9 Professor: Eduardo Mantovani )
© Ricardo Pereira e Silva
Aula prática 14 Orientação a Objetos – C++ Parte 2
Implementação Orientada a Objetos – Aula 03
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Curso de Aprendizado Industrial Desenvolvedor WEB
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Prof. Gilberto Irajá Müller
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Classes Abstratas P. O. O. Prof. Ângela e Grace.
Implementação Orientada a Objetos – Aula 05 Construtores e sobrecarga de métodos Prof. Danielle Martin Universidade de Mogi das Cruzes
Polimorfismo.
1 Marcio de Carvalho Victorino JAVA. 2 Declaração de Atributos [ ] [transient] [volatile] [static] [final] ; controle de acesso –public, package (default),
Interfaces POO Avançado.
Classes Abstratas e Interface
Aula Prática 1 Monitoria IP/CC (~if669). Roteiro 1.Polimorfismo 2.Superclasses Abstratas 3.Dúvidas 4.Exercício.
Paradigmas da Programação – Semestre 2 – Aula 1 Professores: Fábio de Paula Santos Eduardo Mantovani
Paradigmas da Programação – Semestre 1 – Aula 3 Professor: 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.
Bruno Inojosa MCP .NET Framework
Modificadores Programação II.
1 Java: Modificador abstract para classes e métodos Alcides Calsavara.
Conceitos de OO em Java Parte I
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.
Paradigmas da Programação – Semestre 1 – Aula 5 Lab Professores: Fábio Paula Santos Eduardo Mantovani.
Polimorfismo - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour ▐ Polimorfismo ▐ Exemplo ▐ Classes Abstratas.
Laboratório de Programação II Método main Dados e Métodos de Classes.
Paradigmas da Programação – Semestre 1 – Aula 7 Professor: Eduardo Mantovani )
Implementação Orientada a Objetos – Aula 08 Herança, sobrescrita de métodos e polimorfismo Prof. Danielle Martin Universidade de Mogi das Cruzes
Implementação Orientada a Objetos – Aula 04 Métodos, parâmetros e retorno Prof. Danielle Martin/Marcia Bissaco Universidade de Mogi das Cruzes
1. 2 Programação Orientada a Objetos Prof. Maurício Rodrigues de Morais
Classes Abstratas e Interface. 2 Classe Abstrata  Uma classe abstrata serve apenas como modelo para uma classe concreta (classe que comumente usamos);
1 Interface (o termo) » Interface (a palavra reservada): Java estendeu o conceito de interfaces à um nível ainda mais flexível que permite construir entidades.
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:

Paradigmas da Programação – Semestre 1 – Aula 8 Professor: Eduardo Mantovani )

Classes abstratas São utilizadas como forma generalizada de uma hierarquia, definindo uma interface mínima para a criação de sub-classes. Uma classe é considerada abstrata quando é definida como abstrata ou quando tem um ou mais métodos abstratos. É importante observar que uma classe abstrata não pode ser instanciada, ou seja, não existe objetos se classes abstratas. Classes não abstratas pode ser chamadas de classes concretas.

Métodos Abstratos Para que um método seja abstrato (ou virtual) este deve ser declarado dessa forma. Métodos abstratos NÃO tem implementação, apenas declaração. Um método declarado abstrato na superclasse tem, obrigatoriamente, de ser implementado na sub-classe, exceto se essa também for abstrata.

Classes e métodos abstratos no diagrama de classe UML Elementos abstratos são apresentados em itálico no diagrama de classe UML. Exemplo: sistema de controle acadêmico Pessoa -nome: String -rg: String +Pessoa() +obterNome():String +ajustarNome(nome:String):void +obterRg():String +ajustarRg(rg:String):void +imprimir():void Aluno -curso: String +Aluno() +obterCurso():String +ajustarCurso(curso:String):void +imprimir():void Professor -disciplina: String +Professor() +obterDisciplina():String +ajustarDisciplina(disciplina:String):void +imprimir():void Imprimir foi implementado nas classes Professor e Aluno pois é abstrato na classe Pessoa

Classes e métodos abstratos em Java // Utilização do modificador abstract. // classe abstrata public abstract class Pessoa {... // método abstrato // observe: não tem corpo, termina com ‘;’ logo após a // assinatura do método public abstract void imprimir();... }

Modificador Static Quando empregado, este, este modificador torna o elemento (variável, atributo ou método) estático, ou seja, o elemento é alocado uma única vez, para todas as instâncias daquela classe, gerando diferentes resultados conforme o tipo de elemento onde é aplicado.

Aplicações do modificador Static Aplicado a variáveis locais: A variável mantém o valor entre diferentes chamadas do mesmo método. Aplicado a atributos: O atributo tem valor único entre as diferentes instâncias da classe. Passa a ser chamado de atributo de classe, enquanto os atributos não estáticos (ou dinâmicos) são chamados atributos de objeto. Aplicado a método: O método pode ser invocado a partir da classe sem que seja necessário um objeto dessa classe. Nessa condição o método é chamado de método de classe, ao passo que os métodos dinâmicos são métodos de objeto. Em contrapartida, métodos estáticos não acessam os elementos dinâmicos da classe (atributos e métodos), incluindo o operador this.

Modificador static no diagrama de classe UML Os elementos estáticos são representados por texto sublinhado. Exemplo: Pessoa -nome: String -rg: String -contadorObjetos: int +Pessoa() +obterNome():String +ajustarNome(nome:String):void +obterRg():String +ajustarRg(rg:String):void +imprimir():void +obterContador():int O atributo contadorObjetos é estático, terá o mesmo valor para todos os objetos da classe pessoa. No caso, a idéia é que o construtor incremente esse contador a cada objeto criado. O método obterContador também é estático e pode ser invocado sem a existência de um objeto Pessoa.

Modificador static em Java // Utilização do modificador static. // Com base no exemplo do slide anterior... class Pessoa { private static int contadorObjetos;.. // construtor: é dinâmico mas pode acessar elementos estáticos public Pessoa() { contadorObjetos = obterContador() + 1; }.. // método estático: só acessa elementos estáticos public static int obterContador() { return contadorObjetos; } }

Modificador final Faz com que o elemento ao qual é aplicado assuma sua versão final Versão final tem diferentes significados dependendo do tipo de elemento ao qual se refere: Versão final de classes: a classe em versão final não pode ter sub-classes, ou seja, é a extremidade de uma hierarquia de classes Versão final de métodos: o método em versão final não pode ser reescrito em uma sub-classe.

Modificador final em Java // Utilização do modificador final. Nesse caso, a classe Pessoa é final // e não será possível criar sub-classes dela. public final class Pessoa {. // não faz sentido ter métodos final em uma classe final, já que a // classe não terá sub-classes. } public class Motorista { // método final: não poderá ser reescrito em uma sub-classe public final int calcularSalario() {.. } }