Skip to content

Instantly share code, notes, and snippets.

@juriad
Created May 30, 2013 07:54
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save juriad/5676350 to your computer and use it in GitHub Desktop.
Save juriad/5676350 to your computer and use it in GitHub Desktop.
Modifikátory přístupu v PHP
<?php
class Predek {
private $privatePromenna = 1;
protected $protectedPromenna = 2;
public $publicPromenna = 3;
private function privateGetPrivate() {
return $this->privatePromenna;
}
protected function protectedGetPrivate() {
return $this->privatePromenna;
}
public function publicGetPrivate() {
return $this->privatePromenna;
}
private function privateGetProtected() {
return $this->protectedPromenna;
}
protected function protectedGetProtected() {
return $this->protectedPromenna;
}
public function publicGetProtected() {
return $this->protectedPromenna;
}
private function privateGetPublic() {
return $this->publicPromenna;
}
protected function protectedGetPublic() {
return $this->publicPromenna;
}
public function publicGetPublic() {
return $this->publicPromenna;
}
public function callPrivateGetPrivate() {
return $this->privateGetPrivate();
}
public function callProtectedGetPrivate() {
return $this->protectedGetPrivate();
}
public function callPublicGetPrivate() {
return $this->publicGetPrivate();
}
public function callPrivateGetProtected() {
return $this->privateGetProtected();
}
public function callProtectedGetProtected() {
return $this->protectedGetProtected();
}
public function callPublicGetProtected() {
return $this->publicGetProtected();
}
public function callPrivateGetPublic() {
return $this->privateGetPublic();
}
public function callProtectedGetPublic() {
return $this->protectedGetPublic();
}
public function callPublicGetPublic() {
return $this->publicGetPublic();
}
}
class Potomek extends Predek {
private function privateGetPrivate2() {
return $this->privatePromenna + 10;
}
protected function protectedGetPrivate2() {
return $this->privatePromenna + 10;
}
public function publicGetPrivate2() {
return $this->privatePromenna + 10;
}
private function privateGetProtected2() {
return $this->protectedPromenna + 10;
}
protected function protectedGetProtected2() {
return $this->protectedPromenna + 10;
}
public function publicGetProtected2() {
return $this->protectedPromenna + 10;
}
private function privateGetPublic2() {
return $this->publicPromenna + 10;
}
protected function protectedGetPublic2() {
return $this->publicPromenna + 10;
}
public function publicGetPublic2() {
return $this->publicPromenna + 10;
}
public function callPrivateGetPrivate2() {
return $this->privateGetPrivate2();
}
public function callProtectedGetPrivate2() {
return $this->protectedGetPrivate2();
}
public function callPublicGetPrivate2() {
return $this->publicGetPrivate2();
}
public function callPrivateGetProtected2() {
return $this->privateGetProtected2();
}
public function callProtectedGetProtected2() {
return $this->protectedGetProtected2();
}
public function callPublicGetProtected2() {
return $this->publicGetProtected2();
}
public function callPrivateGetPublic2() {
return $this->privateGetPublic2();
}
public function callProtectedGetPublic2() {
return $this->protectedGetPublic2();
}
public function callPublicGetPublic2() {
return $this->publicGetPublic2();
}
private function privateGetPrivate() {
return parent::privateGetPrivate() + 20;
}
protected function protectedGetPrivate() {
return parent::protectedGetPrivate() + 20;
}
public function publicGetPrivate() {
return parent::publicGetPrivate() + 20;
}
private function privateGetProtected() {
return parent::privateGetProtected() + 20;
}
protected function protectedGetProtected() {
return parent::protectedGetProtected() + 20;
}
public function publicGetProtected() {
return parent::publicGetProtected() + 20;
}
private function privateGetPublic() {
return parent::privateGetPublic() + 20;
}
protected function protectedGetPublic() {
return parent::protectedGetPublic() + 20;
}
public function publicGetPublic() {
return parent::publicGetPublic() + 20;
}
}
$pred = new Predek();
# $pred->privatePromenna;
# $pred->protectedPromenna;
echo '$pred->publicPromenna: ', $pred->publicPromenna, "\n";
echo "\n";
# $pred->privateGetPrivate();
# $pred->protectedGetPrivate();
echo '$pred->publicGetPrivate(): ', $pred->publicGetPrivate(), "\n";
# $pred->privateGetProtected();
# $pred->protectedGetProtected();
echo '$pred->publicGetProtected(): ', $pred->publicGetProtected(), "\n";
# $pred->privateGetPublic();
# $pred->protectedGetPublic();
echo '$pred->publicGetPublic(): ', $pred->publicGetPublic(), "\n";
echo "\n";
echo '$pred->callPrivateGetPrivate(): ', $pred->callPrivateGetPrivate(), "\n";
echo '$pred->callProtectedGetPrivate(): ', $pred->callProtectedGetPrivate(), "\n";
echo '$pred->callPublicGetPrivate(): ', $pred->callPublicGetPrivate(), "\n";
echo '$pred->callPrivateGetProtected(): ', $pred->callPrivateGetProtected(), "\n";
echo '$pred->callProtectedGetProtected(): ', $pred->callProtectedGetProtected(), "\n";
echo '$pred->callPublicGetProtected(): ', $pred->callPublicGetProtected(), "\n";
echo '$pred->callPrivateGetPublic(): ', $pred->callPrivateGetPublic(), "\n";
echo '$pred->callProtectedGetPublic(): ', $pred->callProtectedGetPublic(), "\n";
echo '$pred->callPublicGetPublic(): ', $pred->callPublicGetPublic(), "\n";
echo "\n";
$po = new Potomek();
# $po->privatePromenna;
# $po->protectedPromenna;
echo '$po->publicPromenna: ', $po->publicPromenna, "\n";
echo "\n";
# $po->privateGetPrivate();
# $po->protectedGetPrivate();
echo '$po->publicGetPrivate(): ', $po->publicGetPrivate(), "\n";
# $po->privateGetProtected();
# $po->protectedGetProtected();
echo '$po->publicGetProtected(): ', $po->publicGetProtected(), "\n";
# $po->privateGetPublic();
# $po->protectedGetPublic();
echo '$po->publicGetPublic(): ', $po->publicGetPublic(), "\n";
echo "\n";
echo '$po->callPrivateGetPrivate(): ', $po->callPrivateGetPrivate(), "\n";
echo '$po->callProtectedGetPrivate(): ', $po->callProtectedGetPrivate(), "\n";
echo '$po->callPublicGetPrivate(): ', $po->callPublicGetPrivate(), "\n";
echo '$po->callPrivateGetProtected(): ', $po->callPrivateGetProtected(), "\n";
echo '$po->callProtectedGetProtected(): ', $po->callProtectedGetProtected(), "\n";
echo '$po->callPublicGetProtected(): ', $po->callPublicGetProtected(), "\n";
echo '$po->callPrivateGetPublic(): ', $po->callPrivateGetPublic(), "\n";
echo '$po->callProtectedGetPublic(): ', $po->callProtectedGetPublic(), "\n";
echo '$po->callPublicGetPublic(): ', $po->callPublicGetPublic(), "\n";
echo "\n";
# $po->privateGetPrivate2();
# $po->protectedGetPrivate2();
# $po->publicGetPrivate2();
# $po->privateGetProtected2();
# $po->protectedGetProtected2();
echo '$po->publicGetProtected2(): ', $po->publicGetProtected2(), "\n";
# $po->privateGetPublic2();
# $po->protectedGetPublic2();
echo '$po->publicGetPublic2(): ', $po->publicGetPublic2(), "\n";
echo "\n";
# $po->callPrivateGetPrivate2();
# $po->callProtectedGetPrivate2();
# $po->callPublicGetPrivate2();
echo '$po->callPrivateGetProtected2(): ', $po->callPrivateGetProtected2(), "\n";
echo '$po->callProtectedGetProtected2(): ', $po->callProtectedGetProtected2(), "\n";
echo '$po->callPublicGetProtected2(): ', $po->callPublicGetProtected2(), "\n";
echo '$po->callPrivateGetPublic2(): ', $po->callPrivateGetPublic2(), "\n";
echo '$po->callProtectedGetPublic2(): ', $po->callProtectedGetPublic2(), "\n";
echo '$po->callPublicGetPublic2(): ', $po->callPublicGetPublic2(), "\n";
echo "\n";
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment