AULA 4 VISÃO BÁSICA DE CLASSES EM PHP



Documentos relacionados
Desenvolvendo Websites com PHP

ProgramaTchê programatche.net Programação OO com PHP

PROGRAMAÇÃO ORIENTADA A OBJETO EM PHP

AULA 2 VISÃO BÁSICA DE CLASSES EM PHP

PHP INTRODUÇÃO CLASSES E OBJETOS

Curso de PHP. FATEC - Jundiaí. A programação orientada a objetos (object-oriented oriented programming

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

LINGUAGEM C UMA INTRODUÇÃO

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Editor de Questões E24H

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Orientação a Objetos

Implementando uma Classe e Criando Objetos a partir dela

LINGUAGEM DE PROGRAMAÇÃO WEB

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

sobre rogério gonçalves gerente de projetos > digitale agência digital rogerio@digitale.com.br h7p:// h7p://leveme.

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

Desenvolvendo Websites com PHP

PHP Orientado a Objetos Análise e Desenvolvimento de Sistemas Prof. Marcelo da Silveira Siedler siedler@gmail.com

PHP AULA1. Prof. Msc. Hélio Esperidião

Parte I. Orientação a objetos no PHP. Contato: <lara.popov@ifsc.edu.br> Site:

Na tela dele, clique no sinal de + ao lado do nome do seu computador, para expandi-lo. A seguir, expanda também o item "Sites da web".

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

Trecho retirando do Manual do esocial Versão 1.1

Sensor de temperatura Parte 5 Cleiton Bueno Preparando o ambiente do Banco de dados Mysql

Procedimentos para Reinstalação do Sisloc

PHP Material de aula prof. Toninho (8º Ano)

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

INTRODUÇÃO: 1 - Conectando na sua conta

Programação Web Prof. Wladimir

Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo;

HTML / JAVASCRIPT. A versão atual é o HTML5 (seus predecessores imediatos são HTML 4.01, XHTML 1.1, etc.).

Aula 1 Introdução ao Word 2013

Desenvolvendo plugins WordPress usando Orientação a Objetos

Manual de Operação do Sistema de Tickets Support Suite

2 echo "PHP e outros.";

Microsoft Access XP Módulo Um

Instalando o Internet Information Services no Windows XP

Programação para Internet Orientada a Objetos com PHP & MySQL Instalando e configurando um ambiente de ferramentas PHP e MySQL. Prof. MSc.

Profº. Enrique Pimentel Leite de Oliveira

Projeto de Banco de Dados

Criando um script simples

Programação de Computadores - I. Profª Beatriz Profº Israel

Manual de Utilização do Zimbra

Logo abaixo temos a Barra de Menus que é onde podemos acessar todos os recursos do PHP Editor.

Faculdade de Tecnologia SENAC Goiás. Disciplina: Gerenciamento de Rede de Computadores. Goiânia, 16 de novembro de 2014.

Programação WEB II. Sessions e Cookies. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Instalando servidor Apache com MySQL e as linguagens ColdFusion e PHP. XAMPP (xampp-win installer.exe), veja aqui.

MANUAL DE CONFIGURAÇÃO DO BACKUP

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Instalando o Lazarus e outros sistemas de suporte. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

No Fedora, instalamos os pacotes "mysql" e "mysql-server", usando o yum:

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

possível até impedir o funcionamento do Windows. Faz-scuidado redobrado ao ativar determinados recursos.

JSP - ORIENTADO A OBJETOS

Características do PHP. Começando a programar

Programação por Objectos. Java

Programação WEB. Prof. André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida. Aula III Introdução PHP

NOVIDADES DO JAVA PARA PROGRAMADORES C

UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS PARA INTERNET. Programação para Internet I

Internet e Programação Web

Sumário 1. SOBRE O NFGoiana DESKTOP Apresentação Informações do sistema Acessando o NFGoiana Desktop

DEFINIÇÃO DE MÉTODOS

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

Boletim Técnico. Criação de formulário dinâmico para o módulo WEB. Produto : TOTVS Web,

Manual Administrador - Mídia System

Procedimentos para Instalação do Sisloc

GUIA INTEGRA SERVICES E STATUS MONITOR

WEBCONFERÊNCIAS GUIA PRÁTICO

Global T126 e GFS), executando para ambos os horários (00Z e 12Z), utilizando

