当前位置:首页 > 日记 > 正文

对__get用法详细解释()和()__setPHP

对__get用法详细解释()和()__setPHP
PHP面向对象_get使用(),_set()
一般来说,一个类的属性通常被定义为私有的,它更符合实际的逻辑,但是对属性的读取和赋值操作是非常频繁的。因此,在PHP5中,两个功能__get()和()__set定义获取和分配属性,操作类似JavaBean在java是相似的,但不需要设置和各领域得到的操作,如JavaBean。只需添加两个魔术,设定值和私有成员值的操作。我们提供的特殊价值和获取在PHP5中属性值的设置方法,__set(__get)和(2)这种方法,这两种方法是默认的,但是我们手动添加到类里面去,如施工方法(__construct)(),并添加到班上唯一的存在,用下面的方法添加这两种方法,当然,也可以根据个人风格添加:
复制代码代码如下所示:
/ / __set()方法用于建立私人性质
公共功能__set($name,美元价值){
$ $;
}
/ / __get()方法来获取私人性质
公共功能__get($name){
返回$;
}

(__get)方法:该方法用于获取私有成员属性值,参数名称参数你想得到的成员属性,属性返回值获得,该方法不需要我们的手打电话,因为我们也可以用这种方法使私人的方法,是在私有财产的收购直接当对象被自动调用。由于私有财产已经包上,价值不是直接可用的,但如果你把这种方法在课堂上,直接访问该值时会自动调用__get在使用echo $ P1 ->名称报表($name)方法,为名称的名称的争论的性质,通过内部执行的方法,我们回到私人对传入的值属性。如果成员属性不是封装在私有的,对象本身不会自动调用此方法。

__set()方法:这个方法是用来设置私有成员属性的值。有两个参数。第一个参数是要设置值的属性名称。第二个参数是属性的值集,并且没有返回值,也不需要手工调用这个方法。它也可以是私有的。当直接设置私有属性值时,它会自动调用,并且私有的相同属性已被封装。
如果没有__set(),这种方法是不允许的,例如:美元->名称= zhangsan ',它会出错,但是如果你加在__set类(property_name美元,美元的价值)在这种方式中,直接向私人财产的分配,将自动调用它,这样正如名字property_name美元的属性,以价值被分配的权限值,通过该方法的执行,达到作业的目的。如果成员属性不是封装在私有的,对象本身不会自动调用此方法。为了不在非法值传递,你也可以把这个方法判断,代码如下:
复制代码代码如下所示:
< PHP
班上的人
{
下面是一个成员属性,是包私有成员
私有名称;名称
私人美元;性别
私有美元年龄
/ / __get()方法来获取私人性质
私有函数__get($ property_name)
{
回声自动调用该__get()方法当私有财产值直接得到的。
如果(isset(美元-> property_name美元))
{
收益(美元-> property_name美元);
}
其他的
{
返回(null);
}
}
/ / __set()方法用于建立私人性质
私有函数__set(property_name美元,美元的价值)
{
回声自动调用该__set()方法分配一个私有的属性当私有财产价值是直接设置;
美元美元美元-> property_name =价值;
}
}
P1 =新人(美元);
/ /直接的赋值操作的私有财产,将自动调用__set()分配方法
$ >=;
性别=男性;
美元=年龄= 20;
/ /获取私有财产直接价值,会自动调用__get()方法返回一个成员属性值
。;
回声性。;
回声年龄。;
>

程序执行结果:
当私人财产的价值是直接的__set()方法会自动调用私有财产的分配
当私人财产的价值是直接的__set()方法会自动调用私有财产的分配
当私人财产的价值是直接的__set()方法会自动调用私有财产的分配
这__get()方法会自动调用时直接获得私有财产的价值
姓名:张三
这__get()方法会自动调用时直接获得私有财产的价值
性别:男
这__get()方法会自动调用时直接获得私有财产的价值
年龄:20
如果上面的代码不加__get()和()方法__set,程序会出错,因为私有成员不能被外界的类的操作,和上面的代码直接调用的__get()和()方法__set。

相关文章

如何在Linux系统中查看日志

如何在Linux系统中查看日志

