Oct 17
<?php
header('Content-Type: text/html; charset=utf-8');
function teste3 ($var) {
echo "Função teste3($var) <br />";
}
class ClassePAI
{
public $varpai;
function __construct()
{
echo "Construtor PAI __construct() <br />";
// self:: executa um metodo dentro da classe.
self::teste();
// Executa uma função externa
teste3($varpai);
}
private function teste()
{
echo 'Metodo Privado teste() <br />';
self::teste2();
}
function teste2()
{
echo 'Metodo teste2() <br />';
}
function teste4()
{
echo 'Metodo teste4()<br />';
}
function teste5()
{
echo 'Metodo teste5()<br />';
}
}
class ClasseFILHA extends ClassePAI {
private $var;
/* O valor declarado ao instanciar a variavel será lancado para o
* construtor da classe e para os metodos.
*/
function __construct($var) {
/* Para executar o construtor da classe pai uma chamada parent::__construct
é necessaria */
parent::__construct();
echo "Construtor da FILHA __construct()<br />";
// parent:: executa um metodo herdado da super classe
parent::teste4();
// self:: executa um metodo dentro da classe.
parent::teste5();
// caso tenha sito redefinido o metodo usando o self:: ele irá executar localmente.
self::teste5();
self::tipo_var($var);
}
public function teste5() {
echo 'Metodo teste5() redefinido na Classe Filha <br />';
}
function teste6 () {
echo 'Metodo TESTE6 FILHA<br />';
}
function tipo_var($var) {
var_dump($var);
echo '<br />';
}
}
class ClasseFILHA2 extends ClasseFILHA {
private $var;
function __construct($var) {
parent::__construct($var);
echo "Construtor da FILHA2 __construct()<br />";
parent::teste5();
self::teste6();
}
function teste7 () {
echo 'Metodo TESTE7 <br />';
}
static function teste8() {
echo 'Metodo estatico TESTE8 <br />';
}
}
class ClasseEstatica
{
static function getNome()
{
// Faz chamada estatica.
ClasseFILHA2::teste8();
echo 'chamado metodo estatico publico<br />';
}
}
echo 'Objeto PAI:<br />';
$pai = new ClassePAI();
echo '<hr />';
echo 'Objeto FILHA:<br />';
$var = '1';
$filha = new ClasseFILHA($var);
echo '<hr />';
echo 'Objeto FILHA2:<br />';
$filha2 = new ClasseFILHA2($var);
echo '<hr />';
echo 'Chamada estatica:<br />';
ClasseEstatica::getNome();
Caso tenha alguma duvida deixe um comentário que terei prazer em ajudar.
Comentários são bem vindos assim posso melhorar a qualidade dos tutoriais aqui apresentados.

Comentários Recentes