Scripts PHP

804c4224a8694695830006b3d1a8ebe1

A programação orientada a objetos em PHP

PDO

A Programação orientada a objetos (POO) é um dilema entre os programadores e nos permite organizar o código em classes, objetos, atributos e métodos.

PDO

Uma classe é uma base que conceitua os aspectos e comportamentos normais de um conjunto de objetos.

Sendo que um objeto é uma  instância de uma classe, que possui valores específicos para os atributos e pode executar os métodos definidos na classe.

Atributos são variáveis que armazenam dados relacionados ao objeto. Métodos são funções que realizam ações sobre o objeto ou com outros objetos.

Programação orientada a objetos, como criar uma classe

Em PHP, para criar uma classe, usamos a palavra-chave class seguida do nome da classe. Para criar um objeto, usamos a palavra-chave new seguida do nome da classe. Para acessar os atributos e métodos de um objeto, usamos o operador ->.

O conceito de herança em PHP

Herança é uma definição da programação orientada a objetos que nos oferece uma informação de que uma classe herda os atributos e métodos de outra classe, podendo modificar ou adicionar novas funcionalidades.

A classe que está herdando é denominada de classe filha ou subclasse, e a classe que está sendo herdada é denominada de classe pai ou de superclasse.

A vantagem da herança é que podemos reutilizar o código da classe pai na classe filha, evitando repetições e facilitando a manutenção.

Além disso, podemos especializar a classe filha de acordo com as suas características específicas, tornando o código mais organizado e coerente.

Em PHP, para indicar que uma classe herda de outra, usamos a palavra-chave extends seguida do nome da classe pai.

PDO e polimorfismo

Polimorfismo é uma definição da programação orientada a objetos que nos fornece o conceito de que um objeto assuma diferentes formas dependendo do contexto.

Isso significa que um objeto pode se comportar de forma diferente dependendo da classe a qual ele pertence ou do método que ele invoca.

Existem dois tipos principais de polimorfismo: o polimorfismo de sobrecarga e o polimorfismo de sobreposição.

O polimorfismo de sobrecarga ocorre quando uma classe possui dois ou mais métodos com o mesmo nome, mas com parâmetros diferentes.

Por exemplo, podemos criar uma classe chamada Calculadora que possui dois métodos chamados somar, um que recebe dois números inteiros e outro que recebe dois números reais.

Dependendo do tipo dos argumentos que passamos para o método somar, ele irá executar uma operação diferente.

O polimorfismo de sobreposição ocorre quando uma classe filha redefine um método da classe pai, alterando o seu comportamento.

Por exemplo, podemos criar uma classe chamada Animal que possui um método chamado emitirSom, e duas classes filhas chamadas Cachorro e Gato que herdam da classe Animal e sobrescrevem o método emitirSom.

Dependendo do tipo do objeto que chamamos o método emitirSom, ele irá produzir um som diferente.

Em PHP, para implementar o polimorfismo de sobrecarga, usamos a palavra-chave … (triple dots) para indicar que um método pode receber um número variável de argumentos.

Para implementar o polimorfismo de sobreposição, usamos a palavra-chave parent para acessar o método da classe pai. Por exemplo:

<?php

// Definindo uma classe chamada Calculadora

class Calculadora {

// Definindo um método chamado somar que recebe dois números inteiros

public function somar(int $a, int $b) {

return $a + $b;

}

// Definindo um método chamado somar que recebe dois números reais

public function somar(float $a, float $b) {

return $a + $b;

}

 

// Definindo um método chamado somar que recebe um número variável de argumentos

public function somar(…$args) {

$soma = 0;

foreach ($args as $arg) {

$soma += $arg;

}

return $soma;

}

// Criando um objeto da classe Calculadora

$calculadora = new Calculadora();

// Chamando o método somar com diferentes tipos e quantidades de argumentos

echo $calculadora->somar(2, 3); // imprime 5

echo $calculadora->somar(1.5, 2.5); // imprime 4

echo $calculadora->somar(1, 2, 3, 4); // imprime 10

// Definindo uma classe abstrata chamada Animal

abstract class Animal {

// Definindo um método abstrato chamado emitirSom

abstract public function emitirSom();

}

// Definindo uma classe chamada Cachorro que herda da classe Animal

class Cachorro extends Animal {

// Definindo um método chamado emitirSom que sobrescreve o método da classe pai

public function emitirSom() {

echo “Au au!\n”;

}

// Definindo uma classe chamada Gato que herda da classe Animal

 

class Gato extends Animal {

// Definindo um método chamado emitirSom que sobrescreve o método da classe pai

public function emitirSom() {

echo “Miau!\n”;

}

// Criando objetos das classes Cachorro e Gato

$cachorro = new Cachorro();

$gato = new Gato();

// Chamando o método emitirSom dos objetos

$cachorro->emitirSom(); // imprime Au au!

gato->emitirSom(); // imprime Miau!

 

Leave a Reply

Your email address will not be published. Required fields are marked *