__get和__set的用法

原创 2015年07月10日 14:24:53
class StrictCoordinateClass
{
    private $arr=array('x'=>NULL,'y'=>NULL);
    function __get($property)
    {
        if(array_key_exists($property, $this->arr))
        {
            return $this->arr[$property];
        }else
        {
            print "Error: Can't read a property other than x & y\n";
        }
    }
    function __set($property,$value)
    {
        if(array_key_exists($property, $this->arr))
        {
            $this->arr[$property]=$value;
        }else
        {
            print "Error: Can't write a property other than x & y\n";
        }
    }
}

$obj=new StrictCoordinateClass();
$obj->x=1;
print $obj->x;
print "\n";
$obj->n=2;
print $obj->n;

相关文章推荐

php __set __get __isset __unset用法防被忽悠分析

大家好我是小烟 今天分享下 php面向对象中__set __get __isset __unset用法之防忽悠介绍 今天详细讲解下这四个魔术方法的用法。和一些注意要点!...
  • ebw123
  • ebw123
  • 2014年12月03日 17:25
  • 4810

【PHP】PHP中__get()和__set()的用法实例详解

php面向对象_get(),_set()的用法  一般来说,总是把类的属性定义为private,这更符合现实的逻辑。但是,对属性的读取和赋值操作是非常频繁的,因此在PHP5中,预定义了两个函数“__...
  • ashantx
  • ashantx
  • 2015年07月31日 16:55
  • 192

vue.js的computed,filter,get,set的用法及区别

1、vue.js的computed方法: 处理复杂逻辑,基于依赖缓存,当依赖发生改变时会重新取值。用methods也可以实现同样的效果,但methods在重新渲染的时候会重新调用执行,在性能上comp...

学习PHP面向对象(四)_get(),_set()的用法 这种方法不推荐使用

一般来说,总是把类的属性定义为private,这更符合现实的逻辑。但是,对属性的读取和赋值操作是非常频繁的,因此在PHP5中,预定义了两个函数“__get()”和“__set()”来获取和赋值其属性,...

C# get set 的用法经验

C# get set函数很常用,但是用好还是需要很多经验的,下面的文章就是帮你积累C# get set函数经验的。  C# get set不提倡将域的保护级别设为 public而使用户在类外任意操作-...

关于matlab中get和set的用法(转)

通用函数get和set 所有对象都有属性来定义它们的特征,正是通过设定这些属性来修正图形显示的方式。尽管许多属性所有的对象都有,但与每一种对象类型(比如坐标轴,线,曲面)相关的属性列表都是独一无二的...

set_include_path和get_include_path用法详解

今天在公司研习源码时,看到了set_include_path(dirname(__FILE__));这样一行代码,甚为不解。于是我就百度了一下,顺便看了一下php.net的手册,可是还是不太明白它到底...

Eclipse用法:自动生成get和set方法

方法一 Java的类中,除了常量声明为静态且公有的,一般的对象数据作用域,都是声明为私有的。这样做能保护对象的属性不会被随意改变,调试的时候也会方便很多:在类的公有方法中大一个调用栈就能看到哪里...

关于matlab中get和set的用法(转)

转自:http://blog.sina.com.cn/s/blog_77787cd80101a6ds.html 通用函数get和set 所有对象都有属性来定义它们的特征,正是通过设定这些属性来修正...

关于matlab中get和set的用法 (2)

关于matlab中get和set的用法 (2) Matlab中,所有对象都有属性来定义它们的特征,正是通过设定这些属性来修正图形显示的方式。尽管许多属性所有的对象都有,但与每一种对象类型(比...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:__get和__set的用法
举报原因:
原因补充:

(最多只允许输入30个字)