ජාවාස්ක්රිප්ට් හි OOP හි දෙමාපියන්ගේ ක්රම අතිලේඛනය කිරීම
දරු පන්තියකට එකම නම සමඟ ක්රමයක් සාදා ගැනීමෙන් දෙමව්පිය ක්රමයක් අතිලේඛනය කළ හැකිය. අපි උදාහරණයක් දෙස බලමු. අප සතුව පහත දෙමාපිය පන්තිය ඇතැයි සිතමු:
class User {
setName(name) {
this.name = name;
}
getName() {
return this.name;
}
}
දරු පන්තිය තුළ එකම නමින් ක්රමයක් සාදා ගනිමු:
class Student extends User {
setName(name) {
}
}
සාමාන්යයෙන්, දෙමාපිය ක්රමයක් අතිලේඛනය කිරීම අවශ්ය වන්නේ එම ක්රමයේ හැසිරීම වෙනස් කිරීමට හෝ අතිරේක කිරීමටය. අපගේ නඩුවේදී, නමේ දිග පරීක්ෂා කිරීමක් එකතු කරමු:
class Student extends User {
setName(name) {
if (name.length > 0) {
this.name = name;
} else {
throw new Error('student name error');
}
}
}
හරියටම අතිලේඛනය කරන ලද ක්රමය ක්රියාත්මක වන බවට අපි විශ්වාස දරමු. පළමුව, දරු පන්තියේ වස්තුවක් සාදා ගනිමු:
let student = new Student;
දැන්, අපගේ ක්රමය ක්රියාකරවමු, එයට නිවැරදි අගයක් ලබා දෙමින්:
student.setName('john');
දැන්, ක්රමය ක්රියාකරවමු, එයට නිවැරදි නොවන අගයක් ලබා දෙමින්. ප්රතිඵලයක් වශයෙන්, අපි console හි දමනු ලබන දෝෂය දකිමු:
student.setName(''); // දෝෂය
User පන්තිය තුළ, වයස සඳහා getter සහ setter සාදන්න.
Employee පන්තිය තුළ, වයස සඳහා setter අතිලේඛනය කරන්න සහ එහි වයස අවුරුදු 18 සිට 65 දක්වා යන පරීක්ෂාවක් සාදන්න.