Bird
Raised Fist0
Fluttermobile~10 mins

Classes and objects in Flutter - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to define a class named Person.

Flutter
class [1] {
  String name;
  Person(this.name);
}
Drag options to blanks, or click blank then click option'
AAnimal
BPerson
CCar
DWidget
Attempts:
3 left
💡 Hint
Common Mistakes
Using a class name that does not match the constructor.
Choosing unrelated class names.
2fill in blank
medium

Complete the code to create an object of the Person class.

Flutter
var person = [1]('Alice');
Drag options to blanks, or click blank then click option'
AAnimal
BWidget
CPerson
DCar
Attempts:
3 left
💡 Hint
Common Mistakes
Using a wrong class name to create the object.
Forgetting to add parentheses.
3fill in blank
hard

Fix the error in the method to return the person's name.

Flutter
class Person {
  String name;
  Person(this.name);

  String getName() {
    return [1];
  }
}
Drag options to blanks, or click blank then click option'
Athis.name
Bname()
CgetName
DPerson.name
Attempts:
3 left
💡 Hint
Common Mistakes
Trying to call name as a function.
Using class name to access instance variable.
4fill in blank
hard

Fill both blanks to add an age property and initialize it in the constructor.

Flutter
class Person {
  String name;
  int [1];

  Person(this.name, this.[2]);
}
Drag options to blanks, or click blank then click option'
Aage
Bheight
Cweight
Dscore
Attempts:
3 left
💡 Hint
Common Mistakes
Using different names for property and constructor parameter.
Choosing unrelated property names.
5fill in blank
hard

Fill all three blanks to create a method that returns a greeting with the person's name and age.

Flutter
class Person {
  String name;
  int age;

  Person(this.name, this.age);

  String greet() {
    return 'Hello, my name is $[1] and I am $[2] years [3].';
  }
}
Drag options to blanks, or click blank then click option'
Aname
Bage
Cold
Dyears
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong variable names.
Forgetting to use the word 'old' in the sentence.

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

  1. Step 1: Understand the role of a class

    A class defines a template or blueprint for creating objects with properties and behaviors.
  2. Step 2: Differentiate from other concepts

    Widgets, functions, and variables serve different purposes; only a class is a blueprint for objects.
  3. Final Answer:

    A blueprint to create objects -> Option B
  4. 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

  1. Step 1: Recall Dart class syntax

    In Dart, classes are defined using the keyword class followed by the class name and curly braces.
  2. Step 2: Check each option

    Only class Car { } uses the correct Dart syntax: class Car { }. Others use incorrect keywords or syntax.
  3. Final Answer:

    class Car { } -> Option D
  4. 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

  1. Step 1: Understand the class and constructor

    The class Dog has a constructor that sets the name property to 'Buddy'.
  2. Step 2: Analyze the bark method call

    The bark() method prints 'Woof! My name is ' followed by the dog's name, which is 'Buddy'.
  3. Final Answer:

    Woof! My name is Buddy -> Option A
  4. 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

  1. Step 1: Check property declarations

    The line String name is missing a semicolon at the end, which is required in Dart.
  2. Step 2: Verify constructor and class name

    The constructor syntax is correct, and class names start with uppercase by convention, so no error there.
  3. Final Answer:

    Missing semicolon after 'String name' -> Option A
  4. 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

  1. 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.
  2. 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.
  3. Final Answer:

    class Book { String title, author; Book(this.title, this.author); String describe() { return '$title by $author'; } } -> Option C
  4. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard