//Overload + operator to add two Box Objects public static Box operator +(Box b, Box c) { Box box = new Box(); box.length = b.length + c.length; box.breadth = b.breadth + c.breadth; box.height = b.height + c.height; return box; }
private static void Main(string[] args) { #region Encapsulation //Example 1 var newCustomer = new Customer(); newCustomer.CustomerCode = "123"; newCustomer.CustomerName = "Mayur"; //call only the add method instead of call Add(), Validate() and createdbobject //Code is simplified newCustomer.Add(); //Example 2 var newReservation = new Reservation(); newReservation.RoomNumber = "23"; newReservation.RoomType = "Suite"; newReservation.Duration = 2; newReservation.ReserverRoom(); #endregion Encapsulation #region Polymorphism System.Collections.Generic.List<Shape> shapes = new System.Collections.Generic.List<Shape>(); shapes.Add(new Rectangle()); shapes.Add(new Circle()); foreach (Shape s in shapes) { s.Draw(); } // Keep the console open in debug mode. Console.WriteLine("Press any key to exit."); Console.ReadKey(); #endregion Polymorphism #region OperatorOverloading Box Box1 = new Box(); //Declare Box1 of type Box Box Box2 = new Box(); //Declare Box2 of type Box Box Box3 = new Box(); //Declare Box3 of type Box Box Box4 = new Box(); //Declare Box4 of type Box double volume = 0.0; //Store the volume of a box here //box 1 specification Box1.setLength(6.0); Box1.setBreadth(7.0); Box1.setHeight(5.0); //box 2 specification Box2.setLength(12.0); Box2.setBreadth(13.0); Box2.setHeight(10.0); //displaying the Boxes using the overloaded ToString(); Console.WriteLine("Box 1: {0}", Box1.ToString()); Console.WriteLine("Box 2: {0}", Box2.ToString()); // volume of box 1 volume = Box1.getVolume(); Console.WriteLine("Volume of Box1 : {0}", volume); // volume of box 2 volume = Box2.getVolume(); Console.WriteLine("Volume of Box2 : {0}", volume); // Add two object as follows: Box3 = Box1 + Box2; Console.WriteLine("Box 3: {0}", Box3.ToString()); // volume of box 3 volume = Box3.getVolume(); Console.WriteLine("Volume of Box3 : {0}", volume); //comparing the boxes if (Box1 > Box2) Console.WriteLine("Box1 is greater than Box2"); else Console.WriteLine("Box1 is greater than Box2"); if (Box1 < Box2) Console.WriteLine("Box1 is less than Box2"); else Console.WriteLine("Box1 is not less than Box2"); if (Box1 >= Box2) Console.WriteLine("Box1 is greater or equal to Box2"); else Console.WriteLine("Box1 is not greater or equal to Box2"); if (Box1 <= Box2) Console.WriteLine("Box1 is less or equal to Box2"); else Console.WriteLine("Box1 is not less or equal to Box2"); if (Box1 != Box2) Console.WriteLine("Box1 is not equal to Box2"); else Console.WriteLine("Box1 is not greater or equal to Box2"); Box4 = Box3; if (Box3.Equals(Box4)) Console.WriteLine("Box3 is equal to Box4"); else Console.WriteLine("Box3 is not equal to Box4"); if (Box3 == Box4) Console.WriteLine("Box3 is equal to Box4"); else Console.WriteLine("Box3 is not equal to Box4"); Console.ReadKey(); #endregion OperatorOverloading }