Я пытаюсь узнать UVM, и я просто хотел знать, что эта диаграмма ниже представляет наследование, например, uvm_object наследуется от uvm_void? Я читаю ссылку на UVM 1.1 Class. Он упоминает на стр. 17, чтоклассы, унаследованные в UVM
Класс uvm_void является базовым классом для всех классов UVM. Это абстрактный класс без элементов данных или функций. Он позволяет создавать универсальные контейнеры создаваемых объектов, аналогично указателю void на языке программирования C. Пользовательские классы, полученные непосредственно из , uvm_void не наследуют ни одну из функций UVM, но такие классы могут быть размещены в контейнерах с uvm_void вместе с другими объектами UVM.
Если uvm_object происходят от uvm_void, то, как это имеет функциональность УВМ, поскольку классы, полученные из uvm_void не должны иметь какое-либо функциональное УВМ, но uvm_object имеет такие методы, как клон, печать, упаковка, распаковывать, запись, сравнения и т.д. .
Когда мы пишем класс uvm_ * extends uvm_ *, например. class uvm_component расширяет uvm_object, делает ли он вывод наследства? Где-то в нем также упоминается подтип слова. Подтип аналогичен производному классу?