Belajar Typescript #44 | Member visibility / Access modifier
Muhammad Rafitulloh Nur Ramadhani
28 Februari 2023
Dalam pemrograman TypeScript, member visibility (juga dikenal sebagai access modifier) mengacu pada pengaturan tingkat akses untuk properti dan metode dalam sebuah class. Ini menentukan sejauh mana properti atau metode dapat diakses dari luar class. Member visibility adalah salah satu aspek penting dalam pengembangan aplikasi berorientasi objek karena membantu mengatur data dan fungsionalitas dengan lebih baik. Artikel ini akan menjelaskan konsep member visibility dalam TypeScript, jenis-jenis access modifier yang digunakan, dan bagaimana mereka berfungsi dalam kode.
Ada tiga access modifier utama yang digunakan dalam TypeScript:
Public: Properti atau metode dengan access modifier public
dapat diakses dari mana saja, baik dari dalam class itu sendiri maupun dari luar class.
Private: Properti atau metode dengan access modifier private
hanya dapat diakses dari dalam class itu sendiri. Mereka tidak dapat diakses dari luar class, termasuk class turunan.
Protected: Properti atau metode dengan access modifier protected
dapat diakses dari dalam class itu sendiri dan dari class turunannya. Namun, mereka tetap tidak dapat diakses dari luar class.
Untuk menggunakan access modifier dalam TypeScript, Anda dapat menggabungkan access modifier dengan properti atau metode dalam definisi class. Berikut adalah contoh penggunaan access modifier dalam sebuah class:
class Car {
private brand: string;
protected speed: number;
public owner: string;
constructor(brand: string, speed: number, owner: string) {
this.brand = brand;
this.speed = speed;
this.owner = owner;
}
public startEngine() {
console.log(`The ${this.brand} car's engine is started.`);
}
private stopEngine() {
console.log(`The ${this.brand} car's engine is stopped.`);
}
protected increaseSpeed(increment: number) {
this.speed += increment;
}
}
Dalam contoh di atas, class Car
memiliki tiga properti dengan berbagai access modifier: private
, protected
, dan public
. Properti brand
adalah private
, properti speed
adalah protected
, dan properti owner
adalah public
. Selain itu, terdapat tiga metode dengan access modifier yang sesuai.
Ketika Anda menciptakan objek dari class yang menggunakan access modifier, Anda dapat mengakses properti dan metode sesuai dengan tingkat akses yang telah ditentukan. Berikut adalah contoh penggunaan objek dari class Car
:
const myCar = new Car("Toyota", 100, "Alice");
console.log(myCar.owner); // Menggunakan properti public
myCar.startEngine(); // Menggunakan metode public
// Berikut ini akan menghasilkan kesalahan karena brand bersifat private:
// console.log(myCar.brand);
// myCar.stopEngine();
// myCar.increaseSpeed(20);
Pada contoh di atas, kita dapat mengakses properti owner
dan metode startEngine
karena keduanya memiliki access modifier public
. Namun, kita tidak dapat mengakses properti brand
(karena private
) atau metode stopEngine
dan increaseSpeed
(karena private
dan protected
).
Member visibility (access modifier) adalah konsep yang penting dalam pemrograman berorientasi objek yang memungkinkan Anda untuk mengatur tingkat akses ke properti dan metode dalam sebuah class. Dengan menggunakan access modifier, Anda dapat mengontrol akses ke data dan fungsionalitas dalam kode Anda, yang membantu dalam menjaga keamanan dan struktur program Anda. Pemahaman yang baik tentang penggunaan access modifier akan membantu Anda membangun kode yang lebih aman dan mudah dimengerti.
Artikel Lainnya Dengan Kategori Terkait :
1. Belajar Typescript #01 | Memahami apa itu Typescript
2. Belajar Typescript #02 | Setup project Typescript
3. Belajar Typescript #03 | Konfigurasi compiler Typescript
4. Belajar Typescript #04 | Membuat code dan menjalankan Typescript
5. Belajar Typescript #05 | Basic types pada Typescript
6. Belajar Typescript #06 | Type data Boolean pada Typescript
7. Belajar Typescript #07 | Type data Number pada Typescript
8. Belajar Typescript #08 | Type data String pada Typescript
9. Belajar Typescript #09 | Type data Null dan Undefined pada Typescript
10. Belajar Typescript #10 | Type data Any pada Typescript
11. Belajar Typescript #11 | Type data Void pada Typescript
12. Belajar Typescript #12 | Object types pada Typescript
13. Belajar Typescript #13 | Object Literal pada Typescript
14. Belajar Typescript #14 | Type data Void pada Typescript
15. Belajar Typescript #15 Object types pada Typescript
16. Belajar Typescript #16 | Memahami dan menerapkan type aliases
17. Belajar Typescript #17 | Memahami dan menerapkan union types
18. Belajar Typescript #18 | Memahami dan menerapkan intersection types
19. Belajar Typescript #19 | Basic types lanjutan - Array
20. Belajar Typescript #20 | Basic types lanjutan - Tuples
21. Belajar Typescript #21 | Basic types lanjutan - Null
22. Belajar Typescript #22 | Basic types lanjutan - Undefined
23. Belajar Typescript #23 | Basic types lanjutan - Void
24. Belajar Typescript #24 | Basic types lanjutan - Never
25. Belajar Typescript #25 | Mengenal teknik lanjutan pada Typescript
26. Belajar Typescript #26 | Optional Parameter
27. Belajar Typescript #27 | Default Parameter
28. Belajar Typescript #28 | Return Type
29. Belajar Typescript #29 | Mendeklarasikan Fungsi - Tanpa Parameter
30. Belajar Typescript #30 | Mendeklarasikan Fungsi - Dengan Parameter
31. Belajar Typescript #31 | Mendeklarasikan Fungsi - Dengan Return Type
32. Belajar Typescript #32 | Mendeklarasikan Fungsi - Sebagai Variabel
33. Belajar Typescript #33 | Mendeklarasikan Fungsi - Sebagai Tipe Data
34. Belajar Typescript #34 | Function Call Signature
35. Belajar Typescript #35 | Menerapkan Types ke dalam class
36. Belajar Typescript #36 | Class declaration
37. Belajar Typescript #37 | Properties dan Methods
38. Belajar Typescript #38 | Object dan Properti dari sebuah class
39. Belajar Typescript #39 | Constructor
40. Belajar Typescript #40 | Konsep OOP - Inheritance
41. Belajar Typescript #41 | Konsep OOP - Abstraction
42. Belajar Typescript #42 | Konsep OOP - Encapsulation
43. Belajar Typescript #43 | Accessors
44. Belajar Typescript #44 | Member visibility / Access modifier
Ahmad Dika Zulfahmi - 18 Februari 2025
Jungler Tank Bisa Kembali? Update yang Bisa Membawa Jungler Tank ke Meta Lagi
Ahmad Dika Zulfahmi - 06 Februari 2025
Setting Sensitivitas Auto Headshot Free Fire Terbaik
Ahmad Dika Zulfahmi - 03 Februari 2025
Flash Sale Minaplay! Top Up Diamond Free Fire Murah & Cepat!