PHP 面向对象封装

<?php
//类的概念
//对象的概念
//定义类
//class Ren
{
//成员变量
//成员方法 
}
//造对象
//$r=new Ren();
//调用对象的成员$r->

//面向对象三大特性:封装,继承,多态
//1.封装
//目的:让类更加的安全  做法:不让外界直接访问类的成员

//具体做法:
//1.成员变成私有:访问修饰符:(public公有的 private私有的 protected受保护的,只有该类和子类可访问)
//2.造成员方法,来操作变量

class Ren
{
 
     private $age;//私有成员
  private $name;
  private $sex;
  //构造函数 在造对象时,对成员变量进行初始化的
  /*特殊点:1.执行时间特殊:造对象new时自动执行
           2.写法特殊   __construct  */      
  function __construct($s)
  {
   $this->sex=$s;
  }
  
  /*(方法一)
 //造方法去给变量赋值 
 public function setAge($a)
 {
  if($a>18and$a<50 )
  {
  $this->age=$a;
  }
 }
 //取值
 function GetAge()
 {
   return $this->age; 
 }*/
 
 //(方法二)
 //3.适用类中提供的__get()和__set()方法,变量赋值的方法
 function __set($n,$v)
 {
   if($n=="age")
   {
    if($v>18and $v<50)
    {
       $this->$n=$v;
    } 
   }
   else
   {
    $this->$n=$v;
   }
 }
 //取值方法
 function __get($n)
 {
  return $this->$n;
 }
}

$r=new Ren("男");
//$r->age=20;
//$r->name="张三";
//echo $r->name;
var_dump($r);


?>

原文地址:https://www.cnblogs.com/panyiquan/p/5562542.html