Object Oriented Oracle PLSQL Tutorial

SQL>
SQL> CREATE OR REPLACE TYPE BookType AS OBJECT (
  2     rebate   NUMBER (10, 4),
  3     price           NUMBER (10, 2),
  4     CONSTRUCTOR FUNCTION BookType (price NUMBER)
  5        RETURN SELF AS RESULT
  6  )
  7  INSTANTIABLE FINAL;
  8  /
SP2-0816: Type created with compilation warnings
SQL>
SQL> CREATE OR REPLACE TYPE BODY BookType
  2  AS
  3     CONSTRUCTOR FUNCTION BookType (price NUMBER)
  4        RETURN SELF AS RESULT
  5     AS
  6     BEGIN
  7        SELF.price := price * .9;
  8        RETURN;
  9     END BookType;
 10  END;
 11  /
SP2-0818: Type Body created with compilation warnings
SQL>
SQL> DECLARE
  2     v_price   BookType;
  3  BEGIN
  4     v_price.price := 75;
  5     DBMS_OUTPUT.put_line (v_price.price);
  6  END;
  7  /
75
PL/SQL procedure successfully completed.