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

PHP进阶篇

Jason PHP开发工程师
难度初级
时长 9小时28分
学习人数
综合评分8.90
570人评价 查看评价
9.3 内容实用
8.8 简洁易懂
8.6 逻辑清晰
这函数命名规则我也是服
得有面向对象的基础,才能看懂
echo sprintf("%6f", $str); 添三个0总共就是6位,直接这么写也是对的,这样就更好理解了。
class Car{
//在这里定义一个共有属性name
public $name='aaa';
}
$car = new Car();
//在这里输出$car对象的name属性
echo $car->name;
<?php
//定义一个Car类并实例化一个对象
class Car{
public $name='汽车';

public function getName(){

$car=new car();
return $this->name;
}

}
啃完JS后,啃PHP很舒服,再用PHP跟JS对比开阔了视野
教程所给答案实为间接调用父类speedUp函数,在此基础加50赋值给speed,这样根本不是题目要求的覆盖,使速度累加50
我个人认为,根据题意要覆盖speedUp
public function speedUp(){
$this->speed+=50;
return $this->speed;
}
但答案说结果为60实在不能理解,在答案区也见不到此类回答。百度一下PHP的覆盖方法
所谓覆盖,从本质上来说就是重写。就是当子类继承父类的一些方法后,子类又在其内部定义了相同的方法,则这个新定义的方法会覆盖继承而来的父类的方法,子类只能调用其内部定义的方法。
要求:当一个父类和子类有一个方法,参数和名字完全一致,那么子类方法会覆盖父类的方法。
综上,我觉得我这种做法才是实现了覆盖.
__construct__destruct__set,__get,__isset,__unset等方法在 PHP 中被称为"魔术方法.
静态是static 动态是。。。。
这你都能通过,无法直视你的双眸!
<?php
class Car {
public $speed = 0;
public function speedUp() {
$this->speed += 10;
return $this->speed;}}
class Truck extends Car{
public function speedUp(){
parent::speedUp();
$this->speed+=50;}}
$car = new Truck();
$car->speedUp();
echo $car->speed;
已经完全看不懂了
应该是这么理解的:
因为protected function speedUp() 是protected的,所以后面调用这个受保护的方法speedUp时,不需要像左边的例子那样用静态方法static;所以便是 public function start();也因为是protected不是prvate的,方法的里面就不是用"::"而是用"->",只有方法本身是静态的方法才需要用双冒号
课程须知
需要有一定的网页基础知识如HTML、CSS样式等,并且已经学习完成《PHP入门篇》对PHP已经有了简单的了解,如变量、常量、数据类型等。
老师告诉你能学到什么?
全面的掌握PHP的理论知识与实践中的应用方法,提高编程能力与掌握网页开发技能。

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消