Menu
CoddyTech

מתודות פרטיות

חלק מהיחידה תכנות מונחה עצמים במסלול ה-JavaScript של Coddy. שיעור 19 מתוך 56.

מתודות פרטיות במחלקות JavaScript מאפשרות לך להסתיר פרטי מימוש ולמנוע גישה חיצונית לפונקציונליות פנימית.

החל מ-ES2022, ניתן להגדיר מתודות פרטיות באמצעות הקידומת #:

class Counter {
  #count = 0;
  
  // צרו מתודה פרטית
  #increment() {
    this.#count++;
  }
  
  // מתודה ציבורית שמשתמשת במתודה הפרטית
  addOne() {
    this.#increment();
    return this.#count;
  }
}

בואו ניצור מופע של מונה:

const myCounter = new Counter();

אפשר לקרוא למתודה הציבורית:

console.log(myCounter.addOne()); // פלט: 1

אבל ניסיון לגשת ישירות למתודה הפרטית יגרום לשגיאה:

myCounter.#increment(); // שגיאה: לא ניתן לגשת למתודה פרטית מחוץ למחלקה

מתודות פרטיות עוזרות לשמור על הכמסה בכך שהן מסתירות פרטי מימוש פנימיים מהעולם החיצון.

challenge icon

אתגר

ניתנה לך מחלקת MessageBox ששומרת הודעות. המשימה שלך היא להוסיף שיטה פרטית בשם #isValidMessage(text) שמאמתת הודעות. היא צריכה:

  • להחזיר true אם הטקסט אינו ריק ואורכו פחות מ־100 תווים
  • להחזיר false אחרת

נסו בעצמכם

import { MessageBox } from './messageBox.js';

// שימוש בתיבת ההודעות
const box = new MessageBox();

console.log(box.setMessage("Hello"));    // "Message set!" (משתמש ב-#isValidMessage)
console.log(box.setMessage(""));         // "Invalid message!" (משתמש ב-#isValidMessage)
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה תכנות מונחה עצמים

תרגלו בעצמכם: קומפיילר JavaScript אונליין