Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.

Slides:



Advertisements
Apresentações semelhantes
Prof.: Sergio Pacheco Linguagem PHP Prof.: Sergio Pacheco 1.
Advertisements

Parte I Capítulo 5 Reutilizando código e escrevendo funções.
PHPOO Erick Souza. Conceitos de Orientação a Objetos Objeto é um conceito ou item(concreto ou abstrato). Software orientado a objetos Uma classe é uma.
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS CLASSES ABSTRATAS
Projeto de Sistemas de Software
Padrão de Projeto Interpreter
Projeto de Sistemas de Software Trabalho de Padrões de Projeto
Factory Method Projeto de Sistemas de Software
Abstract Factory Intenção: fornecer uma interface comum para a criação de famílias de objetos relacionados ou dependentes, sem especificar suas classes.
Polimorfismo e Classes Abstratas Profa
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Diagrama de Classes.
Linguagem de Programação II
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Linguagem de Programação II
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
7 Abstração Genérica Unidades genéricas e instanciação.
Interfaces em Java1 Interfaces Prof. Ricardo Linden.
JAVA ENUMS © 2009 by Jorge L. de Souza Leão março de 2009 PEE - COPPE/UFRJ.
UMA ABORDAGEM SOBRE ORIENTAÇÃO A OBJETOS!
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.
Clique para editar o estilo do subtítulo mestre Desenvolvimento web com Java JAVA 5 – Declarações e Controles de Acesso.
Herança e Polimorfismo
Classes e objetos P. O. O. Prof. Grace.
Curso de extensão em Desenvolvimento Web
Programação Orientada a Objetos com Java
C# Herança Sharp Shooters .NET Universidade Federal de Pernambuco Centro de Informática Recife, 23/09/2002 Autor: Marden Menezes Costa.
Sobrecarga e Encapsulamento
GEJAVA IV SCJA – Certificação Sun java associado exame cx
Programação Orientada à Objetos
Oberdan B. Ferreira Polimorfismo Oberdan B. Ferreira
Tópicos avançados em internet A
Linguagem de Programação II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Linguagens de Programação II Aula 04 – Entendendo Classes
Programação Orientada à Objetos
Ruby (2/2) André Braga Patrícia Lustosa. Intro Peguem a aula de ontem em /~plvr para ter como referência para os exercícios de hoje.
Aula prática 14 Orientação a Objetos – C++ Parte 2
Implementação Orientada a Objetos – Aula 03
POO II JEAN CARLO MENDES
Paradigmas da Programação – Semestre 2 – Aula 13 Professor: Eduardo Mantovani Prof. Fábio de Paula Santos
Prof. Gilberto Irajá Müller
Java Kickstart, day 2 Semelhanças com linguagem C.
Classes Abstratas P. O. O. Prof. Ângela e Grace.
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),
Interfaces POO Avançado.
Classes Abstratas e Interface
Prof.: Bruno Rafael de Oliveira Rodrigues.  Existe para poder servir de molde para outras classes.  Deve ser declarada tal usando-se a palavra chave.
Aula Prática 1 Monitoria IP/CC (~if669). Roteiro 1.Polimorfismo 2.Superclasses Abstratas 3.Dúvidas 4.Exercício.
Classes Abstratas e Interfaces GX – Aula05 1.
Programação II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
Programação para Dispositivos Móveis Prof. Wallace Borges Cristo.
Bruno Inojosa MCP .NET Framework
Linguagem II Classes Abstratas Interfaces. Davi Pires Revisão Reuso de código Superclasses e subclasses Composição vs. Herança Construtores.
Factory.
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.
Polimorfismo - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour ▐ Polimorfismo ▐ Exemplo ▐ Classes Abstratas.
Módulo II Capítulo 1: Orientação a Objetos
4 CONCEITOS BÁSICOS EM POO Dilvan Moreira.  Objetos  Classes  Herança  Polimorfismo Lembrando: 4 Conceitos Básicos.
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
Implementação Orientada a Objetos – Aula 03 Atributos e Encapsulamento Prof. Danielle Martin/ Marcia Bissaco Universidade de Mogi das Cruzes
Implementação Orientada a Objetos – Aula 08 Herança, sobrescrita de métodos e polimorfismo Prof. Danielle Martin Universidade de Mogi das Cruzes
Aula 7 – Padrão Abstract Factory
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);
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1

