Understanding Classes, Objects, and Instance Variables in Dart
When learning Dart, understanding classes, objects, and instance variables is essential. These concepts form the foundation of Object-Oriented Programming (OOP), making your code modular, reusable, and organized.
In this post, we’ll break down these concepts with simple examples so you can start using them confidently. 🚀
What is a Class?
A class in Dart is like a blueprint for creating objects. It defines the properties (variables) and behaviors (functions) that the objects created from it will have.
Example:
Car {
// Properties (Instance Variables)
String brand;
String model;
int year;
// Constructor
Car(this.brand, this.model, this.year);
// Method (Behavior)
void displayInfo() {
print("This car is a $year $brand $model.");
}
}
Here:
brand,model, andyearare instance variables that define the state of the class.The
displayInfomethod is a behavior of theCarclass.
What is an Object?
An object is an instance of a class. It’s like building a specific car using the blueprint. Each object can have unique values for its instance variables.
Example:
void main() {
// Creating objects of the Car class
Car car1 = Car("Toyota", "Corolla", 2020);
Car car2 = Car("Honda", "Civic", 2022);
// Using the displayInfo method
car1.displayInfo(); // Output: This car is a 2020 Toyota Corolla.
car2.displayInfo(); // Output: This car is a 2022 Honda Civic.
}
Here:
car1andcar2are objects created from theCarclass.Each object has its own values for
brand,model, andyear.
What are Instance Variables?
Instance variables are variables declared inside a class but outside any methods. Each object of the class has its own copy of these variables.
Key Points:
Instance variables store data specific to an object.
They are defined at the class level.
They are accessed using the object.
Example with Instance Variables:
class Student {
// Instance variables
String name;
int age;
// Constructor
Student(this.name, this.age);
// Method
void introduce() {
print("Hi, my name is $name and I am $age years old.");
}
}
void main() {
// Creating objects of Student class
Student student1 = Student("Alice", 20);
Student student2 = Student("Bob", 22);
// Accessing instance variables
print(student1.name); // Output: Alice
print(student2.age); // Output: 22
// Calling methods
student1.introduce(); // Output: Hi, my name is Alice and I am 20 years old.
student2.introduce(); // Output: Hi, my name is Bob and I am 22 years old.
}
Key Takeaways
Class: A blueprint that defines properties and behaviors.
Object: An instance of a class with its own data.
Instance Variables: Variables defined in a class that hold data specific to each object.
Practice Challenge
Write a Dart program for a Book class. The class should have:
Instance variables:
title,author,price.A constructor to initialize these variables.
A method to display book details.
Create two Book objects and display their details. 💪
By understanding these basics, you’re now ready to explore more advanced concepts like inheritance, polymorphism, and abstraction in Dart. Keep coding, and happy learning! 😊

