⊗jsOpIhPtM 37 of 60 menu

Phương thức được bảo vệ trong OOP JavaScript

Phương thức riêng tư không được kế thừa và không thể nhìn thấy từ bên ngoài lớp. Tuy nhiên, đôi khi cần các phương thức được kế thừa nhưng không thể nhìn thấy từ bên ngoài lớp. Những phương thức như vậy được gọi là được bảo vệ (protected). Thật không may, JavaScript không hỗ trợ các phương thức như vậy.

Vì vậy, tôi đề xuất đưa ra một quy ước nhất định cho phép tạo ra các phương thức như vậy. Chúng ta sẽ bắt đầu tên của các phương thức đó bằng dấu gạch dưới. Trên thực tế, chúng ta đang sử dụng quy ước cũ được chấp nhận chung về các phương thức riêng tư. Chỉ khác là chúng ta gọi chúng là các phương thức được bảo vệ để biểu thị rằng chúng được kế thừa, nhưng chúng ta sẽ không sử dụng chúng từ bên ngoài. Tuy nhiên, đó chính xác là cách chúng được áp dụng theo quy ước cổ xưa.

Vậy, hãy viết một lớp cha với một phương thức được bảo vệ:

class User { setName(name) { this.name = name; } getName() { return this._capeFirst(this.name); } _capeFirst(str) { return str[0].toUpperCase() + str.slice(1); } }

Hãy sử dụng phương thức được bảo vệ này trong lớp con:

class Student extends User { setSurn(surn) { this.surn = surn; } getSurn() { return this._capeFirst(this.surn); } }

Trong đoạn mã sau, hãy biến phương thức trợ giúp thành phương thức được bảo vệ:

class User { setName(name) { if (this.notEmpty(name)) { this.name = name; } } getName() { return this.name; } notEmpty(str) { return str.length > 0; } } class Employee extends User { setSurn(surn) { if (this.notEmpty(surn)) { this.surn = surn; } } getSurn() { return this.surn; } }
Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối