Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]obiekty
Forum PHP.pl > Forum > Przedszkole
newboy88
Witam jestem tutaj nowy więc witam wszystkich serdecznie.
Proszę o pomoc, mianowicie chciałbym się tak po polsku dowiedzieć czym się różni takie odwołanie do klasy
  1. $klasa = new klasa;
  2. $klasa->obiekt();

od takiego
  1. klasa::obiekt();

czym się różni i kiedy należy stosować?
i jeszcze jedno pytanie; w wewnątrz klasy odwołanie do zmiennej znajdującej się w klasie w taki sposób
  1. $this->zmienna;

czym się różni od tego (oraz kiedy które stosować)?
  1. self::zmienna;

bardzo proszę o pomoc, pozdrawiam serdecznie
darko
1.
  1. $klasa = new klasa;
  2. $klasa->obiekt();


to utworzenie egzemplarza obiektu klasy klasa i przypisanie go do zmiennej $klasa

2.
  1. klasa::obiekt();


to wywołanie statycznej metody obiekt() klasy klasa

Cytat
czym się różni i kiedy należy stosować?


- 1. różni się od 2. tym, że w 2. nie jest tworzony egzemplarz obiektu klasy klasa

1. należy stosować, jeśli potrzebujemy egzemplarz obiektu klasy klasa
1. należy stosować, jeśli chcemy wywoływać niestatyczne metody
2. należy stosować, jeśli nie potrzebujemy egzemplarza obiektu klasy klasa
2. należy stosować, jeśli chcemy wywoływać statyczne metody

3.
  1. $this->zmienna;


3. dla metod niestatycznych, wskaźnik $this służy do dostępu do pól i metod wewnątrz obiektu

4.
  1. self::zmienna;


4. dla metod statycznych, ponieważ metody statyczne nie posiadają wewnętrznego wskaźnika obiektu ($this) musimy użyć operatora zasięgu :: aby móc dostać się do pól (tylko statycznych) i stałych klasy

ps. poczytaj o programowaniu obiektowym, znajdziesz osobne forum na ten temat na forum.php.pl
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.