7. Apresentação
• Aplicações que serão utilizados no curso:
– Notepad++
• https://notepad-plus-plus.org/
– Xampp
• https://www.apachefriends.org/pt_br/index.html
7
8. Apresentação
• Avaliação:
– Miniprojeto: Desenvolvimento de uma aplicação
PHP orientada a objetos;
• Trabalho em Grupo (3 integrantes);
• Tema Livre (Deverá ser pré-aprovado pelo professor);
– Critérios de Avaliação:
• Interface, usabilidade, aplicação das competências e
habilidades adquiridas durante o curso, aplicação de
pelo menos um padrão de projeto, organização do
Projeto e apresentação ao professor (até 15 min.);
8
10. Paradigmas de Programação
Uma linguagem de
programação (LP) = Notação
formal para descrição de
algoritmos em um
computador;
É necessário entender as
organizações das LP, com
ênfase na compreensão dos
seus conceitos abstratos e
dos seus elementos de
representação;
10
11. Paradigmas de Programação
Cada LP pode se relacionar com um método
de projeto específico;
Cada linguagem de programação pode forçar
um certo estilo de programação;
Tais estilos são chamados de paradigmas de
programação;
11
12. Paradigmas de Programação
Principais paradigmas:
Programação Procedural
Programação Orientada a Objetos
12
13. Paradigmas de Programação
Programação Procedural (Estruturado):
Estilo de programação convencional (descrita no
aprendizado em algoritmos);
Programas são decompostos em “passos” de
processamento;
Rotinas são usadas na modularização de passos
específicos;
Ex.: Pascal e C;
13
14. Paradigmas de Programação
Programação Procedural:
14
program Teste;
var
a, b:integer;
begin
writeln('Digite um número para 7');
readln(a); writeln('Digite o número para 6');
readln(b);
if (a > b) then { Se 7 é maior que 6 então }
writeln('7 é maior que 6')
else { Senão… }
if (a < b) then
writeln('6 é maior que 7')
else
writeln('6 é igual à 7');
end.
16. Paradigma de Programação OO
O paradigma OO propõe que a solução de
qualquer problema pode ser obtida seguindo
estas etapas:
Procurar e implementar classes existentes no problema;
Determinar as características e responsabilidades de cada
classe;
Instanciar objetos de cada classe;
Estabelecer como ocorrerá a interação entre os objetos;
16
17. Paradigma de Programação OO
O modelo OO é formado por quatro
componentes básicos:
Objetos;
Mensagens;
Métodos;
Classes;
17
18. Paradigma de Programação OO
Classe
Estrutura de dados que possui atributos (variáveis de
classe) e métodos (funções PHP);
Descreve as propriedades e comportamentos de objetos;
Modelo ou template para objetos;
Objeto
Originada com base em uma classe;
A partir de um objeto, temos “uma cópia” dos atributos e
métodos de uma classe;
Interagem no sistema e armazenam dados;
18
19. Paradigma de Programação OO
Exemplo 1 – Implementação de uma classe em PHP:
19
// Arquivo Produto.php
<?php
class Produto
{
// Classe com 4 atributos
public $codigo;
public $descricao;
public $preco;
public $quantidade;
}
?>
20. Paradigma de Programação OO
Exemplo 1 – Instanciando um objeto da classe
Produto:
20
// Arquivo testeObjeto.php
<?php
// Incluindo a classe criada anteriormente
require ‘classes/Produto.php’;
// Criando um objeto
$produto = new Produto();
// Atribuindo valores aos atributos
$produto->codigo = 4001;
$produto->descricao = ‘CD – AC/DC’;
?>
21. Paradigma de Programação OO
Exemplo 2 – A classe Produto com atributos e um
método:
21
// Arquivo Produto.class.php
<?php
class Produto
{
// Classe com 4 atributos
public $codigo;
public $descricao;
public $preco;
public $quantidade;
22. Paradigma de Programação OO
Exemplo 2 – A classe Produto com atributos e um
método:
22
// Arquivo Produto.class.php
public function imprimeEtiqueta()
{
echo ‘Código: ’ . $this->codigo .
‘<br>’;
echo ‘Descrição: ’ . $this-
>descricao . ‘<br>’;
}
}
?>
23. Paradigma de Programação OO
Exemplo 2 – Instanciando um objeto da classe
Produto e executando um método do mesmo:
23
// Arquivo testeObjeto.php
<?php
// Incluindo a classe criada anteriormente
require ‘classes/Produto.php’;
// Criando um objeto
$produto = new Produto();
// Atribuindo valores aos atributos
$produto->codigo = 4001;
$produto->descricao = ‘CD – AC/DC’;
$produto->imprimeEtiqueta();
?>
25. Construtor
Método especial utilizado para definir o
comportamento inicial de um objeto;
Muito utilizado para inicializar atributos
(variáveis de classe);
Executado automaticamente no momento da
instância de um objeto (uso da palavra
reservada new);
25
27. Destrutor
Método especial a ser executado
automaticamente quando o objeto é
desalocado da memória ou quando o
programa é finalizado;
Muito utilizado para finalizar conexões,
apagar arquivos temporários, etc.;
27
30. 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;
30
31. 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; 31
Pessoa
nome: String
escreverNome()
Juridica
cnpj: String
validarCNPJ(): Boolean
Fisica
cpf: String
validarCPF(): Boolean
Superclasse: Características comuns
Subclasses: Características específicas
32. Herança
Usamos a palavra reservada extends na assinatura
de uma classe para estabelecer uma hierarquia;
Sintaxe:
32
<?php
class Filha extends Pai
{
// ...
34. Exercício
• Etapa 1 – Preparação do Domínio
Crie uma pasta em htdocs chamada heranca;
Na pasta heranca, crie uma pasta chamada
classes;
34
35. Exercício
Etapa 2 - Crie as seguintes classes na pasta
heranca/classes:
35
Funcionario
# nome: String
# salario: double
+ 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
36. 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 e observações 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;
36
37. 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;
O script deverá exibir as observações do funcionário (o
projeto ou a linguagem de programação);
37