tgoop.com/Fara_Java/51
Last Update:
✳️ سازنده Copy در جاوا — از صفر تا صد
منظور از سازنده Copy در جاوا یک کلاس «سازنده» (Constructor) است که شیئی را با استفاده از شیء دیگری از همان کلاس جاوا میسازد. این سازنده در مواردی مفید است که بخواهیم یک شیئ پیچیده را که چندین فیلد دارد، کپی کنیم یا این که بخواهیم یک «کپی عمیق» (Deep Copy) از یک شیئ موجود ایجاد کنیم.
══ فهرست مطالب ══
○ ایجاد یک سازنده Copy در جاوا
○ سازنده Copy یا Clone
○ مشکلات وراثتی
○ سخن پایانی
🔸 ایجاد یک سازنده Copy در جاوا
برای ایجاد یک سازنده Copy ابتدا باید یک سازنده اعلان کنیم که شیئی از همان نوع به صورت یک پارامتر میگیرد:
public class Employee {
private int id;
private String name;
public Employee(Employee employee) {
}
}
سپس هر فیلد از شیء ورودی را به وهله جدیدی کپی میکنیم:
public class Employee {
private int id;
private String name;
public Employee(Employee employee) {
this.id = employee.id;
this.name = employee.name;
}
}
تا به اینجا یک «کپی سطحی» (Shallow Copy) داریم که مناسب است، زیرا همه فیلدهای ما (در این مثال یک int و یک String) یا از نوع ابتدایی (Premitive) یا نوع «تغییرناپذیر» (Immutable) هستند. اگر کلاس جاوا دارای فیلدهای تغییرپذیر باشد، در این صورت میتوانیم به جای این کار یک کپی عمیق درون سازنده copy آن ایجاد کنیم. با بهرهگیری از یک کپی عمیق، شیء جدیداً ایجادشده، مستقل از شیء اصلی خواهد بود، زیرا یک کپی متمایز از هر شیء تغییرپذیر ایجاد میکنیم:
public class Employee {
private int id;
private String name;
private Date startDate;
public Employee(Employee employee) {
this.id = employee.id;
this.name = employee.name;
this.startDate = new Date(employee.startDate.getTime());
}
}
مطالعه ادامه مطلب 👇👇
🔗 سازنده Copy در جاوا — از صفر تا صد — کلیک کنید (+)
📌 کانال اختصاصی آموزشی برنامهنویسی جاوا
آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامهنویسی جاوا را در کانال اختصاصی [@Fara_Java] دنبال کنید. 👇
@Fara_Java — مطالب و آموزشهای برنامهنویسی جاوا فرادرس
BY Fara_Java | فرا جاوا: آموزش برنامهنویسی جاوا

Share with your friend now:
tgoop.com/Fara_Java/51