2016-06-07 4 views

답변

1

예, SystemVerilog의 추상 클래스는 가상 클래스와 같습니다. Java는 키워드 'abstract'를 사용하지만 C++와 같은 다른 언어에는 특정 키워드가 없습니다. SystemVerilog는 virtual 키워드를 다시 사용하여 다른 키워드를 예약하지 않았습니다. 추상 클래스는 생성자가 보호되어 있고 직접 생성 할 수없는 클래스이므로 클래스를 먼저 확장해야하며 파생 된 객체를 생성 할 수 있습니다. 추상 클래스는 순수 가상 메서드가있는 다른 개념을 허용합니다. 이것들은 확장 클래스에서 오버라이드되어야하는 메소드입니다. UVM과 같은 기본 클래스 라이브러리에는 추상 클래스로 가득 차 있으며 복사 또는 인쇄 메소드처럼 재정의해야하는 메소드가 있습니다. 순수 가상 메서드 만 포함하는 추상 클래스는 interface class이라고하며 여러 인터페이스 클래스를 구현하는 인터페이스 클래스를 정의 할 수 있습니다. 이 년 DVCon에는이 주제에 대한 많은 논문이있었습니다.

+0

감사의 말을 전하기 위해 @ dave_59를 보내주십시오. – AnuragChauhan

+1

@ dave_59 생성자가 보호되고 있으며 직접 생성 할 수 없다는 점에주의해야합니다. 이는 약간 다른 클래스의 함수 (예 : 싱글 톤 패턴)에서 생성자를 호출 할 수 있음을 의미합니다. 보호 된 생성자가있는 클래스는 추상 클래스 make가 아닙니다. –

+0

예 - 보호 된 생성자는 불완전한 비유입니다. –