$starcraft = array(
"drone" => array( "cost" => "6_0-",
"gas" => "192",
"minerals" => "33",
"attack" => "123",
)
"zealot" => array( "cost" => "5_0-",
"gas" => "112",
"minerals" => "21",
"attack" => "321",
)
)
Run Code Online (Sandbox Code Playgroud)
我正在玩oop,我想使用类在这个数组中显示信息,但我不知道如何构造类来显示它.
这是我到目前为止所做的,我不知道从哪里开始.我应该使用二传手和吸气剂吗?
class gamesInfo($game) {
$unitname;
$cost;
$gas;
$minerals;
$attack;
}
Run Code Online (Sandbox Code Playgroud)
到目前为止你真的非常接近.
在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;
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,此示例具有适当的实例变量(名称,成本等)以及名称变量的getter/setter对.您想为其他实例变量添加更多getter/setter对.
一旦你拥有了所有的getter/setter,你就可以Unit通过这样做来实例化:
$zealot = new Unit();
$zealot->setName("Zealot");
$zealot->setAttack(321);
... etc.
Run Code Online (Sandbox Code Playgroud)
您还需要了解构造函数,以便以Unit这种方式实例化:
$zealot = new Unit("Zealot");
$zealot->setAttack(321);
Run Code Online (Sandbox Code Playgroud)
您可以看到构造函数会在您实例化Unit类的同时设置单元名称,从而为您提供一些快捷方式.
所以要打印一个Unit对象,你可以这样做:
echo $zealot->getName();
Run Code Online (Sandbox Code Playgroud)
编辑:像zerkms所说,OOP很复杂,我在这里描述的基本上是用类和对象编程.这只是OOP的开始.