Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Nowicjusz prosi o pomoc
cichy19-
post
Post #1





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 5.06.2006

Ostrzeżenie: (0%)
-----


Witam,

Nauczyłem się php a teraz uczę się programowania obiektowego.
Mam pytanie odnośnie dwukropka. Co on oznacza?

Przykład:
parent::init

Prosze wytłumaczyc mi to jak żółtodziobowi smile.gif

Dziekuję
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


http://www.php.net/manual/en/language.oop5...nekudotayim.php
Go to the top of the page
+Quote Post
shark121
post
Post #3





Grupa: Zarejestrowani
Postów: 62
Pomógł: 5
Dołączył: 31.03.2008

Ostrzeżenie: (0%)
-----


Jeśli metoda nie jest chroniona lub prywatna można wywołać ją bezpośrednio:

  1. <?php
  2. NazwaKlasy::nazwa_metody();
  3. ?>


w twoim przypadku odwołuje się do klasy macierzystej

Ten post edytował shark121 24.01.2009, 19:06:37
Go to the top of the page
+Quote Post
phpion
post
Post #4





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




parent::metod() oznacza wywołanie metody z klasy nadrzędnej. Najczęściej stosuje się to w konstruktorach. Spójrz na przykład:
  1. <?php
  2. class Klasa {
  3.    public function __construct() {
  4.        echo 'Konstruktor Klasa<br>';
  5.    }
  6. }
  7.  
  8. class Podklasa extends Klasa {
  9.    public function __construct() {
  10.        parent::__construct();
  11.    
  12.        echo 'Konstruktor Podklasa<br>';
  13.    }
  14. }
  15.  
  16. $obj = new Podklasa();
  17. ?>

:: używa się również do wywołania metod statycznych czyli takich, do których nie jest konieczne powołanie do życia egzemplarza danej klasy czyli np.:
  1. <?php
  2. class Klasa {
  3.    public static function statyczna() {
  4.        echo 'Metoda statyczna';
  5.    }
  6. }
  7.  
  8. Klasa::statyczna();
  9. ?>
Go to the top of the page
+Quote Post
cichy19-
post
Post #5





Grupa: Zarejestrowani
Postów: 100
Pomógł: 0
Dołączył: 5.06.2006

Ostrzeżenie: (0%)
-----


Dziękuję czyli to jest poprostu to samo co np:

$obj = new Klasa();
$obj->statyczna();

Zgadza się?
Go to the top of the page
+Quote Post
Crozin
post
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Absolutnie nie. winksmiley.jpg

Przeczytaj linka podanego przeze mnie w pierwszym poście.
Go to the top of the page
+Quote Post
kwiateusz
post
Post #7


Admin Techniczny


Grupa: Administratorzy
Postów: 2 071
Pomógł: 93
Dołączył: 5.07.2005
Skąd: Olsztyn




uruchamiasz tylko metode bez tworzenia egzemplarza klasy, czyli nie wywołuje sie konstruktor, destruktor smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 16:44