Menu
CoddyTech

Dasar-Dasar Constructor

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Dart di Coddy. Pelajaran 8 dari 110.

Constructor adalah method khusus yang berjalan secara otomatis saat kamu membuat object baru. Constructor menginisialisasi variabel instans object tepat pada saat object dibuat.

Berikut contoh class dengan constructor:

class Dog {
  String name;
  String breed;

  Dog(String name, String breed) {
    this.name = name;
    this.breed = breed;
  }
}

Constructor memiliki nama yang sama dengan class. Parameter diberikan saat membuat object.

Buat object dengan meneruskan argumen ke constructor:

Dog rex = Dog('Rex', 'German Shepherd');
Dog buddy = Dog('Buddy', 'Golden Retriever');

Akses variabel yang ditetapkan oleh constructor:

print(rex.name);
print(rex.breed);
print(buddy.name);
print(buddy.breed);

Output:

Rex
German Shepherd
Buddy
Golden Retriever

Dart juga menyediakan sintaks konstruktor singkat yang menggunakan this.variableName secara langsung di daftar parameter:

class Dog {
  String name;
  String breed;

  // Cara singkat: otomatis menetapkan parameter ke variabel instance
  Dog(this.name, this.breed);
}

Kedua versi menghasilkan hasil yang sama. Bentuk singkat ini adalah fitur Dart yang populer dan menghilangkan kebutuhan untuk menulis this.name = name secara manual.

Kamu juga bisa menambahkan nilai default untuk parameter:

class Cat {
  String name;
  int age;

  Cat(this.name, [this.age = 1]); // age bernilai 1 secara default
}

Cat fluffy = Cat('Fluffy', 3);
Cat whiskers = Cat('Whiskers'); // age bernilai 1 secara default

print('${fluffy.name} is ${fluffy.age}');    // Fluffy berusia 3
print('${whiskers.name} is ${whiskers.age}'); // Whiskers berusia 1

Poin utama: Konstruktor memastikan setiap object diinisialisasi dengan benar menggunakan data saat dibuat, sehingga kamu tidak perlu mengatur variabel secara manual setelahnya.

challenge icon

Tantangan

Mudah

Kamu diberi file PHP (book.dart dan driver.dart) untuk membuat sistem buku.

Tugasmu:

  • Lengkapi class Book di book.dart dengan menambahkan konstruktor yang menginisialisasi title, author, dan pages: gunakan sintaks singkat Dart Book(this.title, this.author, this.pages);
  • Di driver.dart, buat object Book untuk 'Harry Potter' karya 'J.K. Rowling' dengan 400 halaman

Ikuti komentar TODO di setiap file.

Coba sendiri

import 'book.dart';

void main() {
  // TODO: Buat object Book dengan:
  // title: 'Harry Potter', author: 'J.K. Rowling', pages: 400
  Book myBook = ?;

  print("'${myBook.title}' by ${myBook.author}, ${myBook.pages} pages");
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler Dart online