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

From: Date: Fri, 02 Dec 2005 14:58:52 +0000
Subject: cvs: phpdoc-zh /language/oop5 visibility.xml
Groups: php.doc.zh 
Request: Send a blank email to doc-zh+get-2712@lists.php.net to get a copy of this message
lm92 Fri Dec 2 09:58:52 2005 EDT Modified files: /phpdoc-zh/language/oop5 visibility.xml Log: finished http://cvs.php.net/diff.php/phpdoc-zh/language/oop5/visibility.xml?r1=1.2&r2=1.3&ty=u Index: phpdoc-zh/language/oop5/visibility.xml diff -u /dev/null phpdoc-zh/language/oop5/visibility.xml:1.3 --- /dev/null Fri Dec 2 09:58:52 2005 +++ phpdoc-zh/language/oop5/visibility.xml Fri Dec 2 09:58:50 2005 @@ -0,0 +1,172 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- $Revision: 1.3 $ --> +<!-- $Author: lm92 $ --> +<!-- EN-Revision: 1.8 Maintainer: lm92 Status: ready --> + <sect1 id="language.oop5.visibility"> + <title>·ÃÎÊ¿ØÖÆ</title> + <para> + ¶ÔÊôÐÔ»ò·½·¨µÄ·ÃÎÊ¿ØÖÆ£¬ÊÇͨ¹ýÔÚÇ°ÃæÌí¼Ó¹Ø¼ü×Ö public¡¢protected »ò private + À´ÊµÏֵġ£ÓÉ public Ëù¶¨ÒåµÄÀà³ÉÔ±¿ÉÒÔÔÚÈκεط½±»·ÃÎÊ£»ÓÉ protected + Ëù¶¨ÒåµÄÀà³ÉÔ±Ôò¿ÉÒÔ±»ÆäËùÔÚÀàµÄ×ÓÀàºÍ¸¸Àà·ÃÎÊ£¨µ±È»£¬¸Ã³ÉÔ±ËùÔÚµÄÀàÒ²¿ÉÒÔ·ÃÎÊ£©£»¶øÓÉ + private ¶¨ÒåµÄÀà³ÉÔ±ÔòÖ»Äܱ»ÆäËùÔÚÀà·ÃÎÊ¡£ + </para> + <sect2 id="language.oop5.visiblity-members"> + <title>¶ÔÀà³ÉÔ±µÄ·ÃÎÊ¿ØÖÆ</title> + <para> + Àà³ÉÔ±¶¼±ØÐëʹÓùؼü×Öpublic¡¢protected »ò private ½øÐж¨Òå + </para> + <para> + <example> + <title>ÉùÃ÷Àà³ÉÔ±</title> + <programlisting role="php"> +<![CDATA[ +<?php +/** + * Define MyClass + */ +class MyClass +{ + public $public = 'Public'; + protected $protected = 'Protected'; + private $private = 'Private'; + + function printHello() + { + echo $this->public; + echo $this->protected; + echo $this->private; + } +} + +$obj = new MyClass(); +echo $obj->public; // ÕâÐÐÄܱ»Õý³£Ö´ÐÐ +echo $obj->protected; // ÕâÐлá²úÉúÒ»¸öÖÂÃü´íÎó +echo $obj->private; // ÕâÐÐÒ²»á²úÉúÒ»¸öÖÂÃü´íÎó +$obj->printHello(); // Êä³ö Public¡¢Protected ºÍ Private + + +/** + * Define MyClass2 + */ +class MyClass2 extends MyClass +{ + // ¿ÉÒÔ¶Ô public ºÍ protected ½øÐÐÖØ¶¨Ò壬µ« private ¶ø²»ÄÜ + protected $protected = 'Protected2'; + + function printHello() + { + echo $this->public; + echo $this->protected; + echo $this->private; + } +} + +$obj2 = new MyClass2(); +echo $obj->public; // ÕâÐÐÄܱ»Õý³£Ö´ÐÐ +echo $obj2->private; // 䶨Òå private +echo $obj2->protected; // ÕâÐлá²úÉúÒ»¸öÖÂÃü´íÎó +$obj2->printHello(); // Êä³ö Public¡¢Protected2£¬µ«²»»áÊä³ö Private + +?> +]]> + </programlisting> + </example> + </para> + <note> + <simpara> + ÔÚ PHP 4 ÖÐʹÓà <emphasis>var</emphasis> ¹Ø¼ü×Ö¶Ô±äÁ¿½øÐж¨ÒåµÄ·½·¨ÔÚ PHP 5 + µÄÃæÏò¶ÔÏóÓï·¨Öв»ÔÙʹÓá£ÎªÁ˹˼°¼æÈÝÐÔ£¬ÔÚÀàÖж¨ÒåÒ»¸ö±äÁ¿µÄ»°£¬¸Ã±äÁ¿»á±»×Ô¶¯ÉèΪ + public£¬²¢ÇÒ²úÉúÒ»¸ö <constant>E_STRICT</constant> ¾¯¸æ¡£ + </simpara> + </note> + </sect2> + <sect2 id="language.oop5.visiblity-methods"> + <title>¶Ô·½·¨µÄ·ÃÎÊ¿ØÖÆ</title> + <para> + ÀàÖеķ½·¨¶¼±ØÐëʹÓùؼü×Öpublic¡¢protected »ò private + ½øÐж¨Òå¡£Èç¹ûûÓÐÉèÖÃÕâЩ¹Ø¼ü×Ö£¬Ôò¸Ã·½·¨»á±»ÉèÖóÉĬÈ쵀 public¡£ + </para> + <para> + <example> + <title>ÉùÃ÷ÀàÖеķ½·¨</title> + <programlisting role="php"> +<![CDATA[ +<?php +/** + * Define MyClass + */ +class MyClass +{ + // ¹¹Ô캯Êý±ØÐëÊÇ public + public function __construct() { } + + // ÉùÃ÷Ò»¸ö public µÄ·½·¨ + public function MyPublic() { } + + // ÉùÃ÷Ò»¸ö protected µÄ·½·¨ + protected function MyProtected() { } + + // ÉùÃ÷Ò»¸ö private µÄ·½·¨ + private function MyPrivate() { } + + // Õâ¸ö·½·¨Ò²ÊÇ public µÄ + function Foo() + { + $this->MyPublic(); + $this->MyProtected(); + $this->MyPrivate(); + } +} + +$myclass = new MyClass; +$myclass->MyPublic(); // ÕâÐÐÄܱ»Õý³£Ö´ÐÐ +$myclass->MyProtected(); // ÕâÐлá²úÉúÒ»¸öÖÂÃü´íÎó +$myclass->MyPrivate(); // ÕâÐлá²úÉúÒ»¸öÖÂÃü´íÎó +$myclass->Foo(); // Public¡¢Protected ºÍ Private ¶¼±»µ÷ÓÃÁË + + +/** + * Define MyClass2 + */ +class MyClass2 extends MyClass +{ + // This is public + function Foo2() + { + $this->MyPublic(); + $this->MyProtected(); + $this->MyPrivate(); // ÕâÐлá²úÉúÒ»¸öÖÂÃü´íÎó + } +} + +$myclass2 = new MyClass2; +$myclass2->MyPublic(); // ÕâÐÐÄܱ»Õý³£Ö´ÐÐ +$myclass2->Foo2(); // Public ºÍ Protected ¶¼±»µ÷ÓÃÁË£¬µ« Private ²»»á±»µ÷Óà +?> +]]> + </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 +-->

« previous php.doc.zh (#2712) next »