0

Acessando indiretamente um método da classe Pai

criado por Wellington Costa de Almeida em 03/09/2002 2:48pm

A solução para quem quer acessar um método de uma classe pai sem ter que nomear explicitamente é usando o keyword especial 'parent'.

<?php
class Computer
{
    var $is_on = 1;

    function turn_on()
    {
        $this->is_on = 1;
        print "blabla ligado";
    }

    function turn_off()
    {
        $this->is_on = 0;
        print "blabla desligado";
    }
}

class HP extends Computer
{
    var $processor = 0;
    var $hard_drive = 0;

    function turn_on()
    {
        parent::turn_on();
        $this->processor = 1;
        $this->hard_drive = 1;
    }

    function turn_off()
    {
        $this->hard_drive = 0;
        $this->processor = 1;
    }
}
?>

O keyword parent só pode ser acessado usando a notificação '::'. Isso permite o acesso a métodos da classe pai pela classe atual. Isso é útil no exemplo, porque os métodos turn_on() e turn_off(), são definidos nas classes pai (Computer) e também na secundária (HP). Portanto, se nós acessarmos o turn_on() ou o turn_off() através da variável $this, estaremos usando os métodos turn_on e turn_off() da classe HP, e não os métodos na classe pai.

Se você não tem uma colisão de espaço de nome entre as classes, pode acessar diretamente os métodos da classe pai usando a variável $this. Considere o seguinte exemplo, que funciona somente quando o objeto $this é usado:

<?php
class Parent
{
    var $parent_name;

    function print_parent_name()
    {
        print $this->parent_name . "<br>\n";
    }
}

class Child extends Parent
{
    var $child_name;

    function print_child_name()
    {
        print $this->child_name . "<br>\n";
    }
}

$obj = new Child;
$obj->child_name = "Sterling";
$obj->parent_name = "Leslie";

print "parent name: ";
$this->print_parent_name();
print "Child name: ";
$this->print_child_name();
?>

É isso ai pessoal, é o que posso passar pra vocês neste artigo... Qualquer dúvida envie um comentário abaixo e ficarei feliz em responder...

[]'s

Comentários:

Mostrando 1 - 3 de 3 comentários
pedro sousa disse:
tenho visto alguns dos teus artigos sobre php e access mas estou com problemas em inserir dados na base de dados usando o php
será que me podes ajudar?
29/04/2003 3:56am (~13 anos atrás)

Bom eu nunca tentei fazer tal coisa... mas nada é imposivel não acha... então tente... Eu só não intendi o interesse da sua faculdade em ta coisa... bom diga qual é a mesma pra mim... Vlz!!!
19/09/2002 9:54pm (~14 anos atrás)

Wellington,eu já vi alguns artigos seus sobre Access, eu estou fazendo um projeto para a faculdade que envolve php ,Access e Vb.
O que estou pensando em fazer é pegar um porgrama meu que tenho pronto em VB um sisteminha de vendas e integrar ele a uma pagina na web de forma que , ao usuario cadastrar no site este registro seja atualizado no meu banco Access, e assim com as vendas tambem , vou fazer uma coisa simples de começo é só para apresentar mesmo.
Voce já fez teste tipo de integração ?


18/09/2002 7:46am (~14 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)