У меня есть класс с именем «Сотрудник».Внутри класса есть метод с именем getAgentsByHierarchy, который возвращает массив всех агентов с их соответствующим ID и некоторой другой информацией.
Array{
[0] => Array{
[0] => code
[1] => id
[2] => name
[3] => role
}
}
Я расширяю это до двух классов с именами «Производство» и «Заработная плата»,Эти два класса имеют методы fetchAll (), которые вызывают Employee.getAgentsByHierarchy () и выбирают все агенты и ONE дополнительные данные / поле.
Так что, когда я вызываю Production.fetchAll (), этоэто то, что должно возвращаться:
Array{
[0] => Array{
[0] => code
[1] => id
[2] => name
[3] => role
[4] => production_figures_in_digits
}
}
И когда я вызываю Payroll.fetchAll (), это то, что он должен возвращать:
Array{
[0] => Array{
[0] => code
[1] => id
[2] => name
[3] => role
[4] => payroll_figures_in_digits
}
}
Как мне поступить с таким дизайном?
Мое решение состояло бы в том, чтобы включить параметр в метод getAgentsByHierarchy (), который проверяет, является ли вызываемый объект классом Production или классом Payroll, чтобы он знал, какие данные возвращать.Но тогда я думаю, что это не ООП, потому что если есть новый класс, расширяющий Salesforce, мне придется снова жестко закодировать getAgentsByHierarchy (), чтобы удовлетворить требования нового класса.
PS.Я новичок в разработке шаблонов, пожалуйста, прости меня за то, как я написал название.