У меня много разных схем, но есть набор полей, которые содержит каждая схема. Мне было интересно, есть ли способ, чтобы другая схема расширила родительскую схему и наследовала ее поля. Например, это то, что я хочу:Расширение сообщений Protobuf
message Parent {
required string common1 = 0;
optional string common2 = 1;
}
message Child1 { // can we extend the Parent?
// I want common1, common2 to be fields here
required int c1 = 2;
required string c2 = 3;
}
message Child2 { // can we extend Parent?
// I want common1, common2 to be fields here
repeated int c3 = 2;
repeated string c4 = 3;
}
Такое, что Child1 и Child2 также содержат поля common1 и common2 (и, возможно, более) от Родителя.
Возможно ли это, и если да, то каким образом?
Наследование не поддерживается, но как решение бедного человека, вы могли бы использовать вложенную конструкцию, где первое поле 'Child1' и' Child2' имеет тип «Parent». Чтобы получить доступ к полям в «базовом классе», вам нужно будет явно получить доступ к этому «родительскому» типу. –
Есть также расширения. https://developers.google.com/protocol-buffers/docs/proto#extensions – engineerC