• Nenhum resultado encontrado

WEB DEVELOPMENT. PHP e MySQL. Maria Soromenho /

N/A
N/A
Protected

Academic year: 2022

Share "WEB DEVELOPMENT. PHP e MySQL. Maria Soromenho /"

Copied!
8
0
0

Texto

(1)

PHP e

MySQL

WEB DEVELOPMENT

Maria Soromenho / maria_soromenho@professores.etic.pt

(2)

OOP - Programação Orientada a Objectos

No mundo real, os objectos (físicos ou conceptuais) têm, regra geral, propriedades e funções associadas.

Por exemplo, um carro tem propriedades como cor ou número de portas e funções como andar, transportar pessoas, trocar um pneu. Um objecto conceptual é, por exemplo, uma encomenda que fazemos numa loja - uma encomenda tem como propriedade o valor total, ou o desconto e tem como funções associadas um pagamento, uma devolução ou a emissão de uma factura.

A programação orientada a objectos é uma forma de programar que permite organizar o código por objectos.

Em vez de termos uma série de funções soltas que executam uma determinada tarefa, temos as funções agrupadas de forma lógica num ficheiro ao qual chamamos uma classe.

Os objectos são instâncias da classe, o que quer dizer que são criados a partir dela e herdam todas as propriedades e funções associadas.

Um atributo é uma propriedade ou característica de um objecto. Por exemplo, quando dizemos que um carro é vermelho, vermelho é uma propriedade do carro e o carro é o objecto em si.

Um método é uma função ou comportamento que o objecto pode ter. Por exemplo, se

dissermos "o pássaro pode voar", "voar" é um comportamento do pássaro e o pássaro é o objecto.

(3)

Classes e Instâncias

class Student {

var $first_name;

var $last_name;

var $country = 'Portugal';

function say_hello(){

return 'Hello!';

} }

$student1 = new Student; // instância da classe Student

$student1->first_name = 'Ana';

echo $student1->say_hello();

$student2 = new Student; // instância da classe Student

$student2->first_name = 'Benjamin';

Uma classe é composta por atributos (variáveis) e métodos (funções).

Uma instância é um objecto criado a partir de uma classe. Podemos ter quantas instâncias quisermos.

Todas têm a mesma estrutura, definida na classe, mas são objectos independentes.

(4)

Inheritance / Classes herdeiras

class Vehicle { var $color;

var $weels;

var $doors';

function is_good_for_rain(){

return true;

} }

Uma classe herdeira herda todos os atributos e métodos da classe mãe.

Pode ainda ter atributos e métodos próprios e fazer override a métodos existentes.

class Car extends Vehicle { var $weels = 4;

var $is_convertible = false;

function is_good_for_rain(){

return !$is_convertible;

} }

class Bike extends Vehicle { var $weels = 2;

var $doors = 0;

function is_good_for_rain(){

return false;

} }

(5)

Inheritance / Classes herdeiras

class User {

var $first_name;

var $last_name;

var $is_adult = FALSE;

function say_hello($name){

return 'Hello ' . $name . '!';

}

function login(){

} }

Uma classe herdeira herda todos os atributos e métodos da classe mãe.

Pode ainda ter atributos e métodos próprios e fazer override a atributos ou métodos existentes.

class Student extends User { var $email;

function check_grades(){

return $grades;

} }

class Teacher extends User { var $is_adult = TRUE;

function say_hello($name){

return 'Hello teacher ' . $name;

}

function view_students(){

return $students_list;

} }

(6)

Modifiers

Todas os métodos e atributos de um objecto têm uma determinada visibilidade que define o contexto em que podem ser acedidos.

class Vehicle {

public $color; // o mesmo que var $color protected $weels;

private $doors';

public function is_good_for_rain(){

return true;

} }

public pode ser acedido de qualquer contexto

protected pode ser acedido pela própria classe e por classes herdeiras private pode ser acedido apenas pela própria classe

static pode ser acedido fora da classe

(7)

Static modifier

Por vezes pode ser necessário aceder a um atributo ou método de uma classe sem ter de criar um objecto.

class Vehicle {

public static $weels = '4';

public static $doors = '2';

public static function get_weels(){

//usamos ::self para chamar uma propriedade static dentro da mesma classe return self::$weels;

} }

class Car extends Vehicle {

public function get_doors(){

//usamos ::parent para chamar uma propriedade static dentro da mesma classe return parent::$weels;

} }

//usamos nome_da_função::parent para chamar uma propriedade static fora da classe echo Vehicle::$weels;

echo Vehicle::$get_weels();

(8)

Magic Methods

São funções que correm automaticamente e podem ser declarados de forma a definir o seu comportamento.

class Student {

public $first_name;

public function __construct($name){

echo 'Foi criado um novo objecto!';

$this->name = $name;

} }

$student1 = new Student('David');

echo $student1->first_name;

__construct(parâmetros){

//É executado automaticamente quando uma classe é instanciada, ou seja, quando é criado um objecto.

}

Referências

Documentos relacionados

17 CORTE IDH. Caso Castañeda Gutman vs.. restrição ao lançamento de uma candidatura a cargo político pode demandar o enfrentamento de temas de ordem histórica, social e política

O enfermeiro, como integrante da equipe multidisciplinar em saúde, possui respaldo ético legal e técnico cientifico para atuar junto ao paciente portador de feridas, da avaliação

*-XXXX-(sobrenome) *-XXXX-MARTINEZ Sobrenome feito por qualquer sucursal a que se tenha acesso.. Uma reserva cancelada ainda possuirá os dados do cliente, porém, não terá

O Museu Digital dos Ex-votos, projeto acadêmico que objetiva apresentar os ex- votos do Brasil, não terá, evidentemente, a mesma dinâmica da sala de milagres, mas em

nhece a pretensão de Aristóteles de que haja uma ligação direta entre o dictum de omni et nullo e a validade dos silogismos perfeitos, mas a julga improcedente. Um dos

Equipamentos de emergência imediatamente acessíveis, com instruções de utilização. Assegurar-se que os lava- olhos e os chuveiros de segurança estejam próximos ao local de

Tratando-se de uma revisão de literatura, o presente trabalho utilizou-se das principais publicações sobre as modificações de parâmetros técnicos observados em corredores,

Como consequência dessa dependência, “o texto didático traz para sala de aula mais um personagem, seu autor, que passa a estabelecer um dialogo com o professor e seus