Skip to main content

Object-Oriented Programming In Dart : Introduction

So far we have discussed the basics of dart programming language and now we will move to the more important concept which will be used in our app development process. Yes, it is Object-oriented programming concepts.

"The first and foremost important thing is that everything in dart is an object "

You have heard the terms Class and Objects and might be thinking what are they?

So let me explain you these terms using some analogy. Let us assume that you are working at a car manufacturing company and you have to manufacture a certain model of car. So the first thing that you have is the Blueprint of the car of that model, and then by using that model, you will manufacture as many cars as you want.
Here the Blueprint is analogous to the Class and the actual car that is made from that blueprint is analogous to Object.

As the blueprint can be used as many times as we wish to make the actual car so we can say that Classes are the templates for creating objects.

Now we will see what are the different elements present in a Class.

Class Contains:

  • properties or attributes: Ex: color, name, type etc
  • Methods: Ex:move(), brake(),etc
Objects of a given class will have all the above properties.

Now we will see how to create a class.

class Car{
//Instance variables, member variables

String name;
String color;
int model;
}

Also to access these variables we can use the (.) dot operator.

Similarly, we can add methods to the class.

class Car{
//Instance variables, member variables

String name;
String color;
int model;

// Adding Methods
void applyBrake(){
print("Brake Applied");
}
}

We can use the same dot operator to access methods also.

Now we will see how to create an object of given class

main()
{
//Creating Object of class Car
var car = new Car();
car.name = "Bugatti";
car.color = "black";
car.model = 3456;
}


So I hope that you have now a clear understanding of  Classes and Objects and In the next Blog I will focus mainly on Constructors and Setter and Getter.

Comments

Popular posts from this blog

IC Recognition from a Printed Circuit Board

In this post, I will tell you about a project that I and my friend did last year. That was IC detection from a printed circuit board and then recognize it using optical character recognition. This is the application of Open Computer Vision (OpenCV). First of all, I will show you a flowchart that will describe our methodology and then I will discuss in detail. There are two main parts of our algorithm: Localizing each IC on the PCB, extracting and saving it. Then we use Tesseract OCR engine to read the labels of each detected IC. A. PREPROCESSING Before we apply any algorithms to our image we have to process it to obtain a proper  image. To save processing time we will resize the image maintaining the aspect ratio.  After that remove noise from the image using Gaussian Blur. B. SEGMENTATION First, we convert the RGB image to HSV (Hue, Saturation, Value) color space. The H channel creates a mask for all the integrated circuits on the board. We...

Constructors In Dart Language

In the previous post, I have discussed Classes and Objects and continuing to that in this post I will cover Constructors. So what a constructor is? As in the previous post, we have created an object car inside the main function using the new keyword, it only creates a generic object without any properties or we can say it is just a spot in memory. And in the next few lines when we assign values to their attributes then it is completely constructed. Although, constructing directly inside the main function is a good idea but there is another way also by which we can form a constructor inside the class itself. But stop I am forgetting something. Before we go deep into constructors I want to tell you something about a very important thing this . this is used to denote the current value. Maybe it is not making sense at this time but it will be clear once we use it. Now coming back to constructors, it is a function or method like entity but without any return type. There are thr...

Inheritance In Dart

So now continuing to the Blog series I will talk about the inheritance concept in this post. In previous blogs, we have seen how to create classes and objects and we can create as many classes as we want. But sometimes we observe that many classes have some properties same as another class. We should keep in mind a fact that creation of an object in memory is a very expensive task and we have to minimize it so one of the methods to do so is Inheritance.   So there are two terms: Parent Class and Child Class. The parent class has some features and the child class has similar features along with some extra specific features and the child can be inherited from the parent class so that there is no redundancy. Image source Google So talking about the above image we can see that the vehicle is the parent class and then the car, motorcycle, truck are child class of vehicle and following that again station wagon, jeep are the child class of car and so on. ...