目录
php 对象直接访问私有属性
首页 后端开发 php教程 php 对象直接访问私有属性_PHP教程

php 对象直接访问私有属性_PHP教程

Jul 12, 2016 am 09:07 AM
对象 属性

php 对象直接访问私有属性

 
<?php
 
    header("content-type:text/html;charset=UTF-8");
    class Person{
        //私有的成员属性,对直接访问象
        private $name;
        private $age;
        private $sex;
         
        //魔术方法 __construct(), __set(), __unset(), __isset(), __unset().....
        function __construct($name="name1",$age =20,$sex="女"){
            $this->name=$name;
            $this->age=$age;
            $this->sex=$sex;
        }
         
        /*
            输出 Cannot access private property Person::$name
             
            对象不能直接访问和设置私有属性的值,但是通过魔术方法__get($proName), __set($proName,$proValue)可以做到.
            步骤:
                1.重写魔术方法__get($property) , __set($proName,$proValue)
                2.用对象直接访问或设置私有属性
                    $p1->name="对象直接访问私有属性";
                    echo $p1->name;
                3.对象直接访问或设置私有属性时,会自动调用魔法方法__get($proName), __set($proName,$proValue)
        */
        function __get($proName){
            return $this->$proName;
        }
         
        function __set($proName,$proValue){
            $this->$proName=$proValue;
        }
         
        function say(){
            echo "$this->name:我的年龄$this->age,性别:$this->sex<br>";
        }
         
        function run(){
            $this->left();
            $this->right();
        }
         
        private function left(){
            echo "left";
        }
         
        private function right(){
            echo "right";
        }
         
        //析构方法,对象销毁前自动调用
        function __destruct(){
            echo "$this->name:我走了<br>";
        }
    }
      
    $p1 = new Person("name1",15,"女");
    $p2 = new Person("name2",20,"男");
    $p3 = new Person("name3",30,"女");
     
     
     
     
    /*
        对象直接访问或设置私有属性
    */
    $p1->name="对象直接访问私有属性";
    echo $p1->name."<br>";
     
    /*
    输出,注意__destruct()的输出顺序
     
        name1:我的年龄15,性别:女
        name2:我的年龄20,性别:男
        name3:我的年龄30,性别:女
         
        name1:我走了
        name3:我走了
        name2:我走了
    */
    $p1->say();
    $p2->say();
    $p3->say();
    $p1=null;
     
     
?>
登录后复制

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1061538.htmlTechArticlephp 对象直接访问私有属性 ?php header(content-type:text/html;charset=UTF-8); class Person{ //私有的成员属性,对直接访问象 private $name; private $age; private...
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

使用PHP的json_encode()函数将数组或对象转换为JSON字符串 使用PHP的json_encode()函数将数组或对象转换为JSON字符串 Nov 03, 2023 pm 03:30 PM

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,已经成为Web应用程序之间数据交换的常用格式。PHP的json_encode()函数可以将数组或对象转换为JSON字符串。本文将介绍如何使用PHP的json_encode()函数,包括语法、参数、返回值以及具体的示例。语法json_encode()函数的语法如下:st

Python的dir()函数:查看对象的属性和方法 Python的dir()函数:查看对象的属性和方法 Nov 18, 2023 pm 01:45 PM

Python的dir()函数:查看对象的属性和方法,需要具体代码示例摘要:Python是一种强大而灵活的编程语言,其内置函数和工具为开发人员提供了许多方便的功能。其中一个非常有用的函数是dir()函数,它允许我们查看一个对象的属性和方法。本文将介绍dir()函数的用法,并通过具体的代码示例来演示其功能和用途。正文:Python的dir()函数是一个内置函数,

如何将 MySQL 查询结果数组转换为对象? 如何将 MySQL 查询结果数组转换为对象? Apr 29, 2024 pm 01:09 PM

将MySQL查询结果数组转换为对象的方法如下:创建一个空对象数组。循环结果数组并为每一行创建一个新的对象。使用foreach循环将每一行的键值对赋给新对象的相应属性。将新对象添加到对象数组中。关闭数据库连接。

PHP中的Request对象是什么? PHP中的Request对象是什么? Feb 27, 2024 pm 09:06 PM

PHP中的Request对象是用于处理客户端发送到服务器的HTTP请求的对象。通过Request对象,我们可以获取客户端的请求信息,比如请求方法、请求头信息、请求参数等,从而实现对请求的处理和响应。在PHP中,可以使用$_REQUEST、$_GET、$_POST等全局变量来获取请求的信息,但是这些变量并不是对象,而是数组。为了更加灵活和方便地处理请求信息,可

数组和对象在 PHP 中的区别是什么? 数组和对象在 PHP 中的区别是什么? Apr 29, 2024 pm 02:39 PM

PHP中,数组是有序序列,以索引访问元素;对象是具有属性和方法的实体,通过new关键字创建。数组访问通过索引,对象访问通过属性/方法。数组值传递,对象引用传递。

C++ 函数返回对象时有什么需要注意的? C++ 函数返回对象时有什么需要注意的? Apr 19, 2024 pm 12:15 PM

在C++中,函数返回对象需要注意三点:对象的生命周期由调用者负责管理,以防止内存泄漏。避免悬垂指针,通过动态分配内存或返回对象本身来确保对象在函数返回后仍然有效。编译器可能会优化返回对象的副本生成,以提高性能,但如果对象是值语义传递的,则无需副本生成。

CSS中bottom属性语法 CSS中bottom属性语法 Feb 21, 2024 pm 03:30 PM

CSS中bottom属性语法及代码示例在CSS中,bottom属性用于指定一个元素与容器底部之间的距离。它可以控制一个元素相对于其父元素底部的位置。bottom属性的语法如下:element{bottom:value;}其中,element表示要应用该样式的元素,value表示要设置的bottom值。value可以是一个具体的长度值,比如像素

炉石传说绝望线缕属性介绍 炉石传说绝望线缕属性介绍 Mar 20, 2024 pm 10:36 PM

绝望线缕是暴雪娱乐旗下佳作《炉石传说》中的一张稀有卡牌,在“威兹班的工坊”卡包中有机会获得。可消耗100/400点奥术之尘合成普通/金色版本。炉石传说绝望线缕属性介绍答:在威兹班的工坊卡包中有几率获得,也也可以通过奥术之尘合成。稀有度:稀有类型:法术职业:死亡骑士法力值:1效果:使所有随从获得亡语:对所有随从造成1点伤害

See all articles