1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela?

Modelagemde Software Orientadaa Objetos com UML

CENTRO UNIVERSITÁRIO CATÓLICA DE SANTA CATARINA PRÓ-REITORIA ACADÊMICA NÚCLEO DE EDUCAÇÃO EM AMBIENTES DIGITAIS NEAD

Aplicação Prática de Lua para Web

Procedimentos para Instalação do SISLOC

OFICINA BLOG DAS ESCOLAS

Instalando o WordPress em localhost

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! CURSO

JavaScript. JavaScript é uma linguagem de script usada em navegadores web. É uma linguagem dinâmica, estruturada e orientada em objetos.

Sumário. Computação Gráfica Illustrator

Atualizaça o do Maker

PROGRAMANDO EM C# ORIENTADO A OBJETOS

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

Acessando um Banco de Dados

Engenharia de Software III

CONFIGURAÇÃO DE REDE SISTEMA IDEAGRI - FAQ CONCEITOS GERAIS

Orientação a Objetos com Java

Programação Orientada a Objeto

LINGUAGEM DE BANCO DE DADOS

Tutorial 02 Promovendo o Windows 2000/2003 Server a um Controlador de Domínio

Programação Orientada a Objetos em Java

Introdução a Java. Hélder Nunes

Programação Orientada a Objetos Classes Abstratas Técnico em Informática. Prof. Marcos André Pisching, M.Sc.

Transcrição:

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila. PROGRAMAÇÃO ESTRUTURADA A programação estruturada dominou a engenharia de software durante muito tempo. Ela é baseada na criação de procedimentos ou funções, que são criados para executar determinada tarefa. No caso da utilização de funções, caracteriza a reutilização de código. Uma função pode receber parâmetros, fazendo com que o resultado seja de acordo com os argumentos (parâmetros) de entrada. A alguns anos atrás, linguagens como cobol, clipper, dentre outras, formavam o grupo das linguagens estruturadas. ORIENTAÇÃO A OBJETOS A orientação a objetos representa uma espécie de filosofia voltada para a construção de sistemas. A base principal da programação orientada a objetos é a construção de parte reutilizáveis chamadas classes. Essas classes se interagem entre si através de objetos. A programação orientada a objetos tem como principal objetivo o reaproveitamento de código de programação. Um outro benefício, e também muito importante, é a organização do código do sistema. Para desenvolver um sistema com orientação a objetos é fundamental entender o conceito de classes e objetos. PHP 5 Já sabemos que o PHP é uma linguagem de programação, muito utilizada para o desenvolvimento de aplicativos voltados para web. E sabemos também que o PHP interage com o HTML. O PHP possui a versatilidade de funcionar em um grande número de sistemas operacionais (Windows, Linux, MacOS X) e também na maioria dos servidores web, como por exemplo o apache. Além de tudo isso, é totalmente gratuito e possui uma vasta literatura na internet. A versatilidade e a liberdade que o PHP proporciona, está também na forma de programar. Tanto faz programar de forma estrutural como orientado a objetos. Sendo que, a partir da versão 5 do PHP, muitos problemas de programação orientado a objetos foram corrigidos, problemas estes existentes na versão 4, tornando atrativo desenvolver em PHP orientado a objetos. Um outro atrativo do PHP é o suporte a um grande número de banco de dados, como o mysql, SQLite, PostgreSql, dentre outros. PHP 5 ORIENTADO A OBJETOS O PHP 5, como já foi citado, veio corrigir vários problemas em relação a orientação a objetos, falhas estas existentes na versões 3 e 4. Nas versões mais antigas do PHP, a orientação a objetos era mais uma simulação. O fato do PHP 5 ter suporte a orientação a objetos, a linguagem não obriga a programar orientado a objetos. Mas vale apena utilizar os recursos que foram disponibilizados. 1

