Desenvolvimento Web com
PHP
Pós-Graduação em Desenvolvimento
Web
PHP OO – Herança
Herança
 Permite reutilizar atributos e métodos já definidos
em uma outra classe;
 Elimina eventuais duplicações ou reescritas de
código;
 Classes-filha (subclasses) herdam implementações
da classe-pai (superclasse) de acordo com uma
hierarquia;
3
Herança
 Uma subclasse
pode herdar
todos os
componentes de
uma classe pai;
 Permite a
criação de novas
classes sem
duplicação de
código; 4
Pessoa
# nome: String
+ escreverNome()
Juridica
- cnpj: String
+validarCNPJ(): Boolean
Fisica
- cpf: String
+validarCPF(): Boolean
Superclasse: Características comuns
Subclasses: Características específicas
Herança
 Usamos a palavra reservada extends na assinatura
de uma classe para estabelecer uma hierarquia;
 Sintaxe:
5
<?php
class Filha extends Pai
{
// ...
Exercício
Exercício
• Etapa 1 – Preparação do Domínio
 Crie uma pasta em htdocs chamada heranca;
 Na pasta heranca, crie uma pasta chamada
classes;
7
Exercício
 Etapa 2 - Crie as seguintes classes na pasta
heranca/classes:
8
Funcionario
# nome: string
# salario: float
+ relatorioFunc()
Gerente
- projeto: string
Programador
- linguagem: string
OBS 1: Crie métodos
get e set caso seja necessário.
Construtores também podem
ser utilizados.
OBS 2: O métodos relatorio
simplesmente exibe as
informações do funcionário
no navegador
Exercício
• Etapa 3 – Criação de um formulário HTML
 Crie um formulário HTML que permita ao usuário
digitar o nome, salário de um funcionário, além
de informar se o mesmo é um gerente ou
programador;
 Método de envio: POST;
 Os dados deverão ser submetidos para o script
“exibirFunc.php”;
 Salve o documento HTML na pasta heranca com o
nome index.html;
9
Exercício
• Etapa 4 – Criação do script exibirFunc.php na
pasta herança
 O script deverá inicialmente receber os dados submetidos
pelo formulário HTML;
 Em seguida, o script deverá criar um objeto da classe que
representa o cargo do funcionário;
 Com o objeto criado, os dados enviados a partir do
formulário deverão ser submetidos para o mesmo;
 O script deverá executar o método relatorioFunc,
objetivando apresentar os dados do funcionário;
10
PHP OO – Polimorfismo
Polimorfismo
 Permite que subclasses possuam métodos iguais
(com a mesma assinatura) de uma superclasse, mas
com comportamentos diferentes;
 As implementações de tais métodos são redefinidas
nas classes-filhas;
 Classes-filha (subclasses) herdam implementações
da classe-pai (superclasse) de acordo com uma
hierarquia;
12
Polimorfismo
 Ex.:
13
Figura
# x: float
# y: float
+ mostraArea()
Triangulo
+ mostraArea()
Quadrado
+ mostraArea()
Exercício
Exercício
• Etapa 1 – Preparação do Domínio
 Crie uma pasta em htdocs chamada
polimorfismo;
 Na pasta polimorfismo, crie uma pasta chamada
classes;
15
Polimorfismo
 Etapa 2: Crie as seguintes classes na pasta
polimorfismo/classes :
16
Conta
# saldo: float
+ deposita(float)
+ saca(float)
+ imprimeExtrato()
ContaCorrente
+ saca(float)
ContaPoupanca
OBS: Crie os métodos
get e set necessários. Construtores
podem ser criados.
OBS: O método saca da
Subclasse ContaCorrente
Deverá descontar uma
taxa de 10 centavos em
cada saque.
Exercício
• Etapa 3 – Criação do script index.php na pasta
polimorfismo
 O script deverá criar um objeto para cada tipo de conta;
 Em seguida, o script deverá definir o saldo inicial de R$
200,00 na conta corrente e R$ 500,00 na poupança;
 Após a definição do valor inicial de cada conta, saque R$
100,00 de cada conta;
 O script deverá executar o método imprimeExtrato de
cada conta, exibindo seu saldo final;
17

Desenvolvimento Web com PHP - Aula 2

