1. Home
  2. Docs
  3. Kurikulum Flutter Mobile Apps
  4. Materi week 2
  5. Hari-8-OOP(2)

Hari-8-OOP(2)

Inheritance

Inheritance adalah konsep OOP dimana sebuah class dapat menurunkan property dan method yang dimilikinya kepada class lain. Konsep inheritance dipakai untuk memanfaatkan fitur code reuse, yakni menghindari terjadinya duplikasi kode program.

Dalam bahasa Indonesia, inheritance ini disebut juga sebagai pewarisan atau penurunan.

Konsep inheritance membuat sebuah struktur atau hierarchy class dalam kode program. Class yang akan diturunkan bisa disebut sebagai class induk (parent class), super class, atau base class.

Sedangkan class yang menerima penurunan bisa disebut sebagai class anak (child class), sub class, derived class atau heir class.

Tidak semua property dan method class induk akan diturunkan. Property dan method dengan hak akses private tidak akan diturunkan kepada class anak. Hanya property dan method dengan hak akses protected dan public saja yang bisa diakses dari class anak.

contoh:

main.dart

character.dart

godzila.dart

ultramen.dart

jdi yang dimaksut dengan polymorism dari class ultramen dan godzila adalah extends, dimana class ultramen dan godzila mewarisi sifat dari character yang dimana character memiliki object berupa level point sehingga saat dikumpulkan di main.dart secara default godzilla dan ultramen dari mengisi dari levelPoint yang ada pada parentnya yaitu character.

Polymorism

Polymorphism adalah konsep di mana suatu objek yang berbeda-beda dapat diakses melalui interface yang sama. Sebuah objek yang polymorphic dapat beradaptasi dengan metode apapun yang diimplementasikan pada objek tersebut, dan setiap class memiliki interpretasinya tersendiri terhadap interfacenya.

contoh :

main.dart

operasi_math.dart

perkalian.dart

pembagian.dart

Constructor

Constructor adalah method khusus yang akan dijalankan secara otomatis pada saat sebuah objek dibuat (instansiasi), yakni ketika perintah “new” dijalankan.

Constructor biasa digunakan untuk membuat proses awal dalam mempersiapkan objek, seperti memberi nilai awal kepada property, memanggil method internal dan beberapa proses lain yang digunakan untuk mempersiapkan objek.

main.dart

mahasiswa.dart