YourNote 101: OOP - zhamri/CSC584-Enterprise_Programming GitHub Wiki
Main concepts of OOP in Java
1. Class
A class is a blueprint for creating objects.
class Car {
String brand;
int speed;
void drive() {
System.out.println("The car is driving.");
}
}
2. Object
An object is an instance of a class.
public class Main {
public static void main(String[] args) {
Car myCar = new Car(); // Creating object
myCar.brand = "Toyota";
myCar.speed = 120;
myCar.drive();
}
}
3. Encapsulation
- Hiding data using private variables
- Accessing them using getters and setters
class Person {
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
4. Inheritance
One class inherits properties of another using extends
class Animal {
void sound() {
System.out.println("Animal makes sound");
}
}
class Dog extends Animal {
void bark() {
System.out.println("Dog barks");
}
}
5. Polymorphism
Same method name, different behavior
Method Overloading
class MathOperation {
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
}
Method Overriding
class Animal {
void sound() {
System.out.println("Animal sound");
}
}
class Cat extends Animal {
@Override
void sound() {
System.out.println("Meow");
}
}
6. Abstraction
- Hiding implementation details
- Achieved using abstract classes or interfaces
Abstract class example:
abstract class Shape {
abstract void draw();
}
class Circle extends Shape {
void draw() {
System.out.println("Drawing circle");
}
}
Interface example:
interface Animal {
void sound();
}
class Cow implements Animal {
public void sound() {
System.out.println("Moo");
}
}