我对OOP很新,并且有一个普遍的问题.
想象一下,我有两个课程:AddressBook和Contact.地址簿包含0-n个联系人.
你会把方法放在哪里getAllContactsFromAddressBook()?
class AddressBook {
private $addressBookId;
function __construct($addressBookId) {
$this->addressBookId = $addressBookId;
}
// HERE?
// getAllContactsFromAddressBook() { ... }
}
Run Code Online (Sandbox Code Playgroud)
和
class Contact {
private $contactId;
function __construct($contactId) {
$this->contactId = $contactId;
}
function getContactDetails($contactId) { ... }
// OR BETTER HERE?
// getAllContactsFromAddressBook($addressBookId) { ... }
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,最佳做法是什么?谢谢你的解释!
我会在内部类中放入AddressBook方法getAllContacts.
试试看看函数调用的样子
$addressBook = new AddressBook();
$addressBook->getAllContacts();
Run Code Online (Sandbox Code Playgroud)
联系人属于地址簿,因此您要求地址簿为您提供联系人.