FARA_JAVA Telegram 51
✳️ سازنده 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 — مطالب و آموزش‌های برنامه‌نویسی جاوا فرادرس




tgoop.com/Fara_Java/51
Create:
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

View MORE
Open in Telegram


Telegram News

Date: |

You can invite up to 200 people from your contacts to join your channel as the next step. Select the users you want to add and click “Invite.” You can skip this step altogether. In handing down the sentence yesterday, deputy judge Peter Hui Shiu-keung of the district court said that even if Ng did not post the messages, he cannot shirk responsibility as the owner and administrator of such a big group for allowing these messages that incite illegal behaviors to exist. 5Telegram Channel avatar size/dimensions Telegram message that reads: "Bear Market Screaming Therapy Group. You are only allowed to send screaming voice notes. Everything else = BAN. Text pics, videos, stickers, gif = BAN. Anything other than screaming = BAN. You think you are smart = BAN. Telegram users themselves will be able to flag and report potentially false content.
from us


Telegram Fara_Java | فرا جاوا: آموزش برنامه‌نویسی جاوا
FROM American