Object Oriented programming in Java:
Object Oriented programming is a programming style which is associated with the concepts like class, object, Inheritance, Encapsulation, Abstraction, Polymorphism.
Class: A class is a collection of method and variables.
Class: A class is a collection of method and variables.
We can define a class using the class keyword and the class body enclosed by a pair of curly braces, as shown in the following example:
public class A
{
}
{
}
Inheritance: Inheritance feature allows code reusability when a class includes property of another class. In Java “extends” is used to represent inheritance, as shown in the following example:
public class Papa {
}
class Child extends Papa {
}
}
class Child extends Papa {
}
Objects: Object is a component of a program that knows how to perform certain actions and how to interact with other elements of the program, as shown in the following example:
Rectangle Rect = new Rectangle();
Here, Rectangle is a class, Rect is an object of class Rectangle, new is a keyword, Rectangle() is a constructor of class Rectangle.
Abstraction: Abstraction can be achieved using abstract classes in Java. Abstract classes contain abstract methods, which are implemented by the derived class.
Encapsulation: Encapsulation means bundling of data and methods within one unit, e.g., a class in Java. Encapsulation enables a programmer to implement the desired level of abstraction.
Polymorphism: Polymorphism means overloading and overriding, as shown in the following example:
Polymorphism overloading example:
public class OverLoading
{
public void sum(int a, int b)
{
System.out.println(a + b);
}
public void sum(int a, int b, int c)
{
System.out.println(a + b + c );
}
{
public void sum(int a, int b)
{
System.out.println(a + b);
}
public void sum(int a, int b, int c)
{
System.out.println(a + b + c );
}
}
Polymorphism overriding example:
public class Parent
{
public virtual void Show()
{
System.out.println(“Welcome”);
}
}
public class Child extends Parent
{
public override void Show()
{
System.out.println(“Swagatam”);
}
}
{
public virtual void Show()
{
System.out.println(“Welcome”);
}
}
public class Child extends Parent
{
public override void Show()
{
System.out.println(“Swagatam”);
}
}
References:
- Sebesta,”Concept of programming Language”, Pearson Edu
- Louden, “Programming Languages: Principles & Practices” , Cengage Learning
- Tucker, “Programming Languages: Principles and paradigms “, Tata McGraw –Hill.
- E Horowitz, “Programming Languages”, 2nd Edition, Addison Wesley