$starcraft = array(
"drone" => array( "cost" => "6_0-",
"gas" => "192",
"minerals" => "33",
"attack" => "123",
)
"zealot" => array( "cost" => "5_0-",
"gas" => "112",
"minerals" => "21",
"attack" => "321",
)
)
我正在玩oop,我想使用类在这个数组中显示信息,但我不知道如何构造类来显示它。
这是我到目前为止所做的,我不知道从哪里开始。我应该使用二传手和吸气剂吗?
class gamesInfo($game) {
$unitname;
$cost;
$gas;
$minerals;
$attack;
}
答案 0 :(得分:5)
到目前为止你真的非常接近。
在OOP中,每个对象通常代表一个离散的概念。因此,您班级的更好名称是Unit
,因为它代表了游戏中的一个单元。例如:
class Unit {
var $name;
var $cost;
var $gas;
var $minerals;
var $attack;
function setName($name) {
$this->name = $name;
}
function getName() {
return $this->name;
}
}
请注意,此示例具有适当的实例变量(名称,成本等)以及name变量的getter / setter对。您想为其他实例变量添加更多的getter / setter对。
获得所有getter / setter后,可以通过以下方式实例化Unit
:
$zealot = new Unit();
$zealot->setName("Zealot");
$zealot->setAttack(321);
... etc.
您还需要了解构造函数,以便以这种方式实例化Unit
:
$zealot = new Unit("Zealot");
$zealot->setAttack(321);
您可以看到构造函数会在您实例化Unit
类的同时设置单元名称,从而为您提供一些快捷方式。
因此,要打印Unit
对象,您需要执行以下操作:
echo $zealot->getName();
编辑:像zerkms所说,OOP很复杂,我在这里描述的基本上是用类和对象编程。这只是OOP的开始。
答案 1 :(得分:0)