cvs: phpdoc-sk /language/oop5 basic.xml

From: Date: Mon, 24 Jan 2005 18:49:17 +0000
Subject: cvs: phpdoc-sk /language/oop5 basic.xml
Groups: php.doc.sk 
Request: Send a blank email to doc-sk+get-343@lists.php.net to get a copy of this message
_batman_ Mon Jan 24 13:49:17 2005 EDT Added files: /phpdoc-sk/language/oop5 basic.xml Log: hopefully right place http://cvs.php.net/co.php/phpdoc-sk/language/oop5/basic.xml?r=1.1&p=1 Index: phpdoc-sk/language/oop5/basic.xml +++ phpdoc-sk/language/oop5/basic.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <sect1 id="language.oop5.basic"> <title>Základy</title> <sect2 id="language.oop5.basic.class"> <title>class</title> <para> Ka¾dá definícia triedy zaèína kµúèovým slovom class nasledované názvom triedy, ktorý je µubovoµný, s výnimkou <link linkend="reserved">rezervovaných</link> slov v PHP. Nasleduje pár zlo¾ených zátvoriek, ktoré obsahujú definíciu vlastností a metód triedy. V ka¾dej metóde, okrem <link linkend="language.oop5.static">statických</link>, je dostupná pseudo premenná <varname>$this</varname>. <varname>$this</varname> je referencia na tú istú in¹tanciu, z ktorej bola metóda volaná. </para> <example> <title>Jednoduchá definícia triedy</title> <programlisting role="php"> <![CDATA[ <?php class SimpleClass { // member declaration public $var = 'a default value'; // method declaration public function displayVar() { echo $this->var; } } ?> ]]> </programlisting> </example> </sect2> <sect2 id="language.oop5.basic.new"> <title>new</title> <para> Na vytvorenie in¹tancie objektu, musí by» vytvorený nový objekt a priradený premennej. Ak sa vytvára nový objekt, v¾dy je priradený premennej, s jedinou výnimkou, a to ak objekt obsahuje <link linkend="language.oop5.decon">kon¹truktor</link>, v ktorom je definovaná <link linkend="language.exceptions">výnimka</link>, vracajúca chybu. </para> <example> <title>Vytváranie in¹tancie</title> <programlisting role="php"> <![CDATA[ <?php $instance = new SimpleClass() ?> ]]> </programlisting> </example> <para> Ak priraïujeme u¾ existujúcu in¹tanciu objektu novej premennej, tak nová premenná bude pristupova» k tej istej in¹tancii ako premenná, ktorej bol pôvodný objekt priradený. Toto isté správanie je aj pri predávaní in¹tancie ako parametru funkcii. Nová in¹tancia u¾ existujúceho objektu mo¾e by» vytvorená <link linkend="language.oop5.cloning">klonovaním</link>. </para> <example> <title>Priraïovanie objektu</title> <programlisting role="php"> <![CDATA[ <?php $assigned = $instance; $reference =& $instance; $instance->var = '$assigned will have this value'; $instance = null; // $instance and $reference become null var_dump($instance); var_dump($reference); var_dump($assigned); ?> ]]> </programlisting> &example.outputs; <screen> <![CDATA[ NULL NULL object(SimpleClass)#1 (1) { ["var"]=> string(30) "$assigned will have this value" } ]]> </screen> </example> </sect2> <sect2 id="language.oop5.basic.extends"> <title>extends</title> <para> Trieda mô¾e zdedi» metódy a vlastnosti inej triedy pou¾itím kµúèového slova extends v deklarácii. Nie je mo¾né dedenie z viacerých tried, trieda mô¾e dedi» iba z jednej základnej triedy. </para> <para> Zdedené metódy a vlastnosti mô¾u by» nahradené, s jednou výnimkou, a to, ak je v rodièovskej triede definovaná metóda ako <link linkend="language.oop5.final">final</link>, opakovanou deklaráciou s tým istým menom metódy, aké bolo pou¾ité v rodièovskej triede. Je taktie¾ mo¾né pristupova» k nahradeným metódam alebo vlastnostiam rodièovskej triedy, odkazovaním sa pomocou <link linkend="language.oop5.paamayim-nekudotayim">parent::</link> </para> <example> <title>Jednoduché dedenie triedy</title> <programlisting role="php"> <![CDATA[ <?php class ExtendClass extends SimpleClass { // Redefine the parent method function displayVar() { echo "Extending class\n"; parent::displayVar(); } } $extended = new ExtendClass(); $extended->displayVar(); ?> ]]> </programlisting> &example.outputs; <screen> <![CDATA[ Extending class a default value ]]> </screen> </example> </sect2> </sect1> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t indent-tabs-mode:nil sgml-parent-document:nil sgml-default-dtd-file:"../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 -->

« previous php.doc.sk (#343) next »