Menu
CoddyTech

Dasar-Dasar Constructor

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

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

Berikut contoh class dengan konstruktor:

class Dog {
  late String name; // late: diatur di dalam isi konstruktor
  late String breed;

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

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

Buat objek dengan meneruskan argumen ke konstruktor:

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

Akses variabel yang ditetapkan oleh konstruktor:

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 langsung dalam daftar parameter:

class Dog {
  String name;
  String breed;

  // Penulisan 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 parameter default:

class Cat {
  String name;
  int age;

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

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

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

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

challenge icon

Tantangan

Mudah

Kamu diberi file Dart (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