Lesson 2
Exploring Dart Classes: Attributes and Methods
Lesson Overview

Hello there! In today's lesson, we're delving deeper into Dart classes, concentrating on attributes and methods. Attributes define properties, while methods define actions. We'll be exploring these concepts using a Dog class as an example. Upon completing this lesson, you will have attained proficiency in the use of attributes and methods within Dart classes.

Understanding Attributes in Dart Classes

From an object-oriented perspective, attributes can be considered as properties. For instance, in a Dog class, the attributes might include name: "Fido", breed: "Poodle", color: "White". These attributes provide a detailed characterization of a dog's attributes.

Creating Attributes in a Dart Class

Attributes can be introduced to a class in Dart as follows. In this case, we're setting the name, breed, and color for the Dog class:

Dart
1class Dog { 2 var name = 'Fido'; 3 var breed = 'Poodle'; 4 var color = 'White'; 5}

To create an instance, the following pattern is used:

Dart
1var fido = Dog(); 2 3print(fido.name); // Prints: Fido 4print(fido.breed); // Prints: Poodle 5print(fido.color); // Prints: White

In this instance, Fido is an object of the Dog class.

Understanding Methods in Dart Classes

Simplified, methods can be defined as actions that instances of a class can undertake. For the Dog class, behaviors might include bark(), eat(), and sleep(). Such methods are defined as functions within the class itself.

Creating Methods in a Dart Class

When we introduce methods to the Dog class, we enable it to perform actions like barking, eating, and sleeping:

Dart
1class Dog { 2 var name = 'Fido'; 3 var breed = 'Poodle'; 4 var color = 'White'; 5 6 void bark() { 7 print('Woof Woof!'); 8 } 9 10 void eat(String food) { 11 print('$name is eating $food.'); 12 } 13 14 void sleep() { 15 print('Zzz...'); 16 } 17}

In this manner, the bark, eat, and sleep methods define the behavior of a Dog object. Now, an instance of Dog can bark, eat, and even sleep.

Using Attributes and Methods in Dart Class Instances

Let's create an object from the Dog class and call its methods:

Dart
1var fido = Dog(); 2 3print(fido.name); // Prints: Fido 4print(fido.breed); // Prints: Poodle 5print(fido.color); // Prints: White 6 7fido.bark(); // Prints: Woof Woof! 8fido.eat("bone"); // Prints: Fido is eating bone. 9fido.sleep(); // Prints: Zzz...

With attributes and methods, our Dog class truly comes to life!

Lesson Summary and Practice

That's it for this lesson! With attributes and methods, you can render Dart classes more interactive. We demonstrated the application of attributes and methods using the Dog class. Your next step is to tackle exercises designed for you to practice and reinforce these concepts. Happy Dart coding!

Enjoy this lesson? Now it's time to practice with Cosmo!
Practice is how you turn knowledge into actual skills.