PHP学习记录之面向对象(Object-oriented programming,(2)

  • 封装 − 封装是指将现实世界中存在的某个客体的属性与行为绑定在一起,并放置在一个逻辑单元内。
  • 构造函数 − 主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。
  • 析构函数 − 析构函数(destructor) 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做"清理善后" 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。
  • 接下来,咱们通过通过 Car 类 创建了三个对象,Mercedes, Bmw, 和 Audi ,看下代码:

    $mercedes = new Car ();
    $bmw = new Car ();
    $audi = new Car ();
    
    

    看了代码是不是一脸懵,不要紧,咱们看下图片感受下:

    到了这里呢,咱们对于对象有了一个简单的认知了已经,接下来咱们就看下这个类,PHP 定义类通常语法格式如下:

    <?php
    class phpClass {
     var $var1;
     var $var2 = "constant string";
     function myfunc ($arg1, $arg2) {
       [..]
     }
     [..]
    }
    ?>
    
    

    来看下文字解析:

    • 类使用 class 关键字后加上类名定义。
    • 类名后的一对大括号({})内可以定义变量和方法。
    • 类的变量使用 var 来声明, 变量也可以初始化值。
    • 函数定义类似 PHP 函数的定义,但函数只能通过该类及其实例化的对象访问。

    来看下实例:

    <?php
    class Site {
     /* 成员变量 */
     var $url;
     var $title;
     /* 成员函数 */
     function setUrl($par){
       $this->url = $par;
     }
     function getUrl(){
       echo $this->url . PHP_EOL;
     }
     function setTitle($par){
       $this->title = $par;
     }
     function getTitle(){
       echo $this->title . PHP_EOL;
     }
    }
    ?>
    
    

    当类创建后,我们可以使用 new 运算符来实例化该类的对象,如下:

    $luyaran = new Site;
    $cuijinpeng = new Site;
    
    

    通过以上代码,我们已经创建了两个对象,并且两个对象各自都是独立的,接下来我们来看看如何访问成员方法与成员变量。

    首先,在实例化对象后,我们可以使用该对象调用成员方法,该对象的成员方法只能操作该对象的成员变量,如下:

    // 调用成员函数,设置标题和URL
    $luyaran->setTitle( "luyaran" );
    $cuijinpeng->setTitle( "cuijinpeng" );
    $luyaran->setUrl( 'www.luyaran.com' );
    $cuijinpeng->setUrl( 'www.cuijinpeng.com' );
    // 调用成员函数,获取标题和URL
    $luyaran->getTitle();
    $cuijinpeng->getTitle();
    $luyaran->getUrl();
    $cuijinpeng->getUrl();
    
    
          

    内容版权声明:除非注明,否则皆为本站原创文章。

    转载注明出处:http://www.heiqu.com/3842.html