cvs: phpdoc-zh /language/oop5 visibility.xml
| From: | liuming | 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
+-->