Introduction to Object-Oriented Programming (OOP)
Object-Oriented Programming (OOP) is a programming paradigm that organizes data and behavior into objects. Java is an object-oriented programming language, and its core concepts are essential for writing efficient and maintainable code. Below are the key OOP concepts in Java along with examples and explanations.
1. Class and Object
Class: A class is a blueprint or a template that defines the structure and behavior of objects. It encapsulates data (attributes) and methods (functions) that operate on that data.
Object: An object is an instance of a class. It represents a real-world entity and has its own state and behavior as defined by the class.
Example:
javaclass Car {
String make;
String model;
void start() {
System.out.println("The car is starting.");
}
}
// Creating objects of the Car class
Car car1 = new Car();
car1.make = "Toyota";
car1.model = "Corolla";
car1.start();
Car car2 = new Car();
car2.make = "Honda";
car2.model = "Civic";
car2.start();
2. Encapsulation
Encapsulation is the principle of hiding the internal details of an object and exposing only necessary functionalities through public methods. It helps in data protection and modularity.
Example:
javaclass BankAccount {
private double balance;
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
}
}
public double getBalance() {
return balance;
}
}
3. Inheritance
Inheritance allows a class (subclass/derived class) to inherit properties and behaviors from another class (superclass/base class). It promotes code reusability and supports the "is-a" relationship.
Example:
javaclass Animal {
void makeSound() {
System.out.println("Some generic sound");
}
}
class Dog extends Animal {
@Override
void makeSound() {
System.out.println("Bark!");
}
}
4. Polymorphism
Polymorphism allows objects of different classes to be treated as objects of a common superclass. It can be achieved through method overloading and method overriding.
Example:
javaclass MathOperations {
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
}
5. Abstraction
Abstraction refers to the process of hiding the implementation details and showing only relevant features of an object. Abstract classes and interfaces are used to achieve abstraction in Java.
Example:
javaabstract class Shape {
abstract void draw();
}
class Circle extends Shape {
@Override
void draw() {
System.out.println("Drawing a circle");
}
}
These are the fundamental Object-Oriented Programming concepts in Java. By understanding and applying these concepts effectively, you can build robust and maintainable Java applications.
0 Comments