<?php class Vehiculo { public $motor = false; public $marca; public $color; public function estado() { if ($this->motor) { echo "El motor esta encendido"; } else { echo "El motor esta apagado"; } } public function encender() { if ($this->motor) { echo "Cuidado, el motor ya esta prendido"; } else { echo "El motor ahora esta encendido"; $this->motor = true; } } } class Moto extends Vehiculo { } $moto = new Moto(); $moto->estado();
} else { echo "El motor esta apagado<br>"; } } public function encender() { if ($this->motor) { echo "Cuidado, el motor ya esta prendido <br>"; } else { echo "EL motor ahora esta encendido<br>"; $this->motor = true; } } } class Moto extends Vehiculo { public function estadoMoto() { $this->estado(); } } class CuatriMoto extends Moto { } /*$moto = new CuatriMoto(); $moto->estado();*/ $veh = new Vehiculo(); //$veh->estado(); $motito = new Moto(); $motito->estado(); $cuatri = new Cuatrimoto();
require_once 'class_Veiculo.php'; class novaclasseCarro extends Veiculo { //Atributos public $quantidadePortas; public function abrirPorta($porta) { echo 'Carro - Porta ' . $porta . ' aberta!<br>'; } } class Moto extends Veiculo { public $cilindradas; public function empinar() { echo 'Moto - Andando com somente uma roda!<br>'; } } $oCarro = new novaclasseCarro(); $oCarro->quantidadePortas = 4; $porta = 3; echo $oCarro->abrirPorta($porta); $oMoto = new Moto(); $oMoto->modelo = 'Biz'; $oMoto->cor = 'Preta'; $oMoto->cilindradas = 450; $oMoto->empinar(); echo $oMoto->mostraModelo(); echo '<br><br>'; //Exemplo de encapsulamento echo '<h1>Exemplo de encapsulamento.<br></h1>';
<?php include "Transport.php"; include "Voiture2.php"; include "Camion.php"; include "Moto.php"; $r4 = new Voiture2(); $r4->demarrer(); $r4->klaxonner(); $r4->freinAMain(); $r4->cassePied(); $r4->tourner(); echo '<hr>'; $daf = new Camion(); $daf->demarrer(); $daf->klaxonner(); $daf->accrocherRemorque(); $daf->tourner(); echo '<hr>'; $ducati = new Moto(); $ducati->demarrer(); $ducati->klaxonner(); $ducati->roueArriere(); $ducati->tourner();
class Moto extends Vehiculo { public function estadoMoto() { self::estado(); echo "<br/>"; echo $this->color; //NO PUEDO ACCDER A MARCA POR SER PRIVATE //echo $this->marca; } } class Escuter extends Moto { } //INSTANCIA $vehiculo = new Vehiculo(); //$vehiculo->estado(); $vehiculo->encender(); //$vehiculo->estado(); print "<br/>.....CLASE MOTO.....<br/>"; $moto = new Moto(); //NO PUEDE ACCEDER DIRECTAMENTE AL METODO POR SER PROTECTED //$moto->estado(); $moto->encender(); //SI FUESE EL METODO estado() PRIVATE NO PODRIA ACCEDER AL METODO, POR PERTENECER SOLO A LA CLASE VEHICULO $moto->estadoMoto(); print "<br/>.....CLASE ESCUTER.....<br/>"; $escuter = new Escuter(); $escuter->estadoMoto(); //NO PUEDO ACCEDER POR SER PRIVATE //$vehiculo->marca;
interface AutoMotor { public function ligar(); public function acelerar(); public function freiar(); public function desligar(); } class Moto implements AutoMotor { private $motorLigado = false; private $velocidade = 0; public function ligar() { $this->motorLigado = true; } public function desligar() { $this->motorLigado = false; } public function acelerar() { $this->velocidade++; } public function freiar() { $this->velocidade--; } } $moto = new Moto(); $moto->ligar();