PHP中的__get()和__set()方法获取设置私有属性
在类的封装中,获取属性可以自定义getXXX()和setXXX()方法,当一个类中有多个属性时,使用这种方式就会很麻烦。为此PHP5中预定义了__get()和__set()方法,其中__get()方法用于获取私有成员属性值,__set()方法用于为私有成员属性值赋值,这两个方法获取或设置私有属性值时都是自动调用的。接下来通过一个案例来演示这两个方法的使用。
- <?php
- class Person
- {
- private $name;
- private $age;
- public function __get($property_name)
- {
- echo "自动调用__get()方法获取属性值<br>";
- if(isset($this->$property_name))
- {
- return ($this->$property_name);
- }
- else
- {
- return (NULL);
- }
- }
- public function __set($property_name,$value)
- {
- echo "自动调用__set()方法设置属性值<br>";
- $this->$property_name=$value;
- }
- }
- $p1 = new Person;
- $p1->name = "张三";
- $p1->age = 10;
- echo "姓名:".$p1->name."<br>";
- echo "年龄:".$p1->age."<br>";
- ?>
运行结果:
转载于:https://www.cnblogs.com/qianzf/p/7650244.html
PHP中的__get()和__set()方法获取设置私有属性相关推荐
- PHP类中的__get()和__set函数到底有什么用
PHP类中的__get()和__set函数到底有什么用 一.总结 一句话总结:当试图获取一个不可达变量时,类会自动调用__get.同样的,当试图设置一个不可达变量时,类会自动调用__set.在网站中, ...
- 【Groovy】编译时元编程 ( ASTTransformation#visit 方法中访问 Groovy 类、方法、字段、属性 | 完整代码示例及进行编译时处理的编译过程 )
文章目录 一.ASTTransformation#visit 方法中访问 Groovy 类.方法.字段.属性 二.完整代码示例及进行编译时处理的编译过程 1.Groovy 脚本 Groovy.groo ...
- php类3个属性是哪3种,PHP获取类私有属性的3种方法
今天在推上看到一条获取php类私有属性的推文,感觉很有意思: 顺着推文联想,还有其他方式吗?经过自己的测试及网上答案,总结出三种方法: 1. 反射 反射可以获取类的详细信息,要获取私有属性的值,只需将 ...
- matplotlib之pyplot模块——获取/设置对象属性值(setp()、getp/get())
当前有效matplotlib版本为:3.4.1. 概述 pyplot模块提供了获取/设置对象属性值的接口.功能类似于Python内置函数getattr和setattr.从源码上来看,get()是get ...
- 【MATLAB】基本绘图 ( 句柄值 | 对象句柄值获取 | 创建对象时获取句柄值 | 函数获取句柄值 | 获取 / 设置 对象属性 | 获取对象属性 )
文章目录 一.对象句柄值获取 1.句柄值 2.创建对象时获取句柄值 3.函数获取句柄值 4.获取 / 设置 对象属性 二.获取对象属性 1.获取 线 对象属性 2.获取 坐标轴 对象属性 一.对象句柄 ...
- php获取p标签的值,js使用html()或text()方法获取设置p标签的显示的值
html()方法 此方法类似于JavaScript中的innerHTML属性,可以用来读取或者设置某个元素中的HTML内容.要获取某个元素的内容,可以这样: var p_html = $(" ...
- Python OOP:继承、单继承、多继承、__mro__、子类重写父类同名属性和方法、子类调用父类同名属性和方法、多层继承、super()、私有(实例)属性和方法、获取修改私有属性值、私有类属性
一.继承 Python⾯向对象的继承指的是多个类之间的所属关系,即⼦类默认继承⽗类的所有属性和⽅法. 继承作用:继承可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展. 在P ...
- html 获取p 属性值,js使用html()或text()方法获取设置p标签的显示的值
html()方法可以用来读取或者设置某个元素中的HTML内容,text()方法可以用来读取或者没置某个元素中的文本内容 html()方法 此方法类似于JavaScript中的innerHTML属性,可 ...
- java根据属性获取对象_java反射工具类--通过指定属性名,获取/设置对象属性值
java对象通过点运算符操作对象属性的方式没法使用for,while等循环,此工具主要解决这一问题. 例如:有一对象包含属性有一定规律 obj1: { name1: "张三", a ...
最新文章
- python能实现excel什么功能_Python pandas对excel的操作实现示例
- AIX系统日志学习笔记之三
- sweet+alert+ajax,Ajax相关
- python读取redis存储数据的存储时间_Python读写Redis数据库操作示例
- 2019-11-18 自动控制原理的几个基本概念
- 为什么MySQL将会是一个更好的NoSQL
- JDK8利用Stream为集合对象分组并编号
- 在c语言中输入三个数据类型,【C语言讲解】第二章:数据类型3
- 如何建立强有力的人脉关系
- Android实例(一)—— 3D画廊
- idea Push Tags选All还是Current Branch?
- WPS个人版如何启用VBA(宏)
- 好好说话之unlink
- java生成图片,特殊字符显示方框问题解决
- 实验三 使用CSS3
- 前端开发中的跨域问题及解决方案
- 2021-11-02发电机转子方程的推导
- 使用.NET REACTOR制作试用软件及颁发License
- 金蟾论金:黄金多头迎非农,最新黄金走势分析实时策略布局
- 什么是死锁及死锁的必要条件和解决方法