我能得到一个例子吗?

时间:2010-05-18 01:09:42

标签: php oop

$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;
}

2 个答案:

答案 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)