A class is a blueprint or template that defines properties and behaviors (methods) for objects. It helps organize code by grouping related data and functions.
Click to reveal answer
beginner
What is an object in Flutter?
An object is an instance of a class. It holds actual values for the properties defined by the class and can use the class's methods.
Click to reveal answer
beginner
How do you create an object from a class in Dart?
You create an object by calling the class name followed by parentheses, like: var myObject = MyClass();
Click to reveal answer
intermediate
What is a constructor in a Dart class?
A constructor is a special method that runs when you create an object. It initializes the object's properties.
Click to reveal answer
beginner
Why use classes and objects in Flutter apps?
They help organize code into reusable and manageable pieces, making apps easier to build, understand, and maintain.
Click to reveal answer
What keyword is used to define a class in Dart?
Aclass
Bobject
Cnew
Dfunction
✗ Incorrect
The keyword 'class' is used to define a class in Dart.
How do you create an instance of a class named 'Car'?
ACar = new car();
Bvar car = Car();
Ccreate Car();
DCar car = new Car[];
✗ Incorrect
You create an instance by calling the class name with parentheses: var car = Car();
What does a constructor do?
ADeletes an object
BCreates a new class
CDefines a class
DInitializes an object when created
✗ Incorrect
A constructor initializes an object’s properties when it is created.
Which of these is true about objects?
AObjects define methods only
BObjects are blueprints for classes
CObjects are instances of classes
DObjects cannot have properties
✗ Incorrect
Objects are instances created from classes and hold data and behavior.
Why use classes in Flutter?
ATo organize code into reusable parts
BTo write code faster without structure
CTo avoid using variables
DTo make apps slower
✗ Incorrect
Classes help organize code into reusable and manageable parts.
Explain in your own words what a class and an object are in Flutter.
Think about how a cookie cutter (class) makes cookies (objects).
You got /3 concepts.
Describe how constructors help when creating objects in Dart.
Imagine setting up a new phone with initial settings.
You got /3 concepts.
Practice
(1/5)
1. What is a class in Flutter programming?
easy
A. A type of widget
B. A blueprint to create objects
C. A function that runs the app
D. A variable that stores data
Solution
Step 1: Understand the role of a class
A class defines a template or blueprint for creating objects with properties and behaviors.
Step 2: Differentiate from other concepts
Widgets, functions, and variables serve different purposes; only a class is a blueprint for objects.
Final Answer:
A blueprint to create objects -> Option B
Quick Check:
Class = blueprint for objects [OK]
Hint: Classes define blueprints, not widgets or variables [OK]
Common Mistakes:
Confusing classes with widgets
Thinking classes are functions
Mixing classes with variables
2. Which of the following is the correct way to define a simple class named Car in Dart?
easy
A. function Car() { }
B. Car class { }
C. def Car() { }
D. class Car { }
Solution
Step 1: Recall Dart class syntax
In Dart, classes are defined using the keyword class followed by the class name and curly braces.
Step 2: Check each option
Only class Car { } uses the correct Dart syntax: class Car { }. Others use incorrect keywords or syntax.
Final Answer:
class Car { } -> Option D
Quick Check:
Dart class syntax = class Name { } [OK]
Hint: Use 'class' keyword followed by name and braces [OK]
Common Mistakes:
Using 'def' or 'function' instead of 'class'
Placing 'class' after the name
Missing curly braces
3. What will be the output of this Dart code?
class Dog {
String name;
Dog(this.name);
void bark() {
print('Woof! My name is $name');
}
}
void main() {
var dog = Dog('Buddy');
dog.bark();
}
medium
A. Woof! My name is Buddy
B. Woof! My name is dog
C. Error: Missing constructor
D. Nothing is printed
Solution
Step 1: Understand the class and constructor
The class Dog has a constructor that sets the name property to 'Buddy'.
Step 2: Analyze the bark method call
The bark() method prints 'Woof! My name is ' followed by the dog's name, which is 'Buddy'.
Final Answer:
Woof! My name is Buddy -> Option A
Quick Check:
dog.bark() prints name set by constructor [OK]
Hint: Constructor sets name; bark prints it [OK]
Common Mistakes:
Assuming default constructor without parameters
Forgetting string interpolation syntax
Expecting no output without main()
4. Identify the error in this Dart class definition:
class Person {
String name
int age;
Person(this.name, this.age);
}
medium
A. Missing semicolon after 'String name'
B. Constructor syntax is wrong
C. Class name should be lowercase
D. No error, code is correct
Solution
Step 1: Check property declarations
The line String name is missing a semicolon at the end, which is required in Dart.
Step 2: Verify constructor and class name
The constructor syntax is correct, and class names start with uppercase by convention, so no error there.
Final Answer:
Missing semicolon after 'String name' -> Option A
Quick Check:
Every property line needs a semicolon [OK]
Hint: Check each line ends with a semicolon [OK]
Common Mistakes:
Ignoring missing semicolons
Thinking constructor syntax is wrong
Confusing naming conventions with errors
5. You want to create a class Book that stores a title and author, and has a method describe() that returns a string like "Title by Author". Which code correctly implements this?
hard
A. class Book {
String title, author;
Book(this.title, this.author);
String describe() {
print('$title by $author');
}
}
B. class Book {
String title, author;
Book(this.title, this.author);
void describe() {
print('$title by $author');
}
}
C. class Book {
String title, author;
Book(this.title, this.author);
String describe() {
return '$title by $author';
}
}
D. class Book {
String title, author;
Book(this.title, this.author);
describe() {
print('$title by $author');
}
}
Solution
Step 1: Check method return type and behavior
The method describe() should return a string, so its return type must be String and it must use return.
Step 2: Analyze each option
class Book {
String title, author;
Book(this.title, this.author);
String describe() {
return '$title by $author';
}
} correctly returns the string. class Book {
String title, author;
Book(this.title, this.author);
void describe() {
print('$title by $author');
}
} returns void and prints instead of returning. class Book {
String title, author;
Book(this.title, this.author);
String describe() {
print('$title by $author');
}
} returns String but uses print, which returns void. class Book {
String title, author;
Book(this.title, this.author);
describe() {
print('$title by $author');
}
} omits return type and prints instead of returning a string.
Final Answer:
class Book {
String title, author;
Book(this.title, this.author);
String describe() {
return '$title by $author';
}
} -> Option C
Quick Check:
Method returns string with return keyword [OK]
Hint: Use return with correct type for methods [OK]
Common Mistakes:
Using print instead of return
Omitting return type
Returning void when string expected
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.