Pengenalan OOP
![]() |
| OOP DART |
Object-Oriented Programming (OOP) adalah paradigma pemrograman populer yang berbasis pada konsep objek. Dalam OOP, terdapat beberapa istilah penting yang perlu dipahami, yaitu:
- Class: Cetakan atau blueprint untuk membuat objek.
- Object: Instance dari sebuah class.
- Properties: Variabel yang menyimpan data dalam class.
- Method: Fungsi yang berada di dalam class dan bertindak sebagai aksi yang bisa dilakukan oleh objek.
- Constructor: Method spesial yang pertama kali dijalankan ketika objek dibuat.
- Manipulasi Properties
Properti dalam objek bisa dimanipulasi tergantung pada apakah mereka dideklarasikan sebagai final. Jika final, maka nilai properti tidak bisa diubah, jika tidak, maka bisa diubah seperti variabel biasa.
Contoh Kode: Manipulasi Properties
class Car {
String brand = "Unknown";
final int wheel = 4;
String? color;
}
void main() {
Car car = Car();
car.brand = "Toyota";
car.color = "Blue";
print(car.brand);
print(car.color);
print(car.wheel); // Tidak bisa diubah karena final
}
- Method dalam OOP
Method adalah fungsi yang berada dalam class dan dapat menerima parameter serta mengembalikan nilai.
Contoh Kode: Method
class Car {
String brand = "Unknown";
final int wheel = 4;
String? color;
void honk() {
print("Beep beep!");
}
}
void main() {
Car car = Car();
car.honk();
}
- Constructor dalam OOP
Constructor adalah method khusus yang otomatis dipanggil saat objek dibuat. Constructor dapat memiliki parameter untuk menginisialisasi properti.
Contoh Kode: Constructor
class Car {
String brand;
String color;
final int wheel = 4;
Car(this.brand, this.color);
}
void main() {
Car car = Car("Toyota", "Blue");
print(car.brand);
print(car.color);
}
- Inheritance (Pewarisan)
Inheritance memungkinkan sebuah class mewarisi properti dan method dari class lain. Class yang diwarisi disebut parent class, sedangkan class yang mewarisi disebut child class.
Contoh Kode: Inheritance
class Vehicle {
String brand = "Unknown";
String? color;
int wheel;
Vehicle(this.wheel);
}
class Car extends Vehicle {
Car() : super(4);
}
class Motorcycle extends Vehicle {
Motorcycle() : super(2);
}
- Method Overriding
Method overriding memungkinkan subclass mendefinisikan ulang method yang sudah ada di parent class.
Contoh Kode: Method Overriding
class Vehicle {
void honk() {
print("Beep from vehicle");
}
}
class Car extends Vehicle {
@override
void honk() {
print("Beep from car");
}
}
void main() {
Car car = Car();
car.honk();
}
- Factory Constructor
Factory constructor digunakan untuk mengontrol bagaimana objek dibuat, biasanya untuk memastikan hanya satu instance yang dibuat.
Contoh Kode: Factory Constructor
class Person {
static final Person _instance = Person._internal();
factory Person() {
return _instance;
}
Person._internal();
}
void main() {
Person person1 = Person();
Person person2 = Person();
print(person1 == person2); // Output: true
}- Cascade Notation
Cascade notation memungkinkan kita melakukan beberapa operasi pada objek secara berurutan tanpa harus menuliskannya berulang kali.
Contoh Kode: Cascade Notation
void main() {
Car car = Car()
..brand = "Toyota"
..color = "Blue";
}
class Car {
String brand = "Unknown";
String? color;
}

Komentar
Posting Komentar