Я читаю код завершен и у меня возник вопрос о «Упрощение передачи параметров». Автор говорит, что если вы передаете параметр между несколькими подпрограммами, это может указывать на необходимость преобразования этих подпрограмм в класс, который разделяет параметр как данные класса.
Означает ли это, что если у меня есть несколько отдельных классов, которые используют одни и те же данные, я должен создать один новый класс, который использует эти данные, а затем наследовать для создания новых классов?
Или же
Означает ли это, что если в моей программе есть куча свободных подпрограмм, я должен пойти дальше и поместить их в класс, получить преимущества инкапсуляции и т. Д.
Спасибо
Последний. Похоже, они говорят о таком случае:
void function_1(std::string& my_data);
void function_2(std::string& my_data);
void main() {
std::string my_data = "SomeString";
function_1(my_data);
function_2(my_data);
}
Который может быть изменен на:
class MyClass {
std::string my_data;
pulbic:
MyClass(const std::string& str) : my_data(str) {}
void function_1();
void function_2();
}
void main() {
MyClass obj("SomeString");
obj.function_1();
obj.function_2();
}
куда function_1
а также function_2
использовать my_data
поле, вместо того, чтобы каждый раз передавать строку.
Других решений пока нет …