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

PHP面向对象编程

难度初级
时长 3小时14分
学习人数
综合评分9.67
292人评价 查看评价
9.9 内容实用
9.7 简洁易懂
9.4 逻辑清晰
你要写一个类 然后才能创建对象 你们没写类 怪不得没有对象
接口的意义?类的里面都是要实现方法的,使用接口岂不是多此一举?

已采纳回答 / 晚安sp
举个简单的例子,当类里面没有属性$name; 但是你不小心访问这个属性,这个时候就会出错。但是让你可以设置魔术方法__get($name){ return $name . "不存在"};就会自动调用__get($name);这样程序就会不因为你访问了一个不存在的属性报错而中断执行 
老师讲的不错 。。就是析构函数如何被调用,纯英文讲的太快了,对比的不太清晰。
析构函数内部改成 echo $this->name . "对象被结束调用,调用析构函数__destruct" . "\n";
对比语句改成 echo '在此语句前析构函数是对象被结束调用引发的,此语句后显示的是程序结束后调用的';
这样会一目了然。
__call($name,$arguments);$name时方法名称,$argument是数组。当对象访问不存在的方法名称时,会自动调用
__callStatic($name,$arguments);$name时方法名称,$argument是数组。当对象访问不存在的静态方法时,会自动调用
如果不设置该魔术方法,调查不存在的方法将会报错
这是overloading覆盖,不是overwrite重写
__call($name,$arguments);$name时方法名称,$argument是参数。当对象访问不存在的方法名称时,会自动调用
__callStatic($name,$arguments);$name时方法名称,$argument是参数。当对象访问不存在的静态方法时,会自动调用
如果不设置该魔术方法,调查不存在的方法将会报错
这是overloading覆盖,不是overwrite重写
__tostring 当对象被当做字符串使用时自动调用
__invoke 当对象被当做方法是使用时自动调用

如果没设置该魔术方法,则对象无法被idangzuo字符串和方法调用
接口,抽象类,类哪里的差别说的太好了,突然就明白了,也明白为什么需要抽象类和接口,什么情况下使用!
一个方法可以多种具体实现,这就是多态!这也是接口的特点
接口:
1.方法不具体实现
2.定义接口为interface关键字
3.类使用接口为implement关键字
4.接口可以继承接口

一般多个类有相同的方法,但是每个类的这个方法的具体实现不同,此时就接口的使用就很合理恰当。
接口:
1.方法不具体实现
2.定义接口为interface关键字
3.类使用接口为implement关键字
4.接口可以继承接口
什么情况下使用接口?
一般多个类有相同的方法,但是每个类的这个方法的具体实现不同,此时就接口的使用就很合理恰当。
了解概念很重要,不然实际操作的时候,思路很乱

最赞回答 / 伊兮尘昔
类是抽象的,对象是实体的。举个例子,狗就是一个类,因为它是一个抽象的;那么哈士奇就是对象,因为它是狗里面的一种,一种实物。
与C++、Java思想毫无异点,Java无析构函数,全部由java虚拟机的自动垃圾回收机制负责对不再使用的引用进行统一回收
简单粗暴,我喜欢!

最新回答 / 甜心先生
_call()方法不存在时调用,至于你想做什么,把逻辑写入里面即可,__set()和__get()是在属性不存在时,
课程须知
1、本门课程是立志想成为优秀程序员的必修课 2、基本概念部分适合所有人学习 3、实践部分则需要有基本的PHP知识,这样会更加有利于你对面向对象的理解和掌握
老师告诉你能学到什么?
1、面向对象的基本概念 2、面向对象的基本思路 3、面向对象的基本原则 4、类的概念和PHP实践 5、继承的概念和案例实践 6、接口的概念和案例实践 7、多态的概念和案例实践 8、PHP中的魔术方法基本实践

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消