Loading content...
Loading content...
OOP = Object-Oriented Programming
A programming approach based on classes and objects
Used to model real-world entities
A blueprint/template to create objects
Contains:
Variables (data)
Methods (functions)
plaintext
class Car {
String color;
int speed;
void drive() {
System.out.println("Car is running");
}
}An instance of a class
Used to access class properties and methods
plaintext
Car c1 = new Car();
c1.color = "Red";
c1.drive();Wrapping data + methods into a single unit
Use private variables + getters/setters
Data hiding
Secure code
java
class Student {
private int marks;
public void setMarks(int m) {
marks = m;
}
public int getMarks() {
return marks;
}
}One class inherits another class
Use extends keyword
Code reuse
Parent → Child relationship
java
class Animal {
void eat() {
System.out.println("Eating");
}
}
class Dog extends Animal {
void bark() {
System.out.println("Barking");
}
}One method, multiple forms
Method Overloading (compile-time)
Method Overriding (runtime)
java
class MathUtil {
int add(int a, int b) {
return a + b;
}
int add(int a, int b, int c) {
return a + b + c;
}
}Hiding implementation details
Show only important features
Use abstract class or interface
Reduce complexity
java
abstract class Vehicle {
abstract void start();
}
class Car extends Vehicle {
void start() {
System.out.println("Start with key");
}
}✔ Code reusability
✔ Easy maintenance
✔ Data security
✔ Real-world modeling
Class → Blueprint
Object → Instance
Encapsulation → Data hiding
Inheritance → Code reuse
Polymorphism → Many forms
Abstraction → Hide details