如果我有一个具有属性$name的类“person”及其getter(get_name())和setter(set_name())方法,那么在实例化对象并设置属性之后,
$paddy = new person(); $paddy->set_name("Padyster Dave"); echo "Paddy's full name: ".$paddy->name; //WHY THIS IS NOT RECOMMENDED...
EDIT
因为有一天你可能会摆脱$name成员,用(例如)$first_name,$last_name和fullname()方法替换它(不是那个是
good idea).当然,与
__get
and __set
一样,这并不重要.
更一般地说,设置属性可能不像存储值那么简单.直接访问成员字段可能导致其他函数导致对象处于不一致状态.想象一下,你存储了一个需要保持排序的数组;如果数组是公共的,那么其他东西可以为该字段分配一个未排序的数组.
原文地址:https://www.jb51.cc/php/134627.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。