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

PHP-面向对象

难度初级
时长 2小时30分
学习人数
综合评分9.50
54人评价 查看评价
9.7 内容实用
9.8 简洁易懂
9.0 逻辑清晰
  • interface Ia

    interface Ib

    interface AB extends Ia, Ib - 继承

    class Test implements AB - 实现

    查看全部
  • 查看全部
  • 2-4 类的自动加载


    建议 命名空间 + 类名 = 类文件路径


    当 属性或方法被定义为 static 时,这个属性或方法就成了类的属性或类的方法,并不属于对象的属性或方法。



    查看全部
    0 采集 收起 来源:类的自动加载

    2019-06-02

  • 2-3 命名空间

    常量定义 - const 和 define 的区别

    define 定义的常量是全局的,不受命名空间影响; 如果要定义受命名空间影响的常量,就要使用 const 。 


    以下类型会受到命名空间的影响:

    类(包括抽象类、traits)、接口、函数和常量


    use 关键词 - 导入

    use ... as ... 关键词 - 导入 & 使用别名

    use - 导入类

    use function ... - 导入函数

    use const ... 导入常量


    namespace index;

    include '3.php';

    var_dump(new \Test1());

    备注: \ 反斜杠表示全局空间



    查看全部
    0 采集 收起 来源:命名空间

    2019-06-02

  • this是对象,parent和self是类,self是自身这个类,parent是父类,static是上下文中的当前类,不知道这样理解对不对。

    查看全部
    0 采集 收起 来源:后期静态绑定

    2019-05-23

  • <?php

    class test1{

    public static function __callStatic($model,$arga)

    {

    echo $model."<br />";

    print_r($arga);

    }

    }

    test1::go(1,'ok');


    echo "<hr />";

    class A{

    public function go()

    {

    echo  'gogogogog....';

    }

    }

    function test(A $a)

    {

    $a->go();

    }

    test(new A());


    echo "<hr /> 单例模式:";

    class Test{

    private static $_instance = null;


    private function __construct()

    {


    }


    private function __clone()

    {


    }


    public static function getInstance()

    {

    if(!(self::$_instance instanceof self)){

    self::$_instance = new self();

    }

    return self::$_instance;

    }

    }

    $test1 = Test::getInstance();

    $test2 = Test::getInstance();

    $test3 = Test::getInstance();

    var_dump($test1);

    var_dump($test2);

    var_dump($test3);


    echo "<hr /> 工厂模式:便于底层类的批量修改";

    class Redis

    {

    public function set(){}

    public function get(){}

    }

    class Cache

    {

    public static function factory()

    {

    return new Redis();

    }

    }

    $Cache = Cache::factory();

    var_dump($Cache->set());

    echo "<hr />";

    ?>

    final 不被继承的,可以放到类或者方法的前面。


    全局空间的类,前面加上"\"。(use \Test1;)


    __autoload 当未找到引入的类,则会自动实现实例化类名的路由。


    spl_autoload_register(function($className){

    require str_replace("\\","/",$className . '.php');

    });

    替代__autoload自动加载类的方法。


    当为类里面的属性加上“static”关键字后,可以直接通过类名调用。


    类的后期静态绑定:子类中有父类的同名函数,继承之后,若想调用子类的同名函数,则父类的方法加“static::who()”。


    魔术方法:

    __set();__get();

    __isset();判断私有属性(private)是否存在。

    __unset();删除私有属性。

    __call();调用的方法不存在时,自动调用此方法。

    __callStatic();当发现调用的静态方法不存在时,则自动调用此方法。

    __invoke();将对象以函数方式调用。test('go...');

    __toString();直接打印对象函数。echo(test);

    __clone();将浅拷贝,变成深拷贝。

    PHP中对象的赋值是浅拷贝。深拷贝用clone。


    trait类,可以用use方法调用。


    interface接口类,不实现方法。


    abstract抽象类,既可以定义接口,又可以实现方法。


    单例模式和工厂模式:

    单例模式同一个类,不用被实例化多次,从而节省内存。

    查看全部
  • 1、类常量:const

    2、调用类常量:self::

    3、$this是对象

    4、self是类本身

    查看全部
  • 常量一经定义不可更改

    查看全部
  • 面象对象
    查看全部
  • 谢谢老师
    查看全部
  • 不同类中,同名方法可以存在

    查看全部
    0 采集 收起 来源:类的自动加载

    2019-03-21

  • 有两个下划线“__”表示php内置的函数

    查看全部
    1 采集 收起 来源:类的自动加载

    2019-03-11

  • 当子类方法与父类同名,子类是会覆盖父类的方法。

    当子类没有构造方法时,会去调用父类的构造方法,当子类有自己的构造方法,就会调用自己的构造方法。

    查看全部
  • 基本的类和对象讲解演示,刚好和之前看过的PHP入门篇内容相结合,更有助于理解,生动通俗,很不错的教学视频。

    查看全部
  • 浅拷贝: 变量之间是地址传递的。
    查看全部

举报

0/150
提交
取消
课程须知
学习该课程需要熟悉PHP语法基础,了解PHP的基本使用
老师告诉你能学到什么?
1 对象的基本概念 2 什么是面向对象思想 3 面向对象的特性和规则 4 如何使用面向对象

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!