|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
参加PHP开发学习,或许只是一次偶然的想法吧!只是想在走向社会之前体验、学习在一个公司或者说是项目团队之中如何去更有效的沟通、交流、共同合作,还有就是为毕业实习找工作增加伐码。对象 假如你在一个类中声明一个函数,定名为__construct,这个函数将被当做是一个机关函数并在创立一个对象实例时被履行。清晰地说,__是两个下划线。就像其它任何函数一样,机关函数能够有参数或默许值. 你可以界说一个类来创立一个对象并将其属性全放在一个语句(statement)中。
你也能够界说一个名为__destruct的函数,PHP将在对象被烧毁前挪用这个函数. 它称为析构函数.
承继是类的一个壮大功效。一个类(子类/派生类)可以承继另外一类(父类/基类)的功效. 派生类将包括有基类的一切属性和办法,并可以在派生类中加上其他属性和办法。你也能够覆写基类的办法和属性。就像前文中显示的,你可以用extends关头字来承继一个类。
你能够想晓得机关函数是若何被承继的。当它们和其它办法一同被承继时,他们不会在创立对象时被履行。
假如你需求这个功效,你需求用第二章提到的::运算符. 它答应你指向一块定名空间. parent指向父类定名空间,你可以用parent::__construct来挪用父类的机关函数。
一些面向对象言语在类以后定名机关函数。PHP的前几个版本也是如斯,到如今这类办法依然无效.也就是:假如你把一个类定名为Animal而且在个中创立一个定名也是Animal的办法,则这个办法就是机关函数.假如一个类的同时具有__construt机关函数和与类名不异的函数,PHP将把__construct看做机关函数。这使得用之前的PHP版本所写的类依然可使用. 但新的剧本(PHP5)应该利用__construct。
PHP的这类新的声明机关函数的办法可使机关函数有一个举世无双的称号,不管它地点的类的称号是甚么。如许你在改动类的称号时,就不需求改动机关函数的称号。
你能够在PHP中给机关函数一个像其它类办法一样的会见体例。会见体例将会影响从必定局限内实例化对象的才能。这答应完成一些固定的设计形式,如Singleton形式。
析构函数,相反于机关函数。PHP挪用它们来将一个对象从内存中烧毁。默许地,PHP仅仅释放对象属性所占用的内存并烧毁对象相干的资本。析构函数答应你在利用一个对象以后履行恣意代码来排除内存。
当PHP决意你的剧本不再与对象相干时,析构函数将被挪用. 在一个函数的定名空间内,这会产生在函数return的时分. 关于全局变量,这产生于剧本停止的时分. 假如你想明白地烧毁一个对象,你可以给指向该对象的变量分派任何其它值. 凡是将变量赋值勤为NULL或挪用unset。
上面的例子中,盘算从类中实例化的对象的个数. Counter类从机关函数入手下手增值,在析构函数减值。
一旦你界说了一个类,你可以用new来创立一个这个类的实例. 类的界说是设计图,实例则是放在拆卸线上的元件. New需求类的称号,并前往该类的一个实例。假如机关函数需求参数,你应该在new后输出参数。
class Counter
{
private static $count = 0;
function __construct()
{
self::$count++;
}
function __destruct()
{
self::$count--;
}
function getCount()
{
return self::$count;
}
}
//创立第一个实例
$c = new Counter();
//输入1
print($c->getCount() . "n");
//创立第二个实例
$c2 = new Counter();
//输入2
print($c->getCount() . "n");
//烧毁实例
$c2 = NULL;
//输入1
print($c->getCount() . "n");
?>
会有很多高手的鼓励,新手的支持,慢慢你劲头就十足,有更多的信心和兴趣去学。 |
|