Какие термины и понятия описывают коды, следующие формату Text1.Text2()?
Мне просто очень любопытно, потому что некоторые коды действительно следуют такому формату. Примеры включают serial.begin(), serial.println (), и когда я использовал сервомоторы, левая часть была именем сервомотора, который я объявил. Я хочу знать, к какой концепции относится код с форматом Text1.Text2 ()? Что вы называете Text1 и Text2? Существуют ли официальные или общепринятые термины для таких понятий и частей, как "переменная", "оператор", "код"?
Чтобы добавить к моему пониманию, кажется, что Text1 относится к объекту, а Text2 имеет понятие "функция", где он выполняет что-то связанное с объектом. Хотя я бы подумал, что Текст2 будет обладать другой терминологией, отличной от функции, чтобы отличить ее от функции, поскольку она должна быть написана в том формате, о котором я упоминал, который находится рядом с объектом с точкой, разделяющей их, и вообще без пробелов.
@AndroidV11, 👍0
Обсуждение1 ответ
Концепция перегиба-это объектно-ориентированное программирование (ООП).
Термины, которые я изучал в университете - беря Serial.println()
в качестве примера:
Serial
-это экземпляр класса (в данном случаеHardwareSerial
), иногда называемый объектом.println()
(функция в классе) - это метод класса.- "Переменная" в классе называется свойством класса.
Пример кода с комментариями:
class Foo { // Это * класс *
public: // Эти символы доступны вне класса
int bar; // Это общее свойство
void baz() { // Это публичный метод
}
private: // Эти символы доступны только внутри класса
int meep; // Это частное свойство
void moop() { // это частный метод
}
};
Foo bar; // Создание экземпляр класса Foo и название его bar.
- Как разделить входящую строку?
- Как вывести несколько переменных в строке?
- В чем разница между Serial.write и Serial.print? И когда они используются?
- Загрузка Arduino Nano дает ошибку: avrdude: stk500_recv(): programmer is not responding
- Программы построения последовательных данных
- Как узнать частоту дискретизации?
- Что такое Serial.begin(9600)?
- Очистить существующий массив при получении новой последовательной команды
названия различаются в разных языках программирования ... ваш вопрос не имеет ничего общего с Arduino, поэтому здесь он не по теме .... посмотрите подробности об интересующем языке программирования ... посмотрите, какие у них имена, @jsotola
https://www.w3schools.com/cpp/cpp_classes.asp, @jsotola
@jsotola: В основном различаются не имена, а их семантическое значение. То, что может означать " Text1.Text2 ()", сильно отличается в зависимости от языка, даже если это может быть синтаксически корректным утверждением на многих языках., @PMF
Text1-это экземпляр некоторого класса xxx; xxx::Text2() - это функция метода., @KIIV
Как писал @KIIV, общая концепция-это концепция класса. Класс-это описание сборки объекта с его собственными функциями-членами и переменными-членами. Из класса вы можете объявить экземпляры в качестве переменных в своем коде. Вот что такое " Text1
здесь: экземпляр класса.
Text2 ()', в свою очередь, является функцией-членом этого класса, которая может воздействовать на переменные этого конкретного экземпляра. Вы можете погуглить учебники по классам C++, чтобы узнать больше. Обратите внимание, что в C/C++ классы и структуры очень похожи. Таким образом, вы используете аналогичный синтаксис для ссылки на переменные-члены экземпляра структуры., @chrislКласс и метод, вероятно, являются ответами, которые мне нужны. Спасибо! Просто так сложно выполнять поиск в Google, если у вас нет правильных ключевых слов, чтобы понять, какую идею вы хотите прояснить., @AndroidV11
Text1' обычно является объектом. Объект-это экземпляр класса. https://en.wikipedia.org/wiki/Object-oriented_programming#Objects_and_classesg, @Juraj