Fitur Kelas Tingkat Lanjut
Temukan fitur kelas tingkat lanjut seperti kelas abstrak, pengubah akses, dan anggota statis untuk menulis kode TypeScript yang bersih, modular, dan berorientasi objek.
Fitur Kelas Tingkat Lanjut adalah pelajaran TypeScript Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar TypeScript Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus TypeScript Academy mencakup 3 pelajaran total.
Pengantar Fitur Kelas Tingkat Lanjut
Pengantar Fitur Kelas Tingkat Lanjut
TypeScript menyediakan beberapa fitur kelas tingkat lanjut yang membantu Anda menulis kode berorientasi objek yang modular, mudah dikembangkan, dan mudah dipelihara.
Dalam pelajaran ini, Anda akan mempelajari pengubah akses, kelas abstrak, anggota statis, dan lainnya.

Ikhtisar Fitur Kelas Tingkat Lanjut
Pengantar Fitur Kelas Tingkat Lanjut
TypeScript menyediakan beberapa fitur kelas tingkat lanjut yang membantu Anda menulis kode berorientasi objek yang modular, mudah dikembangkan, dan mudah dipelihara.
Dalam pelajaran ini, Anda akan mempelajari pengubah akses, kelas abstrak, anggota statis, dan lainnya.

Pengubah Akses
Pengubah Akses
TypeScript menyediakan tiga pengubah akses untuk mengendalikan visibilitas anggota kelas:
public: Dapat diakses di mana saja (bawaan).private: Hanya dapat diakses di dalam kelas.protected: Dapat diakses di dalam kelas dan subkelasnya.
class Person {
public name: string;
private age: number;
protected role: string;
constructor(name: string, age: number, role: string) {
this.name = name;
this.age = age;
this.role = role;
}
}
class Employee extends Person {
getRole(): string {
return this.role; // Accessible because it's protected
}
}Kelas Abstrak
Kelas Abstrak
Kelas abstrak digunakan sebagai cetak biru untuk kelas lain. Kelas ini tidak dapat dibuat instansnya secara langsung dan dapat menyertakan metode abstrak.
abstract class Shape {
abstract getArea(): number;
}
class Circle extends Shape {
constructor(public radius: number) {
super();
}
getArea(): number {
return Math.PI * this.radius ** 2;
}
}
const circle = new Circle(5);
console.log(circle.getArea()); // 78.54Anggota Statis
Anggota Statis
Anggota statis dimiliki oleh kelas itu sendiri, bukan oleh suatu instans kelas. Anggota tersebut diakses menggunakan nama kelas.
class MathUtils {
static PI = 3.14;
static calculateCircleArea(radius: number): number {
return this.PI * radius ** 2;
}
}
console.log(MathUtils.PI); // 3.14
console.log(MathUtils.calculateCircleArea(5)); // 78.5Getter dan Setter
Getter dan Setter
Getter dan setter memungkinkan Anda mengendalikan cara properti diakses atau diubah dalam suatu kelas.
class Person {
private _name: string;
constructor(name: string) {
this._name = name;
}
get name(): string {
return this._name;
}
set name(newName: string) {
this._name = newName;
}
}
const person = new Person('Alice');
console.log(person.name); // Alice
person.name = 'Bob';
console.log(person.name); // BobProperti Hanya Baca
Properti Hanya Baca
Pengubah readonly memastikan bahwa properti hanya dapat ditetapkan selama inisialisasi dan tidak dapat diubah setelahnya.
class Vehicle {
readonly make: string;
constructor(make: string) {
this.make = make;
}
}
const car = new Vehicle('Toyota');
console.log(car.make); // Toyota
// car.make = 'Honda'; // Error: Cannot assign to 'make' because it is a read-only property.Konstruktor Private dan Protected
Konstruktor Private dan Protected
Kelas dapat memiliki konstruktor private atau protected untuk mengendalikan cara dan tempat kelas tersebut dibuat instansnya.
class Singleton {
private static instance: Singleton;
private constructor() {}
static getInstance(): Singleton {
if (!this.instance) {
this.instance = new Singleton();
}
return this.instance;
}
}
const singleton = Singleton.getInstance();
console.log(singleton);Tugas Latihan
Tugas Latihan
Buat sebuah kelas dengan konstruktor protected dan perluasnya dalam subkelas. Tambahkan metode untuk mengakses properti terlindungi di subkelas.
Selamat!
Selamat!
Anda telah mempelajari fitur lanjutan kelas seperti pengubah akses, kelas abstrak, anggota statis, dan lainnya. Silakan berlatih dengan konsep-konsep ini untuk menulis kode TypeScript berorientasi objek yang bersih dan efisien!

Pertanyaan yang Sering Diajukan
Apakah pelajaran “Fitur Kelas Tingkat Lanjut” gratis?
Ya — teks lengkap “Fitur Kelas Tingkat Lanjut” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus TypeScript Academy, upgrade ke CoddyKit PRO. Kursus TypeScript Academy mencakup 3 pelajaran total.
Apa yang akan aku pelajari di “Fitur Kelas Tingkat Lanjut”?
Temukan fitur kelas tingkat lanjut seperti kelas abstrak, pengubah akses, dan anggota statis untuk menulis kode TypeScript yang bersih, modular, dan berorientasi objek. Kamu berlatih TypeScript Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai TypeScript Academy?
Tidak diperlukan pengalaman sebelumnya. TypeScript Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 3.
Berapa lama pelajaran “Fitur Kelas Tingkat Lanjut” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran TypeScript Academy ini?
Ya. Setiap pelajaran TypeScript Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Penyempitan Tipe Tingkat Lanjut
- Fitur Kelas Tingkat Lanjut
- Tipe Kondisional