private მოდიფიკატორი TypeScript-ში
private მოდიფიკატორი გამოიყენება იმ შემთხვევებში,
როდესაც საჭიროა თვისებებთან და მეთოდებთან წვდომის დახურვა
კლასის გარედან. ამ შემთხვევაში, ნაწარმოებ კლასებშიც კი არ
შეიძლება ამ თვისებებთან მიმართვა.
მოდით შევხედოთ მაგალითს. შევქმნათ კლასში User
პრივატური თვისება name:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
}
შევქმნათ კლასის ობიექტი, კონსტრუქტორში გადავცეთ ჩვენი თვისების მნიშვნელობა:
let user: User = new User('john');
ახლა ამ პრივატური თვისების კლასის გარეთ წაკითხვის ცდა შეცდომას გამოიწვევს:
console.log(user.name); // შეცდომა
შეცდომას გამოიწვევს აგრეთვე ამ თვისებაში კლასის გარეთ რაიმეს ჩაწერის ცდა:
user.name = 'eric'; // შეცდომა
მაგრამ კლასის მეთოდების შიგნით შესაძლებელი იქნება ჩვენი პრივატური თვისების მნიშვნელობის როგორც კითხვა, ასევე ცვლილება:
class User {
private name: string;
constructor(name: string) {
this.name = name;
}
public getName() {
return this.name; // თვისების წაკითხვა
}
public setName(name: string) {
this.name = name; // თვისების ახალი მნიშვნელობის ჩაწერა
}
}
შექმენით კლასი User, რომელიც შეიცავს
პრივატურ თვისებებს სახელით და ასაკით.
მათი საწყისი მნიშვნელობები კონსტრუქტორის მეშვეობით
დაეთმობათ.
თქვენს User კლასში შექმენით პუბლიკური
მეთოდები getName და getAge,
რომლებიც საშუალებას მისცემენ მიიღოთ შესაბამისი
პრივატური თვისებების მნიშვნელობები.
თქვენს User კლასში შექმენით პუბლიკური
მეთოდები setName და setAge,
რომლებიც საშუალებას მისცემენ შეცვალოთ შესაბამისი
პრივატური თვისებების მნიშვნელობები.