博客列表 >面向对象类的学习20180503.16点49

面向对象类的学习20180503.16点49

MrZ的博客
MrZ的博客原创
2018年05月03日 16:55:22644浏览

一、知识点

1,公共属性类外部也能继续访问,私有属性及受保护的属性只能内部访问,但是可以提供接口过滤的形式提交返回出去。

2,魔术方法: __construct属性初始化设置,自动加载技术 __get 获取获取受保护的属性。__set设置受保护的属性

3,类的实例化用关键字new 实例化,访问类的基本属性及方法使用“->访问符”;

二、代码部分

类文件

实例

<?php
/**
 * Created by PhpStorm.
 * User: zhoufan
 * Date: 2018/5/3
 * Time: 16:14
 */

class Student
{
    //初始化属性字段
    public $id="";
    private $name="";
    private $age="";
    public function __construct($id,$name,$age)
    {
        $this->id=$id;
        $this->name=$name;
     $this->age=$age;
    }

    public function get_name($un){
       $msg="没有权限查看1";

       if ($un=="admin")
       {
           $msg=$this->name;
       }
        return $msg;
    }

    public function __get($age)
    {
        return $this->$age;
    }

    public function __set($name, $value)
    {
        if ($name=="age")
        {
            if (in_array("$value",range("18","60")))
            {
                $this->$name=$value;
            }
        }
    }


}

运行实例 »

点击 "运行实例" 按钮查看在线实例

实例化部分

实例

<?php
/**
 * Created by PhpStorm.
 * User: zhoufan
 * Date: 2018/5/3
 * Time: 16:14
 */

require "Student.php";

$a=new Student("1002","xiaohaha","20");

$a->age="180";

echo $a->age;

运行实例 »

点击 "运行实例" 按钮查看在线实例


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议