为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第17天--PHP面向对象编程第三章节面向对象的基本实践

标签:
PHP

课程名称:PHP面向对象编程

课程章节:
3-5 析构函数-php面向对象编程
3-6 对象引用的基本概念-php面向对象编程
3-7 本章小结
课程链接

主讲老师:Peter

课程内容

讲解了析构函数的用法,并且结合了上节所说的构造函数,一起讲述了他俩的作用。对象引用实际上讲解的是PHP中的引用传递和值传递的概念。

课程收获

一、析构函数

PHP 拥有类似于其他面向对象语言(例如 C++)的析构函数概念。析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行。

和构造函数一样,父类的析构函数不会被引擎暗中调用。要执行父类的析构函数,必须在子类的析构函数体中显式调用 parent::__destruct()。此外也和构造函数一样,子类如果自己没有定义析构函数则会继承父类的。

析构函数即使在使用 exit() 终止脚本运行时也会被调用。在析构函数中调用 exit() 将会中止其余关闭操作的运行。

<?php

class NbaPlayer
{
    // 定义属性
    public $name = "JorDan";
    public $height = "198cm";
    public $weight = "98kg";
    public $team = "Bull";
    public $playerNumber = "23";


    function __construct($name, $height, $weight, $team, $playerNumber)
    {
        echo "In NbaPlayer constructor\n";
        $this->name = $name;
        $this->height = $height;
        $this->weight = $weight;
        $this->team = $team;
        $this->playerNumber = $playerNumber;
    } 

    function __destruct()
    {
        echo "Destroying". $this->name . "\n";
    }

    // 定义方法
    public function run()
    {
        echo "Running\n";
    }

    public function jump()
    {
        echo "Jumping\n";
    }

    public function dribble()
    {
        echo "Dribbling\n";
    }

    public function shoot()
    {
        echo "Shooting\n";
    }

    public function dunk()
    {
        echo "Dunking\n";
    }

    public function pass()
    {
        echo "Passing\n";
    }
}

// 类的实例化
$james = new NbaPlayer("James","203cm","120kg","Heat","6");
echo $james->name."\n";
echo "From now on James will not be used.\n";


二、对象引用的基本概念

对象引用使用&,实际上用的就是引用传递和值传递概念

值传递:函数范围内对值的任何改变在函数外部都会被忽略
引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改

优缺点

按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。
按引用传递则不需要复制值,对于性能提高很有好处。

课程截图

图片描述
图片描述

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消