How to solve error in Dynamic method call in SAP ABAP because of wrong type parameter

ZIF_DYNAMIC_INTERFACE
public .
METHODS get_class_object
RETURNING
VALUE(rr_class_object) TYPE REF TO ztc_check_cls.
ENDINTERFACE.

CLASS ztc_check_cls DEFINITION
PUBLIC
CREATE PUBLIC.
PUBLIC SECTION.
INTERFACES zif_dynamic_interface.
CLASS-METHODS get_interface_object
RETURNING
VALUE(rr_interface_object) TYPE REF TO zif_dynamic_interface.
METHODS get_instance_variable
RETURNING VALUE(rv_instance_variable) TYPE i.
PROTECTED SECTION.
PRIVATE SECTION.
DATA m_instance_variable TYPE i.
ENDCLASS.
CLASS ztc_check_cls IMPLEMENTATION.
METHOD get_interface_object.
rr_interface_object = NEW ztc_check_cls( ).
ENDMETHOD.
METHOD get_instance_variable.
m_instance_variable = 10.
rv_instance_variable = m_instance_variable
ENDMETHOD.
METHOD zif_dynamic_interface~get_class_object.
rr_class_object = NEW ztc_check_cls( ).
ENDMETHOD.
ENDCLASS.

PROBLEMS : Call of the method GET_INTERFACE_OBJECT of the class ZTC_CHECK_CLS failed; wrong type for parameter RR_INTERFACE_OBJECT,

CLASS ltc test_dynamic_method IMPLEMENTATION.
METHOD test.
DATA ls_ptab TYPE abap_parmbind.
DATA lt_ptab TYPE abap_parmbind_tab.
DATA lr_ztc_check_cls TYPE REF TO object.
DATA lr_zif_dynamic_interface TYPE REF TO DATA.
DATA lv_class_instance_value TYPE i.
CREATE DATA lr_zif_dynamic_interface TYPE REF TO (‘ZIF_DYNAMIC_INTERFACE’).
ls_ptab-name = ( ‘RR_INTERFACE_OBJECT’ ).
ls_ptab-kind = cl_abap_objectdescr=>returning.
ls_ptab-value = REF #( lr_zif_dynamic_interface ).
INSERT ls_ptab INTO TABLE lt_ptab.
CALL METHOD (‘ZTC_CHECK_CLS’)=>(‘GET_INTERFACE_OBJECT’)
PARAMETER-TABLE lt_ptab.

clear lt_ptab. 
clear ls_ptab. 

ls_ptab-name = ( 'rv_instance_variable_value' ). 
ls_ptab-kind = cl_abap_objectdescr.>returning. 
ls_ptab-value = REF #( lv_class_instance_value ). 
INSERT ls_ptab INTO TABLE lt_ptab. 
lr_ztc_check_cls = CAST ( lr_zif_dynamic_interface->* ) 
CALL METHOD lr_ztc_check_cls->get_instance_variable. 
     PARAMETER-TABLE lt_ptab. 
cl_abap_unit_assert=>assert_equals( act = lv_class_instance_value 
                                    exp = 10 ). 

ENDMETHOD.
ENDCLASS.

SOLUTION:
CREATE DATA lr_zif_dynamic_interface TYPE REF TO (‘ZIF_DYNAMIC_INTERFACE’).
Is_ptab-name ( ‘RR INTERFACE_OBJECT’ ).
ls_ptab-kind = cl_abap_objectdescr=>returning.
ls_ptab-value = REF #( lr_zif_dynamic_interface ).

==>

Replace it with ls_ptab-value = lr_zif_dynamic_interface
INSERT ls_ptab INTO TABLE lt_ptab.
CALL METHOD (‘ZTC_CHECK_CLS’)->(‘GET_INTERFACE_OBJECT’)
PARAMETER-TABLE lt_ptab.

VARIABLE DURING DEBUG, LR_ZIF_DYNAMIC_INTERFACE ==> (A,3,1YPE.%_TO00045000.10500000003104)
dereferenced {0:2).\CLASS=ZTC_CHECK_CLS /ZTC_CHECK_CLS Type Ref to ,
when it is dereferenced it will contain the instance of the
CLASS ztc_check_cls TYPE REF TO zif_dynamic_interface