TypeScript හි protected මාරු කරන්නා
පුද්ගලික ගුණාංග සහ ක්රම උරුමයට නොලැබේ.
කෙසේ වෙතත්, සමහර විට අපට අවශ්ය වන්නේ
ගුණාංගයක් හෝ ක්රමයක් බාහිරව ප්රවේශ වීමට නොහැකි වන නමුත්
දරුවන්ට උරුම වී ඇති බවයි. මෙම
සිද්ධියේදී, protected මාරු කරන්නා
protected භාවිතා කළ යුතුය.
අපි ප්රායෝගිකව උත්සාහ කරමු. අපේ
වර්ගයේ User ක්රමය cape
මාරු කරන්නා protected භාවිතයෙන් ආරක්ෂිත කරන්න:
class User {
protected cape(str: string) {
return str[0].toUpperCase() + str.slice(1);
}
}
වර්ගය Student සාදන්න, උරුම වන්නේ
වර්ගය User වෙතින්:
class Student extends User {
private name: string;
constructor(name: string) {
super();
this.name = name;
}
}
නම පෙන්වන ක්රමයක් එකතු කරන්න:
class Student extends User {
private name: string;
constructor(name: string) {
super();
this.name = name;
}
public showName(): string {
return this.name;
}
}
දැන් දරු ක්රමය තුළ ප්රධාන ක්රමයේ ආරක්ෂිත ක්රමය භාවිතා කරන්න:
class Student extends User {
private name: string;
constructor(name: string) {
super();
this.name = name;
}
public showName(): string {
return this.cape(this.name); // ප්රධාන ක්රමය භාවිතා කරන්න
}
}
අපේ වර්ගයේ වස්තුවක් සාදන්න:
let student: Student = new Student('john');
ශිෂ්යයා පෙන්වීම සඳහා ක්රමය භාවිතා කරන්න:
console.log(student.showName());
කෙසේ වෙතත්, ක්රමය cape ඇමතීමට උත්සාහ කිරීම
වර්ගයෙන් පිටත දෝෂයක් ඇති කරයි:
console.log(student.cape('test')); // දෝෂය
පහත වර්ගය ලබා දී ඇත:
class User {
protected name: string;
protected surn: string;
constructor(name: string, surn: string) {
this.name = name;
this.surn = surn;
}
}
මෙම වර්ගයෙන් වර්ගය Employee උරුම කර ගන්න,
එය ආරක්ෂිත ගුණාංගය salary එකතු කරයි,
සහ තමන්ගේම සහ උරුම වූ සියලුම ගුණාංගවල ගෙට්ටර් ද,
එකතු කරයි.