在手册中遇到了一个没想明白的问题,记录一下: 1 class Bar 2 { 3 public function test() { 4 $this - testPrivate(); 5 $this - testPublic(); 6 } 7 8 public function testPublic() { 9 echo "Bar::testPublic\n" ; 10 } 11 12 private function testPr
在手册中遇到了一个没想明白的问题,记录一下:
<span> 1</span> <span>class</span><span> Bar </span><span> 2</span> <span>{ </span><span> 3</span> <span>public</span> <span>function</span><span> test() { </span><span> 4</span> <span>$this</span>-><span>testPrivate(); </span><span> 5</span> <span>$this</span>-><span>testPublic(); </span><span> 6</span> <span> } </span><span> 7</span> <span> 8</span> <span>public</span> <span>function</span><span> testPublic() { </span><span> 9</span> <span>echo</span> "Bar::testPublic\n"<span>; </span><span>10</span> <span> } </span><span>11</span> <span>12</span> <span>private</span> <span>function</span><span> testPrivate() { </span><span>13</span> <span>echo</span> "Bar::testPrivate\n"<span>; </span><span>14</span> <span> } </span><span>15</span> <span>} </span><span>16</span> <span>17</span> <span>class</span> Foo <span>extends</span><span> Bar </span><span>18</span> <span>{ </span><span>19</span> <span>public</span> <span>function</span><span> testPublic() { </span><span>20</span> <span>echo</span> "Foo::testPublic\n"<span>; </span><span>21</span> <span> } </span><span>22</span> <span>23</span> <span>private</span> <span>function</span><span> testPrivate() { </span><span>24</span> <span>echo</span> "Foo::testPrivate\n"<span>; </span><span>25</span> <span> } </span><span>26</span> <span>} </span><span>27</span> <span>28</span> <span>$myFoo</span> = <span>new</span><span> foo(); </span><span>29</span> <span>$myFoo</span>->test(); <span>//</span><span> Bar::testPrivate </span><span>30</span> <span> // Foo::testPublic</span>
为啥第一行会输出Bar::testPrivate呢?
一些资料:
http://www.haidx.com/php-private.html
还有php官网上,关于这段代码的贡献者回复中,也找到了一条:
http://www.php.net/manual/zh/language.oop5.visibility.php#87413

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Linux new version
SublimeText3 Linux latest version

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Zend Studio 13.0.1
Powerful PHP integrated development environment

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft
