cvs: phpdoc-hu /language/oop5 visibility.xml

[email protected] ("Lajos Cseppent?")
Newsgroups php.doc.hu
Message-ID <cvschappy1161463066@cvsserver>
chappy		Sat Oct 21 20:37:46 2006 UTC

  Added files:                 
    /phpdoc-hu/language/oop5	visibility.xml 
  Log:
  sync
  

http://cvs.php.net/viewvc.cgi/phpdoc-hu/language/oop5/visibility.xml?view=markup&rev=1.1
Index: phpdoc-hu/language/oop5/visibility.xml
+++ phpdoc-hu/language/oop5/visibility.xml
<?xml version="1.0" encoding="iso-8859-2"?>
<!-- EN-Revision: 1.10 Maintainer: chappy Status: ready --> 
 <sect1 id="language.oop5.visibility">
  <title>Láthatóság</title>
  <para>
   Egy tulajdonság vagy metódus láthatóságát közvetlenül a deklaráció elõtt 
   kell megadni a public, protected vagy privát kulcsszavakkal. A publikusként (public) 
   deklarált elemek bárhonnan elérhetõek. A védetteket (protected) csak az öröklõ és szülõ 
   osztályokból lehet elérni (és abból az osztályból, amelyik definiálja az elemet). 
   A privát (private) láthatóságúakat csak a definiáló osztály éri el.
  </para>
  <sect2 id="language.oop5.visiblity-members">
   <title>Adattagok láthatósága</title>
   <para>
   Az osztály adattagokat publikusként, privátként vagy védettként kell definiálni.
   </para>
   <para>
    <example>
     <title>Adattag deklaráció</title>
     <programlisting role="php">
<![CDATA[
<?php
/**
 * MyClass definiálása
 */
class MyClass
{
    public $public = 'Publikus';
    protected $protected = 'Védett';
    private $private = 'Privát';

    function printHello()
    {
        echo $this->public;
        echo $this->protected;
        echo $this->private;
    }
}

$obj = new MyClass();
echo $obj->public; // Mûködik
echo $obj->protected; // Fatális hiba
echo $obj->private; // Fatális hiba
$obj->printHello(); // Kiírja hogy Publikus, Védett és Privát


/**
 * MyClass2 definiálása
 */
class MyClass2 extends MyClass
{
    // Újradeklarálhatjuk a publikus és a védett adattagot, de a privátot nem
    protected $protected = 'Védett2';

    function printHello()
    {
        echo $this->public;
        echo $this->protected;
        echo $this->private;
    }
}

$obj2 = new MyClass2();
echo $obj->public; // Mûködik
echo $obj2->private; // Meghatározatlan
echo $obj2->protected; // Fatális hiba
$obj2->printHello(); // Kiírja hogy Publikus és Védett2, de nem írja ki hogy Privát

?> 
]]>
     </programlisting>
    </example>
   </para>
   <note>
    <simpara>
	 A PHP 4 változó deklarálási metódusa a <emphasis>var</emphasis> 
	 kulcsszóval még támogatott kompatibilitási okok miatt (a public kulcsszó 
	 szinonímájaként). Az 5.1.3 verzió elõtti PHP 5 motorok 
	 <constant>E_STRICT</constant> típusú hibát generáltak.
    </simpara>
   </note>
  </sect2>
  <sect2 id="language.oop5.visiblity-methods">
   <title>Metódus láthatóság</title>
   <para>
    Az osztály metódosuait publikusként, privátként vagy védettként kell defiiálni. 
	A láthatóság nélküli metódusok pulikusak lesznek.
   </para>
   <para>
    <example>
     <title>Method Declaration</title>
     <programlisting role="php">
<![CDATA[
<?php
/**
 * MyClass definiálása
 */
class MyClass
{
    // A kostruktoroknak pulikusnak kell lenniük
    public function __construct() { }

    // Publikus metódus deklarálása
    public function MyPublic() { }

    // Védett metódus deklarálása
    protected function MyProtected() { }

    // Privát metódus deklarálása
    private function MyPrivate() { }

    // Ez is publikus
    function Foo()
    {
        $this->MyPublic();
        $this->MyProtected();
        $this->MyPrivate();
    }
}

$myclass = new MyClass;
$myclass->MyPublic(); // Mûködik
$myclass->MyProtected(); // Fatális hiba
$myclass->MyPrivate(); // Fatális hiba
$myclass->Foo(); // A publikus, a védett és a privát is mûködik


/**
 * MyClass2 definiálása
 */
class MyClass2 extends MyClass
{
    // Ez is publikus
    function Foo2()
    {
        $this->MyPublic();
        $this->MyProtected();
        $this->MyPrivate(); // Fatális hiba
    }
}

$myclass2 = new MyClass2;
$myclass2->MyPublic(); // Mûködik
$myclass2->Foo2(); // A publikus és a védett múködik, a privát nem
?>
]]>
     </programlisting>
    </example>
   </para>
  </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
-->
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.