Oracle PL/SQL/Object Oriented Database/final

Материал из SQL эксперт
Перейти к: навигация, поиск

Override a final member function

 
SQL>  create or replace
  2    type super_type as object(
  3      n number,
  4      final member procedure cannot_override
  5    )
  6    not final
  7    /
Type created.
SQL>
SQL>  create or replace
  2    type sub_type
  3    under super_type(
  4      overriding member procedure cannot_override
  5    )
  6    /
Warning: Type created with compilation errors.
SQL>
SQL>  show error
Errors for TYPE SUB_TYPE:

LINE/COL ERROR
-------- -----------------------------------------------------------------
0/0      PL/SQL: Compilation unit analysis terminated
3/23     PLS-00637: FINAL method cannot be overriden or hidden
SQL>  drop type super_type;
 drop type super_type
*
ERROR at line 1:
ORA-02303: cannot drop or replace a type with type or table dependents

SQL>
SQL>