JavaScript OOP හි උරුමකම ලබන අතරතුර පෞද්ගලික ක්රම
පෞද්ගලික ක්රම උරුම නොලබයි. කැප්සියුලීකරණය උල්ලංඝනය නොකිරීම සඳහා මෙය විශේෂයෙන් සකසා ඇත. අපි උදාහරණයක් බලමු. පහත දක්වා ඇති පෞද්ගලික ක්රමයක් සහිත මාපිය පන්තියක් අප සතුව ඇතැයි සිතමු:
class User {
setName(name) {
this.name = name;
}
getName() {
return this.#capeFirst(this.name);
}
#capeFirst(str) {
return str[0].toUpperCase() + str.slice(1);
}
}
මාපිය පන්තියෙන් පහත පන්තිය උරුමය ලබයි යැයි සිතමු:
class Student extends User {
setSurn(surn) {
this.surn = surn;
}
getSurn() {
return this.surn;
}
}
උපන්නා මාපියයාගේ පෞද්ගලික ක්රමය භාවිතා කිරීමට අවශ්ය යැයි සිතමු. JavaScript මෙයට අවසර නොදෙන අතර දෝෂයක් ලබා දෙයි:
class Student extends User {
setSurn(surn) {
this.surn = surn;
}
getSurn() {
return this.#capeFirst(this.surn); // දෝෂයක් ඇති වේ
}
}
Employee පන්තිය තුළ මාපියයාගේ පෞද්ගලික ක්රමය භාවිතා කිරීමට උත්සාහ කරන්න.