Cara Menggunakan Kelas TypeScript dengan Contoh Sederhana
TypeScript menghadirkan fitur-fitur canggih pada JavaScript, termasuk konsep kelas, yang memungkinkan pemrograman berorientasi objek. Kelas menyediakan cetak biru untuk membuat objek, merangkum data, dan mendefinisikan perilaku. Panduan ini akan memandu Anda melalui dasar-dasar kelas TypeScript dengan contoh-contoh sederhana.
Apa itu Kelas?
Kelas adalah cetak biru untuk membuat objek dengan properti dan metode yang telah ditentukan sebelumnya. Kelas membantu dalam mengatur kode, meningkatkan penggunaan ulang, dan membuat aplikasi yang dapat diskalakan. Kelas dalam TypeScript bekerja sama dengan kelas dalam bahasa pemrograman berorientasi objek lainnya.
Mendefinisikan Kelas Dasar
Untuk mendefinisikan kelas dalam TypeScript, gunakan kata kunci class
diikuti dengan nama kelas dan serangkaian kurung kurawal yang berisi properti dan metode.
Contoh Kelas Dasar
Berikut adalah contoh kelas Person
sederhana dengan properti dan metode:
class Person {
name: string;
age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
greet(): void {
console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
}
}
const person1 = new Person("Alice", 30);
person1.greet(); // Output: Hello, my name is Alice and I am 30 years old.
Dalam contoh ini, kelas Person
memiliki dua properti: name
dan age
. Metode konstruktor menginisialisasi properti ini, dan metode greet
menghasilkan pesan ucapan.
Pengubah Akses
TypeScript menyediakan tiga pengubah akses untuk mengontrol visibilitas anggota kelas:
public
: Anggota dapat diakses dari mana saja (default).private
: Anggota hanya dapat diakses di dalam kelas.protected
: Anggota dapat diakses dalam kelas dan subkelasnya.
Menggunakan Pengubah Akses
Berikut ini cara Anda dapat menggunakan pengubah akses di kelas TypeScript:
class Animal {
public name: string;
private age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
public getAge(): number {
return this.age;
}
}
const dog = new Animal("Buddy", 5);
console.log(dog.name); // Output: Buddy
console.log(dog.getAge()); // Output: 5
// console.log(dog.age); // Error: 'age' is private and only accessible within class 'Animal'.
Dalam contoh ini, nama
adalah properti publik, yang dapat diakses dari luar kelas, sementara usia
adalah properti pribadi, yang hanya dapat diakses di dalam kelas.
Pewarisan dalam TypeScript
TypeScript mendukung pewarisan, yang memungkinkan suatu kelas mewarisi properti dan metode dari kelas lain. Ini membantu dalam penggunaan kembali kode dan pembuatan hierarki kelas.
Contoh Pewarisan
Di bawah ini adalah contoh kelas Anjing
yang mewarisi kelas dasar Hewan
:
class Animal {
constructor(public name: string) {}
makeSound(): void {
console.log(`${this.name} makes a sound.`);
}
}
class Dog extends Animal {
constructor(name: string) {
super(name); // Call the constructor of the base class
}
makeSound(): void {
console.log(`${this.name} barks.`);
}
}
const dog = new Dog("Buddy");
dog.makeSound(); // Output: Buddy barks.
Dalam contoh ini, kelas Dog
memperluas kelas Animal
dan mengganti metode makeSound
.
Pengambil dan Pengatur
TypeScript memungkinkan Anda menentukan pengambil dan penyetel untuk properti, menyediakan akses terkendali ke anggota kelas.
Contoh Getter dan Setter
class Person {
private _name: string;
constructor(name: string) {
this._name = name;
}
get name(): string {
return this._name;
}
set name(newName: string) {
if (newName) {
this._name = newName;
} else {
console.log("Name cannot be empty.");
}
}
}
const person = new Person("Alice");
console.log(person.name); // Output: Alice
person.name = "Bob";
console.log(person.name); // Output: Bob
Dalam contoh ini, properti name
diakses dan dimodifikasi menggunakan metode getter dan setter.
Kesimpulan
Kelas TypeScript merupakan cara yang ampuh untuk menulis kode berorientasi objek dengan cara yang bersih dan efisien. Kelas ini menyediakan cara terstruktur untuk menentukan properti, metode, pengubah akses, pewarisan, dan banyak lagi. Dengan memahami cara menggunakan kelas TypeScript, Anda dapat menulis kode yang lebih tangguh dan mudah dipelihara untuk aplikasi Anda.