UTILIZANDO O PHP 5 ORIENTADO A OBJETOS NA PRÁTICA Classes (Class) Classe é um termo utilizado em linguagens orientado a objetos. No caso, a classe representa um objeto que existe no mundo real. Podemos definir classe também como um conjunto de objetos que compartilham as mesmas operações. A palavra chave utilizada para criar-se uma classe é class e logo em seguida vem o nome da classe. Este nome pode ser qualquer um, desde que não seja uma palavra reservado do PHP. Normalmente, as classes ficam armazenadas em um arquivo à parte do restante do sistema. E o que podem ser classes e métodos de uma classe??? Regras de negócio (pessoa, cliente), interfaces (janelas, botões), mensagens para usuários, dentre outros. Ou seja, pode-se abstrair do mundo real qualquer situação e podemos escrever uma classe. EXEMPLO: Em um sistema acadêmico, podemos abstrair vários objetos: aluno, curso, disciplina, professor, etc. A partir dai, podemos construir nossas classes. Class Curso { ATRIBUTOS MÉTODOS É importante salientar que toda classe deve possuir um nome. No exemplo acima, a classe chama-se Curso. ATRIBUTOS (OU PROPRIEDADES) Quando variáveis estão sendo utilizadas em uma classe, as mesmas passam a chamar-se ATRIBUTOS (ou propriedades). No exemplo abaixo, $curso é uma propriedade ou atributo. EXEMPLO : (salvar como class.curso.php) Class Curso { public $curso; Os atributos podem ser definidos com as seguintes visibilidades: pública, protegida ou privada (public, protected ou private). A visibilidade public Quem tem acesso à classe tem acesso também a qualquer membro com visibilidade public. É acessível dentro da classe, nas classes extendidas e nos programas que estão instanciando a classe. A visibilidade private O membro private não é acessível fora da classe. A intenção aqui é permitir que apenas você que escreve a classe possa usar esse membro A visibilidade protected O membro protected é acessível à classe e a suas subclasses. é dar acesso ao programadores que estenderão sua classe. A intenção 2

MÉTODOS Métodos são funções (functions), e são declaradas dentro de uma classe. Os métodos representam as ações a serem executadas por um determinado objeto, como alterar um valor, executar uma fórmula, etc. Neste caso, podemos considerar que os métodos são as ações da nossa classe, ou seja, o que está disponível para ser executado. Assim como a classe, os métodos precisam de um nome, e seguem as mesmas regras de uma classe. EXEMPLO : O objetivo do método gravar é exibir o nome do curso Class Curso { public $curso; public function gravar() { echo Vai gravar <br> ; echo $this->curso; *** salvar o script acima como class.teste.php O nome deste arquivo será class.teste.php. O nome da classe é Curso. O nome de um dos métodos é gravar(). DICA: Usualmente inicia-se o nome de uma classe com letra maiuscula. As visibilidades public, private e protected também são utilizadas na criação dos métodos. Pseudo-variável ($this->) A pseudo variável $this faz referência a uma variável ou a um método dentro de uma classe. Em outras palavras, é utilizada quando um método ou uma variável (que na classe é um atributo) é executado dentro do próprio objeto (classe). Pode-se dizer que $this é o chamador do método ou variável. Veja o exemplo acima. Criando uma instância (New) Quando fala-se em instanciar uma classe ou criar uma instância, isso quer dizer que desejamos concretizar esta classe, ou seja, preparar a classe para ser utilizada. Parte-se do princípio que a classe já existe fisicamente, mas para utilizá-la em um ou mais programas, precisamos criar uma instância. Para criar-se uma instância em um programa, é necessário realizar a include da classe (no caso, o arquivo onde a classe está armazenada) e logo depois atribuir a uma variável, usando a palavra new. EXEMPLO: programa para instanciar a(s) classe(s) e o(s) método(s) <?php include "class.teste.php"; // include do programa onde está a classe $obj = new Curso; // criando uma instância da classe $obj->curso = "Administracao"; // Atribuindo valor a propriedade da classe $obj->gravar(); // executando um método da classe?> *** salvar o script acima como curso.php *** Executar 127.0.0.1/curso.php 3

Métodos Contrutores Construtor O método construtor são métodos (funções) especiais, que tem como objetivo inicializar um objeto, ou seja, determinar o comportamento inicial deste objeto. Cada vez que um novo objeto é criado, caso seja necessário, podemos utilizar o método construtor para objetivamente construir o objeto. Os métodos construtores não possuem valor de retorno. Geralmente passamos como parâmetros (atributos) para a classe através do método construtor, propriedades (valores, informações) que são fundamentais durante a sua execução. Em um método construtor podem ser executados comandos. A utilização de um método construtor não é obrigatória. Observação: os parâmetros recebidos pelo método construtor podem não ser obrigatórios. Sendo assim, podemos atribuir NULL a propriedade. EXEMPLO: class.curso.php Neste exemplo estamos criando uma classe chamada Curso. Esta classe possuirá um método construtor, onde o atributo será o código do curso ($codcurso). Mesmo em um método construtor, um parâmetro poderá ser considerado nulo (NULL). Neste caso, este atributo não torna-se obrigatório na hora da instância da classe. Regras: 1. O atributo $codcurso será private, pois este somente poderá ser passado para a classe através do método construtor ou através de algum método da própria classe, pois na tabela do banco de dados, este campo é autoincremento na tabela do banco de dados. Ou seja, ao incluirmos um curso na tabela não sabemos qual será o código. 2. O atributo $nomecurso poderá ser passado tanto fora como na própria classe. 3. Se no método construtor o $codcurso não for NULL, é sinal que o objeto já existe e o mesmo será construído. Se o $codcurso for NULL, é sinal que este objeto ainda será construído, como uma página em branco. <?php class Curso { private $codcurso; public $nomecurso; // Método construtor function construct($codcurso=null) { if ($codcurso <> NULL) { $this->carregar(); 4

// Método para carregar um objeto, caso o mesmo já exista private function carregar() { $this->codcurso = 1; $this->nomecurso = 'TADS'; // Método para gravar dados de um objeto public function gravar() { echo "Vai gravar <br>"; $this->codcurso = 2; echo $this->codcurso; echo $this->nomecurso; Vamos instanciar a classe Curso, criando um programa chamado curso.php. É importante uma classe ser testada antes de ser utilizada em um sistema. Passo 1 : Incluir o arquivo class.curso.php (include) Passo 2 : Instanciar a classe, passando o parâmetro para o método construtor, ou não, caso não seja necessário, no caso de uma inclusão por exemplo. Passo 3 : Instanciar o(s) atributo(s) da classe que não estão sendo instanciados pelo método construtor. A partir dai, poderemos visualizar o objeto e fazermos uso dos métodos da classe. <?php include "class.curso.php"; // Include da classe $codcurso=null; // Valor da variável $codcurso $objeto = NEW Curso($codcurso); //Instanciando a classe // O método gravar() somente será executado se o $codcurso for NULL if ( $codcurso==null ) { $objeto->nomecurso = 'ADMINISTRAÇÃO'; $objeto->gravar(); echo "<pre>"; var_dump($objeto); // Visualizando o objeto criado?> Obs: Troque o valor da variável $codcurso para 1 e veja como o objeto será construído. Note que, ao instanciar a classe, cria-se um objeto. Os atributos deste objeto poderão ser utilizados em todos métodos da sua classe. Caso o objeto não seja criado ao ser instanciado, verifique erros de sintaxe e/ou lógica. 5

EXERCÍCIOS - Escreva uma classe chamada Pessoa. - Atributos da classe: codigo (private), nome (public), idade (public). - Métodos da classe: mostrar() Regra: exibir na tela todos os atributos da classe pessoa. - Instanciar a classe e os respectivos atributos - Executar o método NA AULA RESOLUÇÃO No assunto classes, estude também Herança, Polimorfismo, Abstratas, Encapsulamento. 6