Portál AbcLinuxu, 6. května 2025 15:56

Dotaz: Začínáme v OOP v PHP - Získání části objektů

1.11.2013 20:54 Dave
Začínáme v OOP v PHP - Získání části objektů
Přečteno: 469×
Odpovědět | Admin
Dobrý večer. Začínám v PHP programovat objektově, a není mi jasný, když mi constructor zpracuje veškeré požadované metody, a constructor vrátí returnem objekt, jak z toho objektu získám ty požadovaný výsledky? Nebo mám volat jednotlivé metody mimo tu třídu a na constructor se vykašlat? Díky za vyvedení z představ.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

1.11.2013 21:02 Kit
Rozbalit Rozbalit vše Re: Začínáme v OOP v PHP - Získání části objektů
Odpovědět | | Sbalit | Link | Blokovat | Admin
Konstruktor nemá return. Jeho obvyklou úlohou je naplnění atributů objektu. Výsledky můžeš získat nějakou další metodou. Pokud chceš string, tak se na to skvěle hodí magická metoda __toString(). Zavolá se vždy, když použiješ objekt tam, kde bys měl použít řetězec.
1.11.2013 21:38 Dave
Rozbalit Rozbalit vše Re: Začínáme v OOP v PHP - Získání části objektů
Děkuji, a taková pitomá otázka na kterou jsem nikde nenašel odpověď. Co je to vlastně objekt? Co si mám laicky pod tím pojmem představit?, Běžně používám v proměnné string, nebo pole, což jsou věci lehce k pochopení, string vypiše jen tak, a z pole vypíšu ttřeba text podle daného klíče, jednoduché jako facka, ale fakt nevím co si představit pod pojmem objekt. Když dám var_dump na nějakou proměnnou tak mi to píše, že je to objekt a má to lehké náznaky jako pole. Děkuji a omluva za hloupou otázku.
1.11.2013 21:50 Kit
Rozbalit Rozbalit vše Re: Začínáme v OOP v PHP - Získání části objektů
Třída je vzor, jeho použitím vznikne instance neboli objekt. Mám rád zvířata a když vytvořím třídu Pes s atributy jméno a hmotnost, tak nemám na mysli žádného konkrétního psa ani jméno. Ve chvíli, kdy tento vzor použiji, vznikne instance
$prvniPes = new Pes('Azor', 20);
$druhyPes = new Pes('Ben', 14);
Vytvořil jsem tedy dvě instance, tedy dva objekty třídy Pes. Jeden z nich se jmenuje Azor a váží 20 kg, druhý je Ben a váží 14 kg.
1.11.2013 22:06 Dave
Rozbalit Rozbalit vše Re: Začínáme v OOP v PHP - Získání části objektů
Děkuji, ale zadal jsi do třídy Pes údaje jako jméno a hmotnost, co se prosím očekává, že v té vzniklé instanci/objektu bude po zadání těch údajů? Patrně se neočekává, že tam budou údaje které jsi zadal.
1.11.2013 22:13 Kit
Rozbalit Rozbalit vše Re: Začínáme v OOP v PHP - Získání části objektů
V obvyklém případě tam tyto údaje budou. Objekt $prvniPes bude tedy obsahovat atributy "Azor" a 20. Ale může to být úplně jinak. Záleží na tom, jak ten konstruktor napíšeš.
1.11.2013 22:22 Dave
Rozbalit Rozbalit vše Re: Začínáme v OOP v PHP - Získání části objektů
Já to myslel spíše tak, co s těmi daty v tom objektu budeš dělat? Proč dávát do objektu data, když je znám již předem, jak se pes jmenuje a kolik vážím jelikož je musím té třídě předat. Tak že jsme přdali třídě 2 parametry a nyní je máme v objektu, a co teď s tím? Vicházíme z toho, že tam jsou data ne jako string ale jako objekt. Data z toho objektu získám zavoláním nějaké metody uvnitř třídy Pes, nebo načtu přímo proměnnou uvnitř třídy Pes. Existuje i třetí způsob?
1.11.2013 22:54 Nobody
Rozbalit Rozbalit vše Re: Začínáme v OOP v PHP - Získání části objektů
Je pravda, ze bys mohl psy strcit do pole, a vedle si udelat funkce, ktere je treba vytisknou. Ale kdyz je strcis do objektu a z funkci udelas metody, dostanes za to vic penez.
Josef Kufner avatar 2.11.2013 00:04 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: Začínáme v OOP v PHP - Získání části objektů
Každý pes může štěkat jinak, podle toho, kolik váží.
Hello world ! Segmentation fault (core dumped)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.