PHP 面向对象

<?php

//面向过程
/*$r=5;
$m=3.14*$r*$r;*/

//类和对象
//对象:任何东西都可以成为对象,类实例化出来的东西
//累:对所有同类的对象抽象出来的东西

//info:code,name,sex,nation,birthday
//对象:一条具体的信息 p001 张三 男 汉族 1990-2-3

//定义类
class ren
{
    var $name;  //成员变量
    var $age;
    var $height;
    var $sex;  //一般不要给成员变量赋值
    private $age; 
    
    function __construct($s)//构造函数
    {
        $this->sex=$s;
    }
    
    function run()  //成员函数(方法)
    {
        echo"这个人正在奔跑";
    }
    function say()
    {
        echo $this->name."正在说话";
        $this->run();
    }
    function __destruct()  //析构函数
    {
        echo"该对象销毁了";    
    }
/*    function setage($a)  //给age赋值的函数
    {
        if($a>10&&$a<50)  //限制条件
        {
         $this->age=$a;
        }
    }
    function getage()  //取age的值
    {
        return $this->age;
    }*/
    function __set($name,$value)  //对类里面的私有成员进行赋值的魔术方法
    {
        if($name=="age")
        {
            if($value>10&&$value<50)
            {
                $this->$name=$value;
            }
        }
        else
        {
        $this->$name=$value;
        }
    }
    function __get($name)  //对类里面的私有成员进行取值的魔术方法
    {
        return $this->$name;
    }
}
    
//使用类
//1.实例化对象
$r=new ren("男");
//给成员变量赋值(调用成员变量)
$r->name="张三";//给对象name赋值

//var_dump($r);
//3.调用成员方法
$r->run();//执行成员方法

//访问修饰符
//1.如果要加访问修饰符,需要去掉var
//2.三种:
//      public公有的 
//      protected受保护的(只能在该类或者子类中使用) 
//      private私有的(只能在这个类里使用)
//3.如果不加访问修饰符,默认是public

//$this引用
//$this代表该对象(哪个对象调用),不是代表该类
    
//构造函数
//1.写法特殊:function __construct()
//2.执行特殊:在造对象的时候最先执行
//3.作用:对对象进行初始化操作

//析构函数
//对象销毁前执行,自动进行调用

?>
原文地址:https://www.cnblogs.com/yy01/p/5433994.html