欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP笔记之:基于面向对象设计的详解

程序员文章站 2022-07-06 23:18:46
public 表示全局,类内部外部子类都可以访问;复制代码 代码如下:

public 表示全局,类内部外部子类都可以访问;

复制代码 代码如下:

<?php

     class test{
         public  $name='janking',
                 $sex='male',
                 $age=23;

         function __construct(){
             echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />';
         }

          function func(){
             echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />';
         }
     }

 
 $p=new test();
 echo '<br /><br />';
 $p->age=100;
 $p->name="rainy";
 $p->sex="female";
 $p->func();
 ?>
public

private表示私有的,只有本类内部可以使用;
复制代码 代码如下:

<?php

     class test{
         private  $name='janking',
                 $sex='male',
                 $age=23;

         function __construct(){
             $this->funcone();
         }

          function func(){
             echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />';
         }

         private function funcone(){
             echo $this->age.'<br />'.$this->name.'<br />'.$this->sex.'<br />';
         }
     }

 
 $p=new test();
 echo '<br /><br />';
 $p->func();
 $p->age=100;        // cannot access private property test::$age
 $p->name="rainy";   // cannot access private property test::$name
 $p->sex="female";   // cannot access private property test::$female
 $p->funcone();      // call to private method test::funcone() from context ''
 ?>
private

protected表示受保护的,只有本类或子类或父类中可以访问; 和封装有关的魔术方法:

 __set():是直接设置私有成员属性值时,自动调用的方法

 __get():是直接获取私有成员属性值时,自动调用的方法

 __isset(); 是直接isset查看对象中私有属性是否存时自动调用这个方法

 __unset(); 是直接unset删除对象中私有属性时,自动调用的方法