PHP i metody

Pytania i problemy
php
anon26799942
anon26799942

Jaka jest różnica pomiędzy:

namespace xyz;
class zyx {
   public $var;
   public function test() {
      return true;
   }
}

class abc extends zyx {
   public function test() {
      $this->var = "123";
   }
}

a:

namespace xyz;
class zyx {
   public $var;
}

class abc extends zyx {
   public function test() {
      $this->var = "123";
   }
}

Jakby ktoś nie zauważył, to w 2. opcji nie ma funkcji test().

Pantoflarz
Pantoflarz

https://www.memesmonkey.com/images/memesmonkey/cb/cb81bab391f890b1b881d2f5e7492fb1.jpeg

Jeśli to poradnik. to pasuje do kategorii "Naucz sie czytać" bo żadnej innej wartości to to nie ma xd

jeśli zadajesz pytanie, to różnica jest taka że używając tego kodu na dole, klasa zyx defaultowo po prostu nie będzie miała funkcji test, czyli:

Nie będziesz mógł zrobić zyx->test(); $var w klasie abc nie jest dostępny poza funkcją test w owej klasie.

Po poście który zamieściłeś, ciężko stwierdzić o co chodzi :/

anon26799942
anon26799942

Pantoflarz:

|474x355 ???

Pantoflarz:

to różnica jest taka że klasa zyc defaultowo po prostu nie będzie miała funkcji test tyle to ja też wiem xD. Gdzieś widziałem, że tak robią jak wyżej i zastanawiam się czm xd

Pantoflarz
Pantoflarz

No bo to jest logiczna abstrakcja.

Np. masz klase Zwierzak, która ma metody jem i pije. Ale pies np. warczy, więc Pies extends Zwierzak bo je i pije, ale dodatkowo warczy. A kot z kolei to też Zwierzak, ale nie warczy, tylko miauczy 😛

anon26799942
anon26799942

Pantoflarz:

Np. masz klase Zwierzak, która ma metody jem i pije. Ale pies np. warczy, więc Pies extends Zwierzak bo je i pije, ale dodatkowo warczy. A kot z kolei to też Zwierzak, ale nie warczy, tylko miauczy 😛 Nie oto chodzi xd Wracając do pytania, wychodzi na to, że (prawie) żadna 😃

Pantoflarz
Pantoflarz

Nie zadales konkretnego pytania i nie wiem o co Ci chodzi.

Ale roznica jest, i to duza, lecz zalezna od przypadku.

anon26799942
anon26799942
  1. Jaka jest różnica między ustawienie metody test na zwracanie true a nie ustawianiem jej wcale i dlaczego?
system
system

Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.