Initializing Objects:
Till you initialize an object by calling the constructor for its object type, the object is automatically null. That is, the object itself is null, not merely its attributes. Consider the
Illustration which is as shown:
DECLARE
r Rational; -- r become atomically null
BEGIN
r := Rational(2,3); -- r becomes 2/3
The null object is never equal to the other object. However, comparing a null object with any other object always results NULL. Also, if you assign an atomically null object to the other object, the other object becomes atomically null. Similarly, if you assign the non-value NULL to an object, the object becomes automatically null, as the illustration below shows:
DECLARE
r Rational;
BEGIN
r Rational := Rational(1,2); -- r becomes 1/2
r := NULL; -- r becomes atomically null
IF r IS NULL THEN ... -- condition yields TRUE
A good quality programming practice is to initialize an object in its declaration, as shown in the illustration shown below:
DECLARE
r Rational := Rational(2,3); -- r becomes 2/3