长话短说,有一个名为ArrayAccess的PHP功能,它允许您为您的类重载[]
运算符(以及我认为的其他内容),因此您可以使用自定义类MyClass implements ArrayAccess
哪个$myVariable
是一个实例,并执行类似
$myVariable[]=6;
或$someVar=$myVariable[78];
在你定义了它的行为之后。
我觉得这个功能相当优雅和有用,并且想知道这是否可以用其他编程语言。
谢谢!
答案 0 :(得分:2)
C ++在运算符重载方面支持这一点。
大多数.Net语言都支持索引器。
答案 1 :(得分:1)
Python 也支持它,通过实施"magic" methods __getitem__
and __setitem__
。
使用它们,你甚至可以像obj[i:j]
一样支持切片。