我是OOP的新手,有一个一般性的问题。

想象一下,我有两个类:AddressBookContact。通讯录包含0-n个联系人。

您将getAllContactsFromAddressBook()方法放在哪里?

class AddressBook {
    private $addressBookId;

    function __construct($addressBookId) {
         $this->addressBookId = $addressBookId;
    }

    // HERE?
    // getAllContactsFromAddressBook() { ... }
}


class Contact {
    private $contactId;

    function __construct($contactId) {
         $this->contactId = $contactId;
    }

    function getContactDetails($contactId) { ... }

    // OR BETTER HERE?
    // getAllContactsFromAddressBook($addressBookId) { ... }
}

在这种情况下的最佳做法是什么?感谢您的解释!

最佳答案

我将AddressBook方法放到getAllContacts类中。

只需尝试阅读一下函数调用的样子

$addressBook = new AddressBook();
$addressBook->getAllContacts();

联系人属于地址簿,因此您要求地址簿给您他的联系人。

09-25 22:04