  • 1.
  • 2.
    PHP OO –Herança
  • 3.
    Herança  Permite reutilizaratributos e métodos já definidos em uma outra classe;  Elimina eventuais duplicações ou reescritas de código;  Classes-filha (subclasses) herdam implementações da classe-pai (superclasse) de acordo com uma hierarquia; 3
  • 4.
    Herança  Uma subclasse podeherdar todos os componentes de uma classe pai;  Permite a criação de novas classes sem duplicação de código; 4 Pessoa # nome: String + escreverNome() Juridica - cnpj: String +validarCNPJ(): Boolean Fisica - cpf: String +validarCPF(): Boolean Superclasse: Características comuns Subclasses: Características específicas
  • 5.
    Herança  Usamos apalavra reservada extends na assinatura de uma classe para estabelecer uma hierarquia;  Sintaxe: 5 <?php class Filha extends Pai { // ...
  • 6.
  • 7.
    Exercício • Etapa 1– Preparação do Domínio  Crie uma pasta em htdocs chamada heranca;  Na pasta heranca, crie uma pasta chamada classes; 7
  • 8.
    Exercício  Etapa 2- Crie as seguintes classes na pasta heranca/classes: 8 Funcionario # nome: string # salario: float + relatorioFunc() Gerente - projeto: string Programador - linguagem: string OBS 1: Crie métodos get e set caso seja necessário. Construtores também podem ser utilizados. OBS 2: O métodos relatorio simplesmente exibe as informações do funcionário no navegador
  • 9.
    Exercício • Etapa 3– Criação de um formulário HTML  Crie um formulário HTML que permita ao usuário digitar o nome, salário de um funcionário, além de informar se o mesmo é um gerente ou programador;  Método de envio: POST;  Os dados deverão ser submetidos para o script “exibirFunc.php”;  Salve o documento HTML na pasta heranca com o nome index.html; 9
  • 10.
    Exercício • Etapa 4– Criação do script exibirFunc.php na pasta herança  O script deverá inicialmente receber os dados submetidos pelo formulário HTML;  Em seguida, o script deverá criar um objeto da classe que representa o cargo do funcionário;  Com o objeto criado, os dados enviados a partir do formulário deverão ser submetidos para o mesmo;  O script deverá executar o método relatorioFunc, objetivando apresentar os dados do funcionário; 10
  • 11.
    PHP OO –Polimorfismo
  • 12.
    Polimorfismo  Permite quesubclasses possuam métodos iguais (com a mesma assinatura) de uma superclasse, mas com comportamentos diferentes;  As implementações de tais métodos são redefinidas nas classes-filhas;  Classes-filha (subclasses) herdam implementações da classe-pai (superclasse) de acordo com uma hierarquia; 12
  • 13.
    Polimorfismo  Ex.: 13 Figura # x:float # y: float + mostraArea() Triangulo + mostraArea() Quadrado + mostraArea()
  • 14.
  • 15.
    Exercício • Etapa 1– Preparação do Domínio  Crie uma pasta em htdocs chamada polimorfismo;  Na pasta polimorfismo, crie uma pasta chamada classes; 15
  • 16.
    Polimorfismo  Etapa 2:Crie as seguintes classes na pasta polimorfismo/classes : 16 Conta # saldo: float + deposita(float) + saca(float) + imprimeExtrato() ContaCorrente + saca(float) ContaPoupanca OBS: Crie os métodos get e set necessários. Construtores podem ser criados. OBS: O método saca da Subclasse ContaCorrente Deverá descontar uma taxa de 10 centavos em cada saque.
  • 17.
    Exercício • Etapa 3– Criação do script index.php na pasta polimorfismo  O script deverá criar um objeto para cada tipo de conta;  Em seguida, o script deverá definir o saldo inicial de R$ 200,00 na conta corrente e R$ 500,00 na poupança;  Após a definição do valor inicial de cada conta, saque R$ 100,00 de cada conta;  O script deverá executar o método imprimeExtrato de cada conta, exibindo seu saldo final; 17