【www.gdgbn.com--面向对象编程】

在过去的一页我开始解释了面向对象的重要性和如何创建一个基本对象。在此及以后,我们会敲定许多细节。

类变量和能见度
在班级,我们首先确定我们的变数。在这种情况下,我们的第一个变量是$名称。方便的特点, PHP5 (不PHP4 )是增加能见度的控制。我们$名称变目前的能见度私有化。私人能见度意味着该变量只能可通过内部的方法的类(如setName和getName ) 。如果我们设置变量的可见市民,我们的变量可以访问外部(不包括方法) 。最后的能见度设置一个变量的保护,这意味着变量访问是有限的,家长和继承类,我们将在以后讨论。

在PHP4 ,公众是唯一的选择知名度和公共变量宣布使用无功而不是公众。让我们来看看如何变能见度工程,增加了$位置变量设置为公众能见度:

/* instantiate object */
$kirupa = new User;

/* access private variables via methods, then try without methods */
$kirupa->setName( "Kirupa" );
echo $kirupa->getName()."
"; // Kirupa
echo $kirupa->name."
";  // breaks our code

/* access public variables without methods will work */
$kirupa->location = "MIT";
echo $kirupa->location."
"; // MIT

class User {
 private $name;  // must be accessed with methods.
    // not available in PHP4
      
 public $location; // can be accessed without methods
    // var $location; in PHP4
 
 function setName( $val ) {
  $this->name = $val;
  return;
 }
 
 function getName() {
  return $this->name;
 }
}

因此,该变量的能见度你应该选择哪一个?答案是,它取决于。一般情况下,您应该利用私人罚款。私营企业是特别有用,因为它支持封装-能够隐藏数据,只有使它可以通过特定接口。在面向对象,一个接口代表的功能给特定的对象。

正如我们设置一个变量的知名度,我们也可以设定知名度的方法。默认情况下,如果我们不成立的知名度我们的方法,他们将被设置为公共。为了时间,我们将不会深入的例子不同的方法知名度。继续了解一个重要和有用的方法,构造。

注意:此为:在方法方面,我们提到级变量和使用其他方法$这一- “ 。这可以看出内setName和getName方法。 $这是一个预设的变量时创建实例,使一个对象引用本身。

请注意有关命名约定:虽然成立[ PropertyName ]和
获得[ PropertyName ]很受欢迎的方法,因为它们的名字很容易理解,他们并不需要。您可以名称这些方法无论你想要的。

构造方法
现在是一个很好的时间来看看构造方法。该构造是一个方法,将自动被运行时对象实例。在PHP5 ,我们的方法称为“魔术方法” (即__construct , __destruct ,和其他一些) ,其中从两个底线。在PHP4 ,构造方法将得到相同的名称的阶级本身。因此,在PHP4 ,如果我们有一类名为用户,我们的构造方法也将被命名用户(不__construct ) 。记住,你不必调用构造方法明确,因为它会自动运行一个实例时,该类别建立。这里有一个构造中的行动:

$kirupa = new User;
echo $kirupa->getJob()."
"; // Engineer

class User {
 private $job;
 
 function __construct() { // function User() in PHP4
  $this->job = "Engineer";
 }
 
 /* job methods */
 function getJob() {
  return $this->job;
 }
}

现在,你可能会开始看到的好处之一对象-许多代码在于背景。我们可以包括文件包含我们的班级隐藏重型代码甚至更多。由于命名约定的类和方法是相当自我解释,我们不会需要不断回顾我们列入档案。继续阅读,了解如何,我们可以用阵列来加快我们的进程。

本文来源:http://www.gdgbn.com/jsp/16984/