תוכן עניינים:

כיצד נוכל להפוך את המחלקה לבלתי ניתנת לשינוי ב-Java עם שדה תאריך?
כיצד נוכל להפוך את המחלקה לבלתי ניתנת לשינוי ב-Java עם שדה תאריך?

וִידֵאוֹ: כיצד נוכל להפוך את המחלקה לבלתי ניתנת לשינוי ב-Java עם שדה תאריך?

וִידֵאוֹ: כיצד נוכל להפוך את המחלקה לבלתי ניתנת לשינוי ב-Java עם שדה תאריך?
וִידֵאוֹ: Java Tutorials : Create Immutable class in Java 2024, מרץ
Anonim

נבין מה המשמעות של הנחיות אלו בעצם על ידי יצירת מחלקה בלתי ניתנת לשינוי עם אובייקט ניתן לשינוי עם שדה תאריך

  1. אל תספק שיטות "מגדיר" - שיטות שמשנות שדות אוֹ חפצים המכונה על ידי שדות .
  2. עשה את כל שדות סופי ופרטי.
  3. אל תאפשר לתת-מחלקות לעקוף שיטות.

מכאן, כיצד נוכל להפוך מחלקה לבלתי ניתנת לשינוי בג'אווה?

מחלקה בלתי ניתנת לשינוי בג'אווה

  1. הכריז על השיעור כסופי כדי שלא ניתן להאריך אותו.
  2. הפוך את כל השדות לפרטיים כך שלא תתאפשר גישה ישירה.
  3. אל תספק שיטות מגדיר למשתנים.
  4. הפוך את כל השדות הניתנים לשינוי סופיים כך שניתן יהיה להקצות את הערך שלו פעם אחת בלבד.
  5. אתחול כל השדות באמצעות בנאי המבצע העתקה עמוקה.

לאחר מכן, השאלה היא, מה השימוש במחלקה בלתי ניתנת לשינוי בג'אווה? מחלקה בלתי משתנה פירושו שברגע שנוצר אובייקט, לא נוכל לשנות את תוכנו. ב Java , כל העטיפה שיעורים (כמו מספר שלם, בוליאני, בייט, קצר) ומחרוזת מעמד הוא בלתי ניתן לשינוי . אנחנו יכולים ליצור משלנו מחלקה בלתי משתנה גם כן.

אנשים גם שואלים, האם Class Date אינו ניתן לשינוי בג'אווה?

תַאֲרִיך לא בלתי ניתן לשינוי , אנחנו צריכים ליצור עותק הגנתי של java . util. תַאֲרִיך תוך החזרת הפניה למשתנה מופע זה. בואו ניצור אדם היפותטי מעמד שיש לו שם ו-dob בתור שני החברים היחידים.

כיצד נוכל להפוך אובייקט לבלתי ניתן לשינוי?

כדי להפוך את האובייקט לבלתי ניתן לשינוי, עליך לבצע את השלבים הבאים:

  1. אל תשתמש בשום שיטות שיכולות לשנות שדות בכיתה שלך. למשל אל תשתמש ב- Setters.
  2. הימנע משימוש בשדות ציבוריים שאינם סופיים. אם השדות שלך ציבוריים, עליך להכריז עליהם כסופיים ולאתחל אותם בקונסטרוקטור או ישירות בשורת ההכרזה.

מוּמלָץ: