Page 450 - Computer science 868 Class 12
P. 450

•  The super() keyword is also used to invoke a parent class constructor. Default super class constructor is implicitly
                 called by its derived class constructor. For parameterised base class constructor, the constructor invocation should
                 be the first statement in derived class constructor definition.
              To demonstrate the usage of the keyword super, let us write small programs by taking three classes given below.

                                               Base class                      Circle

                                     Data member
                                     double r                     to store radius
                                     Circle(double rr)            Assign r = rr
                                     void display()               Displays radius

                                             Derived class                     Area
                                     Data member

                                     double a                     to store area
                                     double findarea()            Calculates and  returns  area of  a
                                                                  circle as πr 2
                                     void display()               Displays radius and area

                                             Derived class                 Circumference

                                     Data member
                                     double c                     to store circumference
                                     double findcircumference()   Calculates and returns circumference
                                                                  of a circle as 2πr
                                     void display()               Displays radius and circumference

                  class Circle
                  { protected double r; // visibility mode
                    Circle(double rr)
                    { r=rr;}
                    void display()
                    { System.out.println("Radius="+r);} }

                  class Area extends Circle // defining derived class
                  { double a;
                    Area(double ra)
                    { super(ra); // invoking super class constructor
                      a=0.0;   }
                    double findarea()
                    { /* Member data r belongs to base class can be accessed
                         by derived class due to inheritance */
                        return Math.PI*r*r;      }
                     void display()
                     { a=findarea();
                       super.display(); // method overriding
                       System.out.println("Area ="+a);
                      } }

                  class Circumference extends Circle // defining derived class
                  { double c;
                    Circumference(double ra)
                    { super(ra); // invoking super class constructor
                      c=0.0;   }

                448448  Touchpad Computer Science-XII
   445   446   447   448   449   450   451   452   453   454   455