Я хотел бы знать, что это за метод ООП, чтобы лучше понять, как его использовать и что он делает в более широком диапазоне приложений.
Я видел, как эта техника используется в нескольких программах. Тем не менее, я пытался исследовать это, и я нигде не нашел ни одной статьи, в которой бы упоминалось об этом.
в fileA.cpp, когда у меня есть эта функция-член класса A
// an object of class B is instantiated in class B
classB _classB
void signup(int n){
_classB.signup(n);
// rest of the function
};
то в файле B у нас есть эта функция-член класса B
void signup(int n){
// rest of function
};
Есть ли определение для этого метода, когда функция с определенным именем вызывает функцию с таким же именем из другого класса. Есть ли какие-нибудь статьи, которые я могу прочитать об этом, чтобы в дальнейшем использовать это в своем программировании?
Существует метод, называемый перегрузкой функций, но я не думаю, что это то, что здесь происходит.
класс B наследует класс A или наоборот? Тег C надо убрать, вы говорите о классах
Инкапсуляция в лучшем случае. Имена функций не имеют значения.
Если бы вы работали на Python, я бы назвал это утиной печатью. Если вы особенно хорошо разбираетесь в шаблонах, вы, вероятно, все еще можете назвать это утиной печатью. Но только с той информацией, которую вы нам дали, нет никакой связи между двумя функциями.
На самом деле это не техника ООП. Вы можете назвать это фасадом, прокси-сервером или несколькими другими шаблонами в зависимости от Зачем, с которым вы это делаете, но в этом нет ничего особенного для объектно-ориентированного программирования.
@SilvioMayolo Действительно ли это «печатать»?
Вы можете назвать это паттерном «совпадение» или паттерном «это имя имеет смысл и здесь, и там». То есть нейминг — это не «прием», и у него нет имени.
Я не знаю какого-либо конкретного названия того, что вы делаете, потому что это не шаблон и не что-то особенное/волшебное.
При этом в разговорных дискуссиях я мог бы сказать, что эти функции «пересылают» другим функциям. Если я «пересылаю» таким образом, у меня обычно будут одинаковые имена функций, потому что они делают одно и то же.
Но, опять же, это только я.
Другие термины (украденные из раздела комментариев) могут включать фасад или прокси.
Когда вы начинаете делать такие вещи, как скрытие реализаций или обертывание символов для передачи через границы ABI, вы можете использовать такие методы, как сортировка, или шаблоны, такие как ПИМПЛ. Опять же, эти термины вообще не описывают имена ваших функций, но вы почти наверняка обнаружите степень повторного использования имен функций при использовании таких методов/шаблонов.
я думаю, что пересылка другим функциям — лучший способ описать, что происходит в приведенном выше коде.
Я думаю, что вы слишком сузили свою проблему. Есть несколько вещей, которые полагаются на функции с одинаковыми именами или сигнатурами, включая полиморфизм, перегрузку и несколько различных шаблонов проектирования. Наличие одинаковых имен функций - это не цель, это способ достижения какой-то другой цели.