Sumário Abstração; Polimorfismo; Interfaces. Prof.: Sergio Pacheco 2 2

Abstração São classes que nunca serão instanciadas na forma de objetos, somente suas classes filhas serão; Para dizermos que uma classe é abstrata basta informarmos a palavra chave abstract. Prof.: Sergio Pacheco 3 3

Abstração <?php abstract class Cheque { private $valor; public function setValor( $valor ) { $this->valor = $valor; } public function getValor() { return $this->valor; public function calculaJuros() { } class ChequeComum extends Cheque { public function calculaJuros() { return $this->valor * 1.25; // calcula 25% em cima do valor; } } class ChequeEspecial extends Cheque { public function calculaJuros() { return $this->valor * 1.10; // calcula 10% em cima do valor; } } /* * Tentando instanciar a classe Cheque. * Isto vai causar um Fatal Error, pois ela é abstrata e não pode ser instanciada. */ $cheque = new Cheque(); ?> Prof.: Sergio Pacheco 4 4

Abstração class ChequeComum extends Cheque { public function calculaJuros() { return $this->valor * 1.25; // calcula 25% em cima do valor; } class ChequeEspecial extends Cheque { return $this->valor * 1.10; // calcula 10% em cima do valor; /* * Tentando instanciar a classe Cheque. * Isto vai causar um Fatal Error, pois ela é abstrata e não pode ser instanciada. */ $cheque = new Cheque(); ?> Prof.: Sergio Pacheco 5 5

Métodos Abstração Assim como classes, os métodos abstratos também são criados apenas para estruturação das classes filhas. Às vezes queremos que as classes derivadas de uma classe pai tenham obrigatoriamente um método específico, para garantir que não haja conflito em outros métodos que dependem desse primeiro; Quando se usa métodos abstratos, faz com que as classes filhas implementes esses métodos. Prof.: Sergio Pacheco 6 6

Métodos Abstratos <?php abstract class Cheque { // outros métodos abstract function calculaJuros(); } class ChequeContaUniversitaria extends Cheque { /** * Esta classe não precisa de calculo de juros. * Mas se este método não for definido o PHP dispara um Fatal Error, * pois na classe pai esse método está como abstrato. */ public function calculaJuros() { return $this->valor; // não há juros; ?> Prof.: Sergio Pacheco 7 7

Interfaces Interfaces de Objetos permite a criação de código que especifica quais métodos e variáveis uma classe deve implementar, sem ter que definir como esses métodos serão tratados; Interfaces são definidas usando a palavra-chave 'interface', da mesma maneira que uma classe comum, mas sem nenhum dos métodos ter seu conteúdo definido; Todos os métodos declarados em uma interface devem ser public, essa é a natureza de uma interface. Prof.: Sergio Pacheco 8 8

Interface Precisa obrigatoriamente implementar todos os seus métodos // Declara a interface ‘seila' interface seila{ public function setVariable($name, $var); public function getHtml($template); } // Implementa a interface // Isso funcionará class Template implements seila{ private $vars = array(); public function setVariable($name, $var){ $this->vars[$name] = $var; public function getHtml($template){ foreach($this->vars as $name => $value) { $template = str_replace('{' . $name . '}', $value, $template); return $template; Precisa obrigatoriamente implementar todos os seus métodos Prof.: Sergio Pacheco 9 9

Exercício Prof.: Sergio Pacheco 10 10

Ótimo Final de semana a Todos! Bom Final de Semana - Sucesso Ótimo Final de semana a Todos! Deus abençoe! Refenciar a contrucao de um bolo de aniversario Prof.: Sergio Pacheco 11 11