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

PHP面向对象编程

难度初级
时长 3小时14分
学习人数
综合评分9.67
292人评价 查看评价
9.9 内容实用
9.7 简洁易懂
9.4 逻辑清晰
  • 1、析构函数,在程序执行结束的时候会自动调用 2、析构函数通常被用于清理程序使用的资源 2、通过把变量设置为null,可以触发析构函数的调用
    查看全部
  • 如何访问类的属性值 $cls = new ClassName(); $cls->attr;
    查看全部
  • 把生活中需要解决的问题都用对象的方式(属性和方法)进行存储,
    查看全部
  • 1.静态属性用于保存类的公有数据 2.静态方法里面只能访问静态属性 3.静态成员不需要实例化对象就能访问 4.类的内部可以通过 self 或者 static 关键字访问自身静态成员 5.可以通过 parent 关键字访问父类的静态成员 6.可以通过类的名称在类定义外部访问静态成员
    查看全部
  • 什么是对象
    查看全部
  • 调用clone时自动调用__clone()方法 $james = new NbaPlayer(); //$ja0 对应内存地址(假设为 address0 )中存储的是 james对象的标识符 $james2 = clone $james; //当希望生成一个真正独立存储的 NbaPlayer() 对象,但新对象的 所有数据 都和 $james 对象中的 相同时,使用关键字 clone 当class NbaPlayer()中定义了 __clone()方法 后,使用clone关键字时,系统将调用 用户定义的__clone()方法 (此时可以对clone 后生成的新对象的属性进行修改) 想改变一个对象,但是又不想影响源对象,使用clone __clone()方法的使用。__clone()在 clone一个new的变量时 希望和clone过来的初始值不一样可以用这个函数在下面$this->name = "tbd";去实现克隆后的初始值不一样的效果。 魔术方法__clone()可以自定义复制后对象的属性初期值,使被复制的对象的一些属性不被复制过去。 使用&指向同一个堆栈空间,实际上还是一个对象,直接赋值就变成了两个对象,但是一个属性值改变时另外属性值也会发生改变,如果用clone进行复制的话,两个对象之间操作不受任何干扰,相互完全独立。 0.对象复制可以通过 clone 关键字来完成 1.当对象复制完成时,如果定义了 __clone() 方法,则复制生成的对象中的 __clone() 方法会被调用,可用于修改属性的值 1.$jame1= clone $jame; 2.$jame1不想复制$jame的所有内容,可以在$jame内使用魔术变量__clone() 在这里面可以自定义修改克隆的内容 $obj1 = $ojb; 不能实现对象复制,两个对象变量指向同一对象 $obj1 = clone $obj; 实现对象复制,变成值相同的两个对象 调用clone时自动调用__clone()方法
    查看全部
  • 1.parent关键字 可以可用于 调用父类中 被子类重写的方法 2.self关键字 可以用于访问 类自身的 成员方法,静态成员(静态属性+静态方法) 和 类常量;但 不能用于 访问类自身的 非静态属性(非静态属性 会根据 不同的对象的赋值 而不同,非静态方法 不存在这个问题)!!! self 在 使用常量时 不需要在 常量const名称 前面添加$符号 3.static::关键字用于访问类自身定义的静态成员,访问静态属性时 需要在属性 前面 添加$符号。 4.常量属性const 不能使用对象访问,仅能使用类访问,在类本体内 可以使用“self::常量名”,在类本体外 可以使用“类名::常量名”
    查看全部
  • 接口就是把不同类的共同行为进行定义,然后再不同的类里面实现不同的功能 、interface关键字用于定义接口,接口里面的方法不需要有方法的实现 2、implements关键字用于表示类实现某个接口 3、实现了某个接口之后,必须提供接口中定义的方法的具体实现 4、不能实例化接口 5、利用instanceof关键字来判断某个对象是否实现了某个接口 6、可以用extends让接口继承接口 7、当类实现子接口时,父接口定义的方法也需要在这个类里面具体实现 8、类的方法必需有实现,接口的方法必需为空 9. 可以用instanceof关键字来判断某个对象是否实现了某个接口 var_dump(变量 insranceof 接口) 10. interface 接口名{ function eat($food){} } class 类名 implements 接口名 {} http://img1.sycdn.imooc.com//587895670001080212800720.jpg 可以用instanceof关键字来判断某个对象是否实现了某个接口,例:$obj instanceof eat,这个表达式返回bool型; http://img1.sycdn.imooc.com//582844b900018c6e12800720.jpg 可以用extends继承父接口,当implements某子接口时,要同时实现父接口的方法。 http://img1.sycdn.imooc.com//578e103d00013f4d12800720.jpg
    查看全部
  • 类的概念: 物以类聚,把具有相似特性的对象对垒到一个类中 类定义了这些相似对象拥有的相同的属性和方法 类是相似对象的描述,成为类的定义,是该类对象的蓝图或者原型 类的对象称为一个类的实例 类的属性和方法统称为类成员 [ 查看全文 ]
    查看全部
  • static保存的是类的全局的公有的属性,是不需要创建对象就能够访问的,在静态的方法内部是不可以访问非静态的属性的 在静态方法内除了static::$属性;可以访问到静态属性外,还有static::$属性;也可以访问到 注:想要访问到静态属性有两种方法 1,在类的内部就只能在静态方法内用static::$属性或者self::$属性发访问到。 在子类中访问父类的静态的属性,也是在子类中的静态方法内用parent::$属性; 2,在类的外部,不需要对象去调用而是用“类名::$属性”就可以访问到了
    查看全部
  • 抽象类使用abstract定义,abstract里的方法在其子类中可以直接使用不需要定义 子类使用extends继承
    查看全部
  • 对象是可重复使用用来完成特定功能的唯一特定事物
    查看全部
  • __autoload(); 当实例化一个不存在的类时,自动调用此函数. 通过定义这个函数来启用类的自动加载。 function __autoload($class_name) { $path = str_replace('_', '/', $class_name); require_once $path . '.php'; } // 这里会自动加载Http/File/Interface.php 文件 $a = new Http_File_Interface(); serivalize 串行化:返回一个包含字节流的字符串 unserivalize 反串行化:重新把字符串变回php原来的值。 对象、数组都可以串行化。 串行化serialize可以把变量包括对象,转化成连续bytes数据. 可以将串行化后的变量存在一个文件里或在网络上传输. 然后再反串行化还原为原来的数据. 在反串行化类的对象之前定义的类,PHP可以成功地存储其对象的属性和方法. 有时你可能需要一个对象在反串行化后立即执行. 为了这样的目的,PHP会自动寻找__sleep和__wakeup方法. 当一个对象被串行化,PHP会调用__sleep方法(如果存在的话). 在反串行化一个对象后,PHP 会调用__wakeup方法. 这两个方法都不接受参数. __sleep方法必须返回一个数组,包含需要串行化的属性. PHP会抛弃其它属性的值. 如果没有__sleep方法,PHP将保存所有属性. 在程序执行前,serialize() 函数会首先检查是否存在一个魔术方法 __sleep.如果存在,__sleep()方法会先被调用, 然后才执行串行化(序列化)操作。这个功能可以用于清理对象,并返回一个包含对象中所有变量名称的数组。如果该方法不返回任何内容,则NULL被序列化,导致 一个E_NOTICE错误。与之相反,unserialize()会检查是否存在一个__wakeup方法。如果存在,则会先调用 __wakeup方法,预先准备对象数据。 __sleep方法常用于提交未提交的数据,或类似的操作。同时,如果你有一些很大的对象, 不需要保存,这个功能就很好用。__wakeup经常用在反序列化操作中,例如重新建立数据库连接,或执行其它初始化操作。
    查看全部
    1 采集 收起 来源:课程总结

    2017-02-11

  • OOP基本原则 对象内部高内聚 对象只负责一项特定的职能(职能可大可小) 所有对象相关的内容都封装到对象内部 对象外部低耦合 外部世界可以看到对象的一些属性(并非全部) 外部世界可以看到对象可以做某些事情(并非全部)
    查看全部
  • PHP类的继承: 1.【子类】可以通过$this 【访问父类的属性】 2.【子类的对象】可以直接【调用父类的方法和属性】 3.PHP的单继承特性:类不允许同时继承多个父类(extends后面只能跟一个父类名称)
    查看全部

举报

0/150
提交
取消
课程须知
1、本门课程是立志想成为优秀程序员的必修课 2、基本概念部分适合所有人学习 3、实践部分则需要有基本的PHP知识,这样会更加有利于你对面向对象的理解和掌握
老师告诉你能学到什么?
1、面向对象的基本概念 2、面向对象的基本思路 3、面向对象的基本原则 4、类的概念和PHP实践 5、继承的概念和案例实践 6、接口的概念和案例实践 7、多态的概念和案例实践 8、PHP中的魔术方法基本实践

微信扫码,参与3人拼团

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

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