我想知道将参数传递给类而不是方法有什么好处.
在代码方面,这样做有什么好处:
$books = new Books($book_id,$book_name);
代替
$books = new Books; $books->setBook($book_id,$book_name);
谢谢!
解决方法
“通过课堂”不是一件事. new Foo($bar,$baz)正在实例化一个新对象,并将参数传递给构造函数方法:
class Foo { public function __construct($bar,$baz) { ... } }
将参数传递给常规方法和构造函数之间没有区别.唯一的区别是在实例化对象时调用构造函数,并且以后随时调用其他方法.
您应该将参数传递给构造函数,该构造函数在构造时需要对象.通常,这意味着您传递对象完全可用的参数.如果构造函数不喜欢参数,则它可以抛出异常,这意味着对象根本无法实例化.这可以保证对象处于已知的一致状态.相比:
$api = new FooAPI($id,$password); $api->doSomething(); $api = new FooAPI; // $api->setId($id); // $api->setPassword($password); $api->doSomething(); // Error! No id and password given
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。