ජාවාස්ක්රිප්ට් OOP හි පැරණි විලාසිත පෞද්ගලිකත්වය
පෞද්ගලික ගුණාංග සහ ක්රම ප්රකාශ කිරීම
# සංකේතය හරහා ජාවාස්ක්රිප්ට් තුළ
මෑතකදී පමණක් පෙනී ගියේය. ඊට පෙර,
විශේෂ සැලැස්මක් භාවිතා කිරීමට සිදු විය.
මෙම සැලැස්මේ සාරය වන්නේ, පෞද්ගලික ගුනාංග සහ ක්රමවල නම් යටින් ඉරි සංකේතයෙන් ආරම්භ කළ යුතු බවට ව්යවස්ථාවක් සම්පාදනය කිරීමයි. යථාර්ථයේ දී එවැනි නම් පෞද්ගලික නොවනු ඇත, නමුත් අපි පන්නයෙන් පිටතින් ඒවා භාවිතා නොකරන බවට ව්යවස්ථාවක් කර ගනිමු.
අපි උත්සාහ කරමු. එවැනි විලාසිතයක පෞද්ගලික ගුණාංගයක් සාදමු:
class User {
constructor(name) {
this._name = name;
}
show() {
return this._name;
}
}
පන්නයේ වස්තුවක් සාදමු:
let user = new User('john', 'smit');
අපගේ ගුණාංගයේ අගය ප්රදර්ශනය කරන ක්රමය කැඳවමු:
console.log(user.show());
පන්නයෙන් පිටතින් ගුණාංගයට ප්රවේශ වීමට කරන උත්සාහය දෝෂයක් ඇති නොකරයි:
console.log(user._name); // දෝෂයක් නොමැත
පහත කේතයේ දී ගුණාංග පෞද්ගලික කරන්න:
class Employee {
constructor(name, salary) {
this.name = name;
this.salary = salary;
}
getName() {
return this.name;
}
getSalary() {
return this.salary;
}
}
පහත කේතයේ දී උපකාරී ක්රමය පෞද්ගලික කරන්න:
class Employee {
constructor(name, salary) {
this.name = name;
this.salary = salary;
}
getSalary() {
return this.addSign(this.salary);
}
addSign(num) {
return num + '$
;
}
}