我尝试在PHP中实现ArrayList(Java)的基本功能.Arylylist应该能够添加任何类型的对象(Java中的通用) 任何人都可以提出改进设计/实施的建议。这是代码
<?php
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
class ArrayList
{
private $arrVar;
function __construct($option)
{
$this->arrVar = array();
array_push($this->arrVar,$option);
}
function addValue($option)
{
array_push($this->arrVar,$option);
}
function getLastValue()
{
$arr = array_pop($this->arrVar);
return $arr;
}
}
?>
答案 0 :(得分:2)
除了限制我可以在阵列上执行的操作之外,您的类实际上没有做任何其他事情。通常最好采用特定语言常用的习语,而不是试图使语言与您喜欢的其他语言相似。
答案 1 :(得分:1)
不知道这是否有帮助:
class MyArray {
private $my_array;
function __construct() {
$this->my_array = array();
}
public function setMyArray($value) {
$this->my_array = $value;
}
public function getMyArray() {
return $this->my_array;
}
public function getLastElement() {
$last_elem = array_reverse($this->getMyArray());
return $last_elem[0];
}
}
$myArr = new MyArray();
$a[] = "Hello"; // use this instead of array_push
$a[] = "World";
$myArr->setMyArray($a);
echo "My Array:<pre>".print_r($myArr->getMyArray(),true)."</pre><br />\n";
echo "Last Element: ".$myArr->getLastElement()."<br />\n";
$a[] = "Yet another element";
$myArr->setMyArray($a);
echo "My Array Again:<pre>".print_r($myArr->getMyArray(),true)."</pre><br />\n";
echo "Last Element Again: ".$myArr->getLastElement()."<br />\n";
输出:
My Array:Array
(
[0] => Hello
[1] => World
)
Last Element: World
My Array Again:Array
(
[0] => Hello
[1] => World
[2] => Yet another element
)
Last Element Again: Yet another element