⊗jsOpIhPtM 37 of 60 menu

JavaScript'te OOP'de Korumalı Metotlar

Özel metotlar kalıtılmaz ve sınıf dışından görünmez. Bazen, however, kalıtılan ancak sınıf dışından görünmeyen metotlara ihtiyaç duyulur. Bu tür metotlara korumalı (protected) metotlar denir. JavaScript, ne yazık ki, bu tür metotları desteklemez.

Bu nedenle, bu tür metotlar oluşturmayı sağlayan bir kural getirmeyi öneriyorum. Bu tür metotların isimlerini alt çizgi ile başlatacağız. Aslında eski, yaygın kabul görmüş özel metot kuralını kullanıyoruz. Sadece, kalıtıldıklarını ancak onları dışarıdan kullanmayacağımızı belirtmek için bu metotlara korumalı diyeceğiz. Aslında, eski kurala göre de tam olarak bu şekilde uygulanıyorlar.

Pekala, hadi korumalı bir metoda sahip bir ebeveyn sınıf yazalım:

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

Şimdi bu korumalı metodu bir alt sınıfta kullanalım:

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

Aşağıdaki kodda yardımcı metodu korumalı yapın:

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; } }
Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet