为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
PHP面向对象编程_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

PHP面向对象编程

Peter 其它
难度初级
时长 3小时14分
  • 析构函数在程序跑完之后自动调用,设置变量为空可出发析构函数
    查看全部
  • 析构函数自发调用
    查看全部
  • __clone()方法的使用。__clone()在 clone一个new的变量时 希望和clone过来的初始值不一样可以用这个函数在下面$this->name = "tbd";去实现克隆后的初始值不一样的效果。 魔术方法__clone()可以自定义复制后对象的属性初期值,使被复制的对象的一些属性不被复制过去。
    查看全部
  • static(静态)关键字
    查看全部
  • __call():当对象访问不存在的方法名称时,__call()方法会被自动调用 __callStatic():当对象访问不存在的静态方法名称时,__callStatic()方法会被自动调用 __set():在给不可访问属性赋值时,__set()会被调用 定义function __set($name,$value) __get():读取不可访问属性的值时,__get()会被调用 定义function __get($name) __isset():当对不可访问属性调用isset()或empty()时,__isset()会被调用 __unset():当对不可访问的属性调用unset()时,__unset()会被调用 所谓不可访问属性,实际上就是在调用某个属性时发现这个属性没有被定义,这时候不同的操作会触发不同的魔术方法 这几个方法也被成为属性重载的魔术方法 __clone():obj1 = clone $obj; 实现对象复制,变成值相同的两个对象 调用clone时自动调用__clone()方法-自定义复制哪些属性。
    查看全部
  • 1.__call()方法:当对象访问不存在的方法名称时,此方法自动调用。 ①调用示例:public function __call($name,$argument){} ②注意:访问控制关键字必须为public;必须有两个参数:对象访问的方法名称($name)、方法包含的参数($argument,数组)。 2.__callStatic()方法:当对象访问不存在的方法名称时,此方法自动调用。 ①调用示例:public static function __callStatic($name,$argument){}<br> ②注意:同1-②;此方法为静态方法(static)。 3.这两种方法也被称为方法的重载。通过这两个方法,同一个方法的调用可以对应不同的方法的实现(同一个方法的静态调用、动态调用对应不同的方法实现)
    查看全部
  • 魔术方法 __construct 在使用new关键字的时候触发 __destruct 在销毁对象的时候 __get 在获取没有权限访问或者不存在的成员属性的时候 __set 在设置没有权限访问或者不存在的成员属性的时候 __isset 在用isset或者empty检测一个没有权限或者不存在的成员属性的时候 __unset 在用unset删除一个没有权限或者不存在的成员属性的时候 __call 调用一个没有权限访问或者不存在的方法的时候 __callStatic 调用一个没有权限访问或者不存在的静态方法的时候 自己也必须是一个静态的方法 __toString 将对象当做字符串输出的时候 必须返回一个字符串 __invoke 将对象当做函数调用的时候 __sleep 使用serialize串行化对象的时候 __wakeup 使用unserialize反串行化的时候 __clone 使用clone关键字克隆对象的时候 __autoload 在实例化一个当前脚本不存在的类的时候(补救措施) 可以在这个方法里面用include包含类文件(命名一定要规范)
    查看全部
  • __tostring()当对象被当作String使用时,这个方法会被自动调用(需要在类中定义__tostring()方法) 调用 echo $object __invoke()当对象被当作方法调用时,这个方法会被自动调用(需要在类中定义__invoke()方法) 调用 $object($parameter)
    查看全部
  • 1.abstract关键字用于定义抽象类 2.在抽象方法前面添加abstract关键字可以标明这个方法是抽象方法不需要具体实现{} 3.抽象类中可以包含普通的方法,有方法的具体实现。 4.继承抽象类的关键字是extends 5.继承抽象类的子类需要实现抽象类中定义的抽象方法
    查看全部
  • 因为接口的方法实现可以有很多,所以对于接口里面定义的方法具体实现是多种多样的,这种特性我们称之为多态。 -比如接口A有两个实现B和C,B和C对A立面定义的方法的实现可以是不同的,这种现象就是多态。
    查看全部
  • 1、interface关键字用于定义接口,接口里面的方法不需要有方法的实现 2、implements关键字用于表示类实现某个接口 3、实现了某个接口之后,必须提供接口中定义的方法的具体实现 4、不能实例化接口 5、利用instanceof关键字来判断某个对象是否实现了某个接口 6、可以用extends让接口继承接口 7、当类实现子接口时,父接口定义的方法也需要在这个类里面具体实现 8、类的方法必需有实现,接口的方法必需为空
    查看全部
  • php 5之前不支持。 1.子类中定义与来自继承的一样的function名,会重写(overwrite)父类中的function。 2.如若不希望上述function不被重写(overwrite),可在function前面加上'final'关键字。 3.如若final加在定义类前面时,则该类就不能被继承了。
    查看全部
  • override是覆盖,overwrite是重写,覆盖是子类和父类的函数名称和参数都必须相同,重写是函数名称相同,参数有相同和不同之分。
    查看全部
  • 试一试
    查看全部
  • 面向对象访问控制: public 不受限 在任何地方都可以访问 protected 本类及子类的类内部进行访问(类外部无法访问 出了类的大花括号即为外部) private 只被本类内部访问(类外部及子类内部都无访问权)
    查看全部

举报

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

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