科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件PHP开发入门教程之面向对象

PHP开发入门教程之面向对象

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

PHP是弱变量的脚本语言,也就是说你无需先定义,这一点很灵活。也可以给予很大的自由度,但对于程序来说,自由并非好事。

作者:yoyibf 来源:blog 2007年10月21日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
成员变量,成员方法[成员函数],实例化,大家都知道了。

  但是我桌子虽然想变大,可是我还不知道桌子开始有多大啊,这可能吗,怎么办呢?

  接下来,我们隆重推出 构造函数 来拉。要说到构造函数啊,话多啊,就不多说了,他就是给我们桌子面和桌子腿确定大小的。

////////////////
class desktop{
 var $desktop;#桌子面;
 var $baluster;#桌子腿;
 function desktop(){
  $this->desktop = 100;
  $this->baluster = 100;
 }
 function move(){
  #....
 }
 function largen(){
  $this->desktop++;#放大桌子面
 }
}
////////////
看到了吧,我把桌子定义了大小和长度哦
//////////

  聪明的你,一定想立即实例化了吧,如果我开始在定义成员变量里就给值了,那不是说所有桌子都一样大吗?

//////////////
class desktop{
 var $desktop;#桌子面;
 var $baluster;#桌子腿;
 function desktop(){
  $this->desktop = 100;
  $this->baluster = 100;
 }
 function move(){
  #....
 }
 function largen(){
  $this->desktop++;#放大桌子面
 }
}
$d = new desktop;
$d->desktop();
////////////////////

  可是结果却是:Call to a member function desktop() on a non-object in

  倒霉,肯定是作者在骗点击,bs这小样,TT.

  其实是我错了,我知道错了。原来 我们刚才添加的函数

function desktop(){
 $this->desktop = 100;
 $this->baluster = 100;
}

  是个构造函数,什么是构造函数呢,哎呀,原来构造函数是类特有的函数,在类被实例化后,类会第一步自动执行构造函数,它在为类开辟内存单元嘛。

  为了验证是不是它一开始就执行,大家请把目光放到本教程第一个代码上去,嘎嘎,您看到了把,一个和类名一样的方法,一个构造函数,在我们实例化后就已经输出代码了吧,这就证明我还没有说错呢。

  好了,回到我们的桌子世界里,你发现了,我们这个时候所有桌子面和腿都是100了。

  2.php

  执行代码

//////////////
<?
class desktop{
 var $desktop;#桌子面;
 var $baluster;#桌子腿;
 function desktop(){
  $this->desktop = 100;
  $this->baluster = 100;
  echo "我们桌子家族命令大家把桌子面子都给我统一在".$this->desktop."大小!<br />";
 }
 function move(){
  #....
 }
 function largen(){
  $this->desktop++;#放大桌子面
  echo "7~,小桌子我今天改造了,不鸟你们拉,哈哈, 我现在面子可比你们大,我有".$this->desktop."嘎嘎";
 }
}
$d = new desktop;
$d->largen();
?>

  小桌子,逃离了桌子家族,因为,我们的面子没小桌子这nb大了。桌子老长老看不下去了,小样,看我的。

//////////////
<?
class desktop{
 var $desktop;#桌子面;
 var $baluster;#桌子腿;
 function desktop($desktop){
  $this->desktop = $desktop;
  $this->baluster = 100;
  echo "我们桌子家族命令大家把桌子面子都给我统一在".$this->desktop."大小!<br />";
 }
 function move(){
  #....
 }
 function largen(){
  $this->desktop++;#放大桌子面
  echo "7~,小桌子我今天改造了,不鸟你们拉,哈哈, 我现在面子可比你们大,我有".$this->desktop."嘎嘎";
 }
}
$d = new desktop;
$d->largen();
?>

  小桌子,左转转,右转转 看了半天,逛累了,觉得自己现在也进化了,该看看新同类了 于是;桌子变身执行后,发现......

/////
$d = new desktop(101);
////

  我tmd还是一张小桌子。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章