Classes and Objects
Classes and Objects
Let's dive into a foundational concept in Object-Oriented Programming (OOP): Classes and Objects. If you have already explored OOP concepts in other programming languages or previous units, this might serve as a good reminder. If not, no worries, we'll start from the basics.
Classes and objects are the building blocks of OOP. A class acts as a blueprint for creating objects, which are instances of the class. Understanding these basics is essential before moving on to more advanced OOP topics like inheritance, polymorphism, and encapsulation.
Defining a Class
In Java, a class is defined using the class keyword. A class serves as a blueprint to create objects. Here's a simple example:
A class can have fields (variables), methods (functions), and constructors. In this snippet, we define a Person class with data members name and age.
What is an Object?
An object is an instance of a class. It represents a specific example of the class and holds the characteristics that define the class.
Objects have three main characteristics:
- State: The data or attributes of the object. In the
Personclass, thenameandageare the object's state. - Behavior: The methods and functions that the object can perform. In the
Personclass, thedisplaymethod is an example of behavior. - Identity: A unique identifier that distinguishes the object from others, even if they have the same state. This is handled by the memory address in the JVM.
An object is thus a concrete instance of a class that includes state, behavior, and identity.
Using Constructors
Constructors initialize the newly created object's state. In the Person class, we can define a constructor to set the name and age:
In the constructor, this refers to the current instance of the class. It is used to distinguish the class's fields from the parameters with the same names.
