מהו עותק רדוד והעתקה עמוקה ב-Java?
מהו עותק רדוד והעתקה עמוקה ב-Java?

וִידֵאוֹ: מהו עותק רדוד והעתקה עמוקה ב-Java?

וִידֵאוֹ: מהו עותק רדוד והעתקה עמוקה ב-Java?
וִידֵאוֹ: העתק 2024, מרץ
Anonim

ב עותק רדוד , רק שדות מסוג נתונים פרימיטיביים הם מוּעֲתָק בעוד שההפניות לאובייקטים אינן מוּעֲתָק . עותק עמוק כולל את עותק של סוג נתונים פרימיטיבי וכן הפניות לאובייקטים.

כמו כן לדעת, מהו עותק רדוד ועמוק?

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

מהו שיבוט רדוד ועמוק בג'אווה? כל שינוי שנעשה ב משובטים האובייקט לא ישתקף באובייקט המקורי או להיפך. גרסת ברירת המחדל של שיבוט השיטה יוצרת את עותק רדוד של חפץ. עותק רדוד עדיף אם לאובייקט יש רק שדות פרימיטיביים. עותק עמוק עדיף אם לאובייקט יש הפניות לאובייקטים אחרים כשדות.

חוץ מזה, מה זה עותק רדוד בג'אווה?

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

מהו העתקה עמוקה בשיבוט?

העתקה עמוקה . ה עותק עמוק של אובייקט יהיה מדויק עותק של כל השדות של אובייקט מקור כמו רדוד עותק , אבל שלא כמו סלואו עותק אם לאובייקט המקור יש התייחסות כלשהי לאובייקט כשדות, אזי נוצר העתק של האובייקט על ידי קריאה שיבוט שיטה.

מוּמלָץ: