Like methods, constructors can also be overloaded. Constructor overloading is way of having more than one constructor which does different tasks. For e.g. Vector class has 4 types of constructors. If you do not want to specify the initial capacity and capacity increment then you can simply use default constructor of Vector class like this
Vector v = new Vector( );
In this program, we have created a class Box1 which have four constructors one is default and other three are parameterized constructors. Then we extended the class Box1 in BoxWeight1. At last we have created object of BoxWeight1 and called the method volume( ).
PROGRAM
//This program uses inheritance to extend Box. class Box1 { double width; double height; double depth; // construct clone of an object Box1(Box1 ob) { // pass object to constructor width = ob.width; height = ob.height; depth = ob.depth; } // constructor used when all dimensions specified Box1(double w, double h, double d) { width = w; height = h; depth = d; } // constructor used when no dimensions specified Box1() { width = -1; // use -1 to indicate height = -1; // an uninitialized depth = -1; // box } // constructor used when cube is created Box1(double len) { width = height = depth = len; } // compute and return volume double volume() { return width * height * depth; } } //Here, Box is extended to include weight. class BoxWeight1 extends Box1 { double weight; // weight of box // constructor for BoxWeight BoxWeight1(double w, double h, double d, double m) { width = w; height = h; depth = d; weight = m; } } class DemoBoxWeight { public static void main(String args[]) { BoxWeight1 mybox1 = new BoxWeight1(10, 20, 15, 34.3); BoxWeight1 mybox2 = new BoxWeight1(2, 3, 4, 0.076); double vol; vol = mybox1.volume(); System.out.println("Volume of mybox1 is " + vol); System.out.println("Weight of mybox1 is " + mybox1.weight); System.out.println(); vol = mybox2.volume(); System.out.println("Volume of mybox2 is " + vol); System.out.println("Weight of mybox2 is " + mybox2.weight); } }OUTPUT
C:\>javac DemoBoxWeight.java C:\>java DemoBoxWeight Volume of mybox1 is 3000.0 Weight of mybox1 is 34.3 Volume of mybox2 is 24.0 Weight of mybox2 is 0.076
Nobody can reject the info you have given in the blogs, this is actually a great work.
ReplyDeletemost designs