日志,系统,如何在,电脑软件,Linux,审查:如何查看日志 在内部总是有病毒和恶意攻击。我想看看如何检查日志。 如何查看日志 原文由{引用} {我}yanggang209}内部总是发现病毒和恶意攻击,我想问一下如何查看日志{ /报价::{或} 猫安全 如何查看日志…

你下载iTunes收费来注册iTunes付费

你下载iTunes收费来注册iTunes付费

注册,解决方案,下载,电脑软件,iTunes,问题: 想在电脑上安装iTunes,不知道怎么下载这个节目收费,只有一个iTunes账号注册费吗 回答: iTunes是一个免费应用程序,下载和安装不收费,只有注册的iTunes帐号不收费,只有下载付费游戏或iTunes应用程序才…

linux驱动程序开发的详细介绍

linux驱动程序开发的详细介绍

程序开发,详细介绍,电脑软件,linux,注释:前提是,一般来说,内核代码错误可能导致用户进程的死亡,或者整个系统瘫痪。更严重的后果可能导致磁盘损坏。因此,最好有一台试验机进行系统测试。 前提,一般来说,内核代码错误可能导致用户进程的死亡,或者整…

对PHP加载和spl_autoload自动加载

对PHP加载和spl_autoload自动加载

加载机制,加载,电脑软件,PHP,spl_autoload,加载PHP机制 (1)对加载机制概述 当我们使用PHP的面向对象模式开发的系统,我们在一个单独的文件通常使用每个类的实现,这使得它易于重用的类,并在同一时间,便于日后的维护,这也是面向对象设计的基本思想。…

XP系统视频文件的三种实用解决方案

XP系统视频文件的三种实用解决方案

系统,删除,解决方案,三种,视频文件,评论:频率文件预览功能已经导致我们删除视频文件时,往往有一个提示,不能删除。我们如何解决这个问题这里有几个很好的方法来说明类似情况的朋友。 在xp系统中,有一个非常实用的视频功能,那就是视频预览,但那是…

Solaris下复制文件的技术

Solaris下复制文件的技术

复制文件,技术,电脑软件,Solaris,点评:uff1a 今天,一个问题被解决了。如果源路径中有链接,Solaris下的CP命令会自动将连接传输到实际文件。 这在实际使用中往往是不合适的。 Linux下的d参数可以避免这个问题,但是Solaris不支持这个参数。 通过…

,是servicelayer.exe-使用

,是servicelayer.exe-使用

电脑软件,servicelayer,exe,评论:详细介绍的过程中,对servicelayer.exe 进程文件:,或servicelayer.exe 过程名称:诺基亚连接库 过程类别:安全风险的过程 英文描述: servicelayer.exe是与诺基亚的连接库软件相关的过程。它 中文参考: 对不起,暂时没…

该smartexplorer.exe-意义smartexp

该smartexplorer.exe-意义smartexp

意义,过程,电脑软件,smartexplorer,exe,评论:smartexplorer.exe - smartexplorer过程 进程文件:smartexplorer或smartexplorer.exe 过程名称:Smart Explorer Browser 过程类别:安全风险的过程 英文描述: smartexplorer.exe是一个过程,属于smart…

它说明Linux下内核参数

它说明Linux下内核参数

参数,内核,电脑软件,Linux,评论:最后的数据发送和接后标记为需要它的第一KeepAlive探测包之间的间隔 tcp_keepalive_time整数 连接后标记为需要它,最终的数据发送和第一KeepAlive探测包之间的间隔。 默认值:2hours。 tcp_keepalive_probes…

使用Win7的远程桌面控制

使用Win7的远程桌面控制

控制,远程桌面,电脑软件,点评:Win7的远程桌面控制需要建立两个连接电脑。下面将介绍你如何使用Win7远程桌面控制有兴趣的朋友可以参考。 win7的远程桌面控制需要建立两台电脑连接到互联网。以下是以下内容: 在连接的计算机设置上: 首先,右击…

通过硬盘安装Fedora

通过硬盘安装Fedora

安装,硬盘,电脑软件,Fedora,复习:准备工作 你需要让Fedora安装DVD镜像。在Fedora 8,文件fedora-8-i386-dvd.iso。请把它放在脂肪或外部的分区,如果你把它放在一个文件夹,该文件夹的名称是最好的,而不是在中国。Fedora 8似乎并没有能够从NTFS分区…

linux安装与软件安装

linux安装与软件安装

软件安装,安装,电脑软件,linux,linux为计算机用户安装常用软件。然后我会深入学习和学习Linux安装。在这里,我将与你的Linux安装方式的讨论,我希望它会对你有用。决定不使用了。你找不到安装Linux的意义。没有太多的时间找出一些用法。所以决…