为什么我注释掉了这两行代码这个结果都还没有变?

来源:2-5 PHP类和对象之构造函数和析构函数

Meskjei

2016-07-13 23:39

<?php

class nbaPlayer{

   // public $name;

//public $team;

function __construct($name,$team){

$this->name = $name;

$this->team = $team;

}

public function name(){

echo "球员名:".$this->name."\n";

}

public function team(){

echo "球队名:".$this->team."\n";

}

}

$James = new nbaPlayer('James','Cavaliers');

$James->name();

$James->team();

?>

为什么我把最上面的两个属性注销掉与没注销的结果一致,哪位大神能解释一下这每行代码的意思,感激不尽。

写回答 关注

1回答

  • 驿路梨花开
    2016-07-14 09:50:38
    已采纳

    $James = new nbaPlayer('James','Cavaliers');

    初始化一个nbaPlayer类的实例James,并且调用构造函数给James的属性name、team赋值

    $James->name();

    调用name()函数

    $James->team();

    调用team()函数

    关于注释的两行,我觉得应该是构造函数的时候自动添加了属性。但是我觉得应该把这两句加上,应为属性是有类型的。

    另外构造函数最好给属性赋值,这样参数可以变成可选。

    为了依然可以不带参数地使用类,所有构造函数的参数应该提供默认值

    建议看下官方文档:

    http://php.net/manual/zh/oop4.constructor.php



    Meskje...

    非常感谢!

    2016-07-14 22:39:20

    共 1 条回复 >

PHP进阶篇

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

181734 学习 · 2575 问题

查看课程

相似问题