Como usar herança em PHP com Programação Orientada a Objetos

Programação orientada a objetos em PHP tem outra característica que o torna muito útil para grandes projetos. Muitos objetos são relacionados uns aos outros, e você pode usar uma relação de árvore genealógica para simplificar a sua programação.

image0.jpg

Como construir um bicho com base em outro bicho

Há um novo bicho na cidade. Este tem as mesmas características básicas, mas uma atitude pior. Dê uma olhada no código para ver o que está acontecendo:

inherit.php? Lt; phprequire_once ( "Critter.php") - classe BitterCritter estende bicho {// todas as propriedades e métodos herdados do bicho // Você pode adicionar novas propriedades e glower função methodspublic () {return "$ this-> nome glowers em você sem dizer nada. "-} // fim glower // se você sobre-escrever um método existente, o comportamento da função changespublic talk () {return" Nenhum de seu negócio! "-} // fim do talk} // classe def final $ a = new BitterCritter () - print $ a-> glower (). "
"-print $ A-> falar ()."
? "->

Este exemplo é uma ilustração de uma situação de programação muito comum, onde você quer uma especialização de uma classe definida anteriormente. Há já tem uma classe do bicho, mas você quer um novo tipo de bicho. O novo bicho (o BitterCritter) Começa com as mesmas características gerais do bicho comum, mas traz uma novidade. A ideia orientada a objeto do herança é uma maneira perfeita para lidar com esta situação.

javascript suporta uma forma diferente de programação orientada a objetos com base em uma idéia chamada prototipagem em vez de herança. As pessoas têm longas e entediantes conversas sobre qual a técnica é melhor, mas em última análise, não importa muito. A maioria das linguagens OOP apoiar a forma de herança utilizado em PHP, então você deve realmente saber como ele funciona.

Como para herdar o vento (e qualquer outra coisa)

Aqui está como implementar herança;

  1. Comece com uma classe existente.

    Para este exemplo, você começa com o comum critter classe, que você importa com o require_once () função.

  2. Crie a sua nova classe com o estende-se palavra-chave.

    Como você define a classe, se você usar o estende-se palavra-chave para indicar qual a classe que você está herdando, sua nova classe vai começar com todas as propriedades e métodos da classe pai.

  3. Você pode acessar os elementos públicos e protegidos da controladora, mas os privados não.

    Se uma propriedade ou método foi definido como privado na classe original, é verdadeiramente conta de ninguém. Nenhum outro fragmentos de código pode acessar esse elemento. Geralmente, porém, quando você herdar de uma classe, a nova classe criança deve ter acesso a elementos da classe pai. É por isso que você deve criar propriedades como protegido em vez de privado.

  4. Adicionar novas propriedades e métodos.

    Você pode estender a sua nova classe com propriedades adicionais e métodos que o pai não tinha. o BitterCritter agora apresenta um glower () método que bichos comuns não têm.

  5. Você também pode substituir o comportamento dos pais.

    Se você redefinir um método que a classe pai teve, você está mudando o comportamento da nova classe. Isso permite modificar comportamentos existentes (uma forma de uma ideia orientada a objeto chamado polimorfismo).

Esta demonstração é apenas o vislumbre barest em programação orientada a objetos. Há muito mais a esta forma de desenvolvimento de software, mas os princípios são todos aqui. Embora você não pode ver imediatamente a necessidade de construir seus próprios objetos a partir do zero, você definitivamente vai encontrar o código PHP orientado a objetos como você começar a explorar idéias mais complexas, como a programação de dados e sistemas de gerenciamento de conteúdo.

menu