தொகுதி பாடங்கள் (1/2)
வகுப்புகள் மற்றும் மாற்றிகள்
நிலையான தட்டச்சு, அணுகல் மாற்றிகள் மற்றும் சுருக்கெழுத்து அளவுரு பண்புகள் போன்ற சக்திவாய்ந்த பொருள்-சார்ந்த நிரலாக்க (OOP) அம்சங்களுடன் நிலையான ES6 வகுப்புகளை டைப்ஸ்கிரிப்ட் விரிவுபடுத்துகிறது.
வகுப்புகள் மற்றும் அணுகல் மாற்றிகள்
TypeScript இல், மூன்று முக்கிய வார்த்தைகளைப் பயன்படுத்தி வகுப்பு உறுப்பினர்கள், பண்புகள் மற்றும் முறைகளின் தெரிவுநிலையை நீங்கள் கட்டுப்படுத்தலாம்:
public(இயல்புநிலை): உறுப்பினர் எங்கிருந்தும் அணுகலாம்.private: உறுப்பினர் அதை வரையறுக்கும் வகுப்பிற்குள் மட்டுமே அணுக முடியும்.protected: உறுப்பினர் வகுப்பு மற்றும் அதன் துணைப்பிரிவுகளுக்குள் அணுகலாம் (பரம்பரை).
class Animal {
public name: string;
private age: number;
constructor(name: string, age: number) {
this.name = name;
this.age = age;
}
public getAge(): number {
return this.age;
}
}அளவுரு பண்புகள்
டைப்ஸ்கிரிப்ட், ஒரு வகுப்பின் உறுப்பினரை நேரடியாக கன்ஸ்ட்ரக்டரில் அறிவிக்கவும் துவக்கவும் சுருக்கெழுத்து தொடரியல் வழங்குகிறது. அணுகல் மாற்றியுடன் ஒரு கன்ஸ்ட்ரக்டர் அளவுருவை முன்னொட்டு வைப்பதன் மூலம், சொத்து தானாகவே உருவாக்கப்பட்டு ஒதுக்கப்படும்:
// This syntax does exactly the same as the previous example!
class Animal {
constructor(
public name: string,
private age: number,
) {}
}இடைமுகங்களை செயல்படுத்துதல்
implements முக்கிய சொல்லைப் பயன்படுத்தி ஒரு வகுப்பு ஒன்று அல்லது அதற்கு மேற்பட்ட இடைமுகங்களைச் செயல்படுத்தலாம். தேவையான அனைத்து முறைகள் மற்றும் பண்புகளை வரையறுப்பதன் மூலம் ஒரு குறிப்பிட்ட ஒப்பந்தத்தை வர்க்கம் கடைப்பிடிப்பதை இது உறுதி செய்கிறது:
interface Flyable {
fly(altitude: number): void;
}
class Bird implements Flyable {
constructor(public name: string) {}
fly(altitude: number): void {
console.log(`${this.name} is flying at ${altitude} meters.`);
}
}பரம்பரை மற்றும் super
டைப்ஸ்கிரிப்ட் வகுப்பு மரபுரிமையை முழுமையாக ஆதரிக்கிறது. extends முக்கிய சொல்லைப் பயன்படுத்தி ஒரு வகுப்பு மற்றொரு வகுப்பை நீட்டிக்க முடியும். துணைப்பிரிவு ஒரு கன்ஸ்ட்ரக்டரை வரையறுத்தால், அது thisஐ அணுகுவதற்கு முன் super() செயல்பாட்டைப் பயன்படுத்தி அடிப்படை வகுப்பு கட்டமைப்பாளரை அழைக்க வேண்டும்:
class Person {
constructor(public name: string) {}
}
class Student extends Person {
constructor(
name: string,
public grade: number,
) {
super(name); // Calls the Person constructor
}
}நீங்களே முயற்சி செய்து பாருங்கள்
பயிற்சி 1: கார் வகுப்பு மற்றும் தனியார் மாற்றி
கார் என்ற வகுப்பை அறிவிக்கவும். இது கன்ஸ்ட்ரக்டரில் வரையறுக்கப்பட்ட ஒரு படிக்க மட்டும் மாதிரி சொத்து (சரம்) இருக்க வேண்டும், ஒரு தனியார் மைலேஜ் சொத்து (எண்) 0 க்கு துவக்கப்பட்டது, ஒரு பொது முறை இயக்கி (மைல்கள்: எண்): வெற்றிடமானது மைலேஜை மைல்கள் அதிகரிக்கும், மற்றும் பெறுபவர் அல்லது முறை getMileage(): மைலேஜை வழங்கும் எண்.
குறிப்பைக் காட்டு
தனிப்பட்ட மைலேஜைப் பயன்படுத்தவும்: எண் = 0; மாறியை தனிப்பட்டதாகவும், கன்ஸ்ட்ரக்டரை (பொது படிக்க மட்டும் மாதிரி: சரம்) {} சுருக்கெழுத்தாகவும் மாற்றவும்.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்
பயிற்சி 2: வடிவ இடைமுகம் மற்றும் வட்ட வகுப்பு
வடிவ இடைமுகத்தை செயல்படுத்தும் வட்ட வகுப்பைச் செயல்படுத்துவதன் மூலம் குறியீட்டை முடிக்கவும். வகுப்பில் கன்ஸ்ட்ரக்டர் வழியாக படிக்க மட்டுமேயான ஆரம் சொத்தை (எண்) அமைக்க வேண்டும், மேலும் getArea(): எண்ணை செயல்படுத்த வேண்டும் (திரும்ப வரும் Math.PI * radius * radius).
குறிப்பைக் காட்டு
வட்ட வகுப்பில் கருவிகளின் வடிவத்தைப் பயன்படுத்தவும் மற்றும் getArea(): எண் முறையை வரையறுக்கவும்.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்
பயிற்சி 3: சுருக்க வாகன வகுப்பு மற்றும் மோட்டார் சைக்கிள் துணைப்பிரிவு
சுருக்க வகுப்பு வாகனத்தை நீட்டிக்கும் மோட்டார் சைக்கிள் என்ற வகுப்பை அறிவிக்கவும். 'மோட்டார்சைக்கிள்' என்ற சரத்தைத் தொடர்ந்து மேக் (திஸ்.மேக்) மற்றும் 'ஸ்டார்ட்' ஆகியவற்றைத் திருப்பி அனுப்ப ஸ்டார்ட்() முறையை இது செயல்படுத்த வேண்டும்.
குறிப்பைக் காட்டு
கிளாஸ் மோட்டார்சைக்கிள் நீட்டிப்பு வாகனத்தைப் பயன்படுத்தி, சரியான சரத்தை வழங்கும் தொடக்க(): சரம் முறையைச் செயல்படுத்தவும்.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்
பயிற்சி 4: அளவுரு பண்புகள் மற்றும் பரம்பரை
கன்ஸ்ட்ரக்டர் சுருக்கெழுத்தைப் பயன்படுத்தி படிக்க மட்டுமேயான சொத்து ஐடி (எண்) மற்றும் பொதுச் சொத்துப் பெயரை (சரம்) வரையறுக்கும் பணியாளர் என்ற வகுப்பை உருவாக்கவும். பின்னர், ஒரு கிளாஸ் டெவலப்பரை உருவாக்கவும், அது பணியாளரை விரிவுபடுத்துகிறது மற்றும் கன்ஸ்ட்ரக்டர் வழியாக ஒரு பொது சொத்து துறையை (சரம்) சேர்க்கிறது.
குறிப்பைக் காட்டு
டெவலப்பர் கன்ஸ்ட்ரக்டரில் சூப்பர்(ஐடி, பெயர்) ஐப் பயன்படுத்தவும் மற்றும் கன்ஸ்ட்ரக்டர் மூலம் சொத்தை வரையறுக்க பொதுத் துறையைப் பயன்படுத்தவும்.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்