What is OOPS ?
Classes
Objects
Constructors
this keyword
Real life example
Object Oriented Programming Style (OOPS) is a programming style that deals with classes & objects.
The main aim of object-oriented programming is to implement real-world entities, for example, object, classes, abstraction, inheritance, polymorphism, etc.
A class is a blueprint for the object.
An object is an entity that has a state and some behaviour.
Car
Car
Blueprint
Blueprint
Blueprint
Factory
Blueprint
Factory
Blueprint
Blueprint
Blueprint
Properties:
Blueprint
Properties:
- Model name
Blueprint
Properties:
- Model name
- Color
Blueprint
Properties:
- Model name
- Color
- Price
Blueprint
Properties:
- Model name
- Color
- Price
Functionalities:
Blueprint
Properties:
- Model name
- Color
- Price
Functionalities:
- Drive
Blueprint
Properties:
- Model name
- Color
- Price
Functionalities:
- Drive
- Lock/Unlock
Properties:
- Model name
- Color
- Price
Functionalities:
- Drive
- Lock/Unlock
Properties:
- Model name
- Color
- Price
Functionalities:
- Drive
- Lock/Unlock
class Car {
}
Properties:
- Model name
- Color
- Price
Functionalities:
- Drive
- Lock/Unlock
class Car {
}
String
String
int
Properties:
- Model name
- Color
- Price
Functionalities:
- Drive
- Lock/Unlock
class Car {
String model;
String color;
int price;
}
String
String
int
Properties:
- Model name
- Color
- Price
Functionalities:
- Drive
- Lock/Unlock
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
}
String
String
int
Properties:
- Model name
- Color
- Price
Functionalities:
- Drive
- Lock/Unlock
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
}
String
String
int
Properties:
- Model name
- Color
- Price
Functionalities:
- Drive
- Lock/Unlock
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
void lock() {
System.out.println("Car is now locked");
}
void unlock() {
System.out.println("Car is now unlocked");
}
}
String
String
int
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
void lock() {
System.out.println("Car is now locked");
}
void unlock() {
System.out.println("Car is now unlocked");
}
}
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
void lock() {
System.out.println("Car is now locked");
}
void unlock() {
System.out.println("Car is now unlocked");
}
}
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
void lock() {
System.out.println("Car is now locked");
}
void unlock() {
System.out.println("Car is now unlocked");
}
}
Blueprint
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
void lock() {
System.out.println("Car is now locked");
}
void unlock() {
System.out.println("Car is now unlocked");
}
}
Blueprint
class Main {
public static void main(String[] args) {
}
}
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
void lock() {
System.out.println("Car is now locked");
}
void unlock() {
System.out.println("Car is now unlocked");
}
}
Blueprint
class Main {
public static void main(String[] args) {
Car c1 = new Car();
}
}
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
void lock() {
System.out.println("Car is now locked");
}
void unlock() {
System.out.println("Car is now unlocked");
}
}
Blueprint
class Main {
public static void main(String[] args) {
Car c1 = new Car();
}
}
c1
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
void lock() {
System.out.println("Car is now locked");
}
void unlock() {
System.out.println("Car is now unlocked");
}
}
Blueprint
class Main {
public static void main(String[] args) {
Car c1 = new Car();
Car c2 = new Car();
}
}
c1
c2
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
void lock() {
System.out.println("Car is now locked");
}
void unlock() {
System.out.println("Car is now unlocked");
}
}
Blueprint
class Main {
public static void main(String[] args) {
Car c1 = new Car();
Car c2 = new Car();
// Reading the properties
System.out.println(c1.color); // Black
}
}
c1
c2
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
void lock() {
System.out.println("Car is now locked");
}
void unlock() {
System.out.println("Car is now unlocked");
}
}
Blueprint
class Main {
public static void main(String[] args) {
Car c1 = new Car();
Car c2 = new Car();
// Reading the properties
System.out.println(c1.color); // Black
System.out.println(c1.model); // Hatchback
System.out.println(c1.price); // 100000
}
}
c1
c2
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
void lock() {
System.out.println("Car is now locked");
}
void unlock() {
System.out.println("Car is now unlocked");
}
}
class Main {
public static void main(String[] args) {
Car c1 = new Car();
Car c2 = new Car();
// Reading the properties
System.out.println(c1.color); // Black
System.out.println(c1.model); // Hatchback
System.out.println(c1.price); // 100000
}
}
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
void lock() {
System.out.println("Car is now locked");
}
void unlock() {
System.out.println("Car is now unlocked");
}
}
class Main {
public static void main(String[] args) {
Car c1 = new Car();
Car c2 = new Car();
// Reading the properties
System.out.println(c1.color); // Black
System.out.println(c1.model); // Hatchback
System.out.println(c1.price); // 100000
}
}
class Car
model
color
price
Properties
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
void lock() {
System.out.println("Car is now locked");
}
void unlock() {
System.out.println("Car is now unlocked");
}
}
class Main {
public static void main(String[] args) {
Car c1 = new Car();
Car c2 = new Car();
// Reading the properties
System.out.println(c1.color); // Black
System.out.println(c1.model); // Hatchback
System.out.println(c1.price); // 100000
}
}
class Car
model
color
price
Data members
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
void lock() {
System.out.println("Car is now locked");
}
void unlock() {
System.out.println("Car is now unlocked");
}
}
class Main {
public static void main(String[] args) {
Car c1 = new Car();
Car c2 = new Car();
// Reading the properties
System.out.println(c1.color); // Black
System.out.println(c1.model); // Hatchback
System.out.println(c1.price); // 100000
}
}
class Car
model
color
price
drive()
lock()
unlock()
Data members
Functions
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
void lock() {
System.out.println("Car is now locked");
}
void unlock() {
System.out.println("Car is now unlocked");
}
}
class Main {
public static void main(String[] args) {
Car c1 = new Car();
Car c2 = new Car();
// Reading the properties
System.out.println(c1.color); // Black
System.out.println(c1.model); // Hatchback
System.out.println(c1.price); // 100000
}
}
class Car
model
color
price
drive()
lock()
unlock()
Data members
Class methods
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
void lock() {
System.out.println("Car is now locked");
}
void unlock() {
System.out.println("Car is now unlocked");
}
}
class Main {
public static void main(String[] args) {
Car c1 = new Car();
Car c2 = new Car();
// Reading the properties
System.out.println(c1.color); // Black
System.out.println(c1.model); // Hatchback
System.out.println(c1.price); // 100000
}
}
class Car
model
color
price
drive()
lock()
unlock()
Data members
Class methods
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
void lock() {
System.out.println("Car is now locked");
}
void unlock() {
System.out.println("Car is now unlocked");
}
}
class Main {
public static void main(String[] args) {
Car c1 = new Car();
Car c2 = new Car();
// Reading the properties
System.out.println(c1.color); // Black
System.out.println(c1.model); // Hatchback
System.out.println(c1.price); // 100000
}
}
class Car
model
color
price
drive()
lock()
unlock()
Data members
Class methods
model:
color:
price:
Hatchback
Black
100000
c1
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
void lock() {
System.out.println("Car is now locked");
}
void unlock() {
System.out.println("Car is now unlocked");
}
}
class Main {
public static void main(String[] args) {
Car c1 = new Car();
Car c2 = new Car();
// Reading the properties
System.out.println(c1.color); // Black
System.out.println(c1.model); // Hatchback
System.out.println(c1.price); // 100000
}
}
class Car
model
color
price
drive()
lock()
unlock()
Data members
Class methods
model:
color:
price:
Hatchback
Black
100000
c1
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
void lock() {
System.out.println("Car is now locked");
}
void unlock() {
System.out.println("Car is now unlocked");
}
}
class Main {
public static void main(String[] args) {
Car c1 = new Car();
Car c2 = new Car();
// Reading the properties
System.out.println(c1.color); // Black
System.out.println(c1.model); // Hatchback
System.out.println(c1.price); // 100000
}
}
class Car
model
color
price
drive()
lock()
unlock()
Data members
Class methods
model:
color:
price:
Hatchback
Black
100000
c1
c2
model:
color:
price:
Hatchback
Black
100000
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
void lock() {
System.out.println("Car is now locked");
}
void unlock() {
System.out.println("Car is now unlocked");
}
}
class Main {
public static void main(String[] args) {
Car c1 = new Car();
Car c2 = new Car();
// Reading the properties
System.out.println(c1.color); // Black
System.out.println(c1.model); // Hatchback
System.out.println(c1.price); // 100000
}
}
class Car
model
color
price
drive()
lock()
unlock()
Data members
Class methods
model:
color:
price:
Hatchback
Black
100000
c1
c2
model:
color:
price:
Hatchback
Black
100000
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
void lock() {
System.out.println("Car is now locked");
}
void unlock() {
System.out.println("Car is now unlocked");
}
}
class Main {
public static void main(String[] args) {
Car c1 = new Car();
Car c2 = new Car();
// Reading the properties
System.out.println(c1.color); // Black
System.out.println(c1.model); // Hatchback
System.out.println(c1.price); // 100000
}
}
class Car
model
color
price
drive()
lock()
unlock()
Data members
Class methods
model:
color:
price:
Hatchback
Black
100000
c1
c2
model:
color:
price:
Hatchback
Black
100000
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
void lock() {
System.out.println("Car is now locked");
}
void unlock() {
System.out.println("Car is now unlocked");
}
}
class Main {
public static void main(String[] args) {
Car c1 = new Car();
Car c2 = new Car();
// Reading the properties
System.out.println(c1.color); // Black
System.out.println(c1.model); // Hatchback
System.out.println(c1.price); // 100000
c2.color = "Gray";
System.out.println(c2.color); // Gray
}
}
class Car
model
color
price
drive()
lock()
unlock()
Data members
Class methods
model:
color:
price:
Hatchback
Black
100000
c1
c2
model:
color:
price:
Hatchback
Black
100000
class Car {
String model = "Hatchback";
String color = "Black";
int price = 100000;
void drive() {
System.out.println("Zoom zoom zoom");
}
void lock() {
System.out.println("Car is now locked");
}
void unlock() {
System.out.println("Car is now unlocked");
}
}
class Main {
public static void main(String[] args) {
Car c1 = new Car();
Car c2 = new Car();
// Reading the properties
System.out.println(c1.color); // Black
System.out.println(c1.model); // Hatchback
System.out.println(c1.price); // 100000
c2.color = "Gray";
System.out.println(c2.color); // Gray
}
}
class Car
model
color
price
drive()
lock()
unlock()
Data members
Class methods
model:
color:
price:
Hatchback
Black
100000
c1
c2
model:
color:
price:
Hatchback
Gray
100000
A Java constructor is special method that is called when an object is instantiated.
It has the same name as the class itself and is invoked automatically at the time of object construction.
Write a class to store and perform operations on complex numbers.
In Java, this keyword is used to refer to the current object inside a class method.
class ComplexNumber {
int real;
int imaginary;
// Constructor
ComplexNumber(int real, int imaginary) {
this.real = real;
this.imaginary = imaginary;
}
}