WEBVTT

00:00.110 --> 00:00.830
ما برمی‌گردیم.

00:00.830 --> 00:07.160
در این ویدیو می‌خواهم توضیح دهم که سازنده‌ها چگونه کار می‌کنند به شکل عمیق‌تر، چون ما با

00:07.160 --> 00:13.670
سازنده سفارشی خود کار کرده‌ایم و می‌خواهم نشان دهم که می‌توانید چندین سازنده داشته باشید، همچنین

00:13.670 --> 00:16.910
چیزی به نام سازنده پیش‌فرض وجود دارد.

00:16.910 --> 00:17.360
باشه.

00:17.360 --> 00:24.350
بنابراین می‌خواهم یک مثال جداگانه داشته باشم که این موضوع را حتی واضح‌تر از مثال ماشین نشان دهد،

00:24.350 --> 00:31.190
با این حال، می‌توانید آنچه در این ویدیو یاد می‌گیریم را بعداً به مثال ماشین هم اعمال کنید.

00:31.190 --> 00:37.040
خب، اول از همه، کاری که می‌خواهم انجام دهم این Solution Explorerاست که به 

00:37.040 --> 00:39.890
بروم و یک کلاس جدید ایجاد کنم.

00:39.890 --> 00:40.370
باشه.

00:40.370 --> 00:43.430
فقط برای اینکه بدانید چگونه انجام می‌شود، قبلاً این کار را انجام داده‌ایم.

00:43.430 --> 00:48.410
اما می‌خواستم یک بار دیگر به شما نشان دهم و این  نام می‌گذارم.customer.csکلاس را

00:48.470 --> 00:49.010
باشه.

00:49.010 --> 00:54.410
این customer یک کلاس داخلی خواهد بود، customer.cs در همان namespace ما.

00:54.410 --> 00:58.040
حال این کلاس باید چند ویژگی داشته باشد، باشه.

00:58.040 --> 00:59.510
استفاده می‌کنم.propپس از کلیدواژه 
 
00:59.510 --> 01:02.060
خواهد بود.nameاولین ویژگی رشته‌ای 

01:02.060 --> 01:09.950
سپس از ویژگی دیگری استفاده می‌کنم که رشته‌ای address. است، مثلاً 

01:09.950 --> 01:17.360
و سپس ویژگی دیگری به نام 
 دارم string contact number

01:17.360 --> 01:20.330
اینجا contact number، باشه.

01:20.330 --> 01:25.880
فرض کنید مشتری‌ای در دیتابیس ما داریم.

01:25.880 --> 01:29.750
پس دیتابیسی با اطلاعات مشتری داریم، مجموعه‌ای از اطلاعات مشتری.

01:29.750 --> 01:33.080
و چند ستون داریم.

01:33.080 --> 01:33.590
درسته.

01:33.590 --> 01:38.510
چون هر کدام از این ویژگی‌ها می‌تواند یک ستون جداگانه باشد.

01:38.510 --> 01:40.550
nameپس یک ستون می‌تواند 
 باشد.

01:40.550 --> 01:44.090 
address ستون دیگر 
می‌تواند باشد، ستون سوم .
contact number

01:44.090 --> 01:46.070
و حتی می‌توانیم ستون‌های بیشتری داشته باشیم.

01:46.070 --> 01:54.650
پس هر کدام از این ستون‌ها می‌توانند اکنون به عنوان ویژگی در کلاس شما استفاده شوند، چون این customer

01:54.650 --> 02:00.890
کلاس قابل استفاده برای اتصال مستقیم به دیتابیس و تعامل با آن خواهد بود.

02:00.890 --> 02:02.840
و داده‌ها را به‌طور مناسب استخراج می‌کند.


02:02.840 --> 02:08.510
تمام این‌ها اصولی هستند که بعداً برای انجام این کار نیاز داریم، به همین دلیل

02:08.510 --> 02:10.970
مهم است که بفهمیم چگونه کار می‌کند.

02:10.970 --> 02:15.350
حالا داشتن چند سازنده مختلف در اینجا چه اهمیتی دارد؟

02:15.350 --> 02:19.910
خب، بیایید یک سازنده، یک سازنده سفارشی در نظر بگیریم.

02:19.910 --> 02:23.240
این یکی یک سازنده سفارشی خواهد بود.

02:23.240 --> 02:27.530
و این یکی همه چیز را دریافت می‌کند.

02:27.530 --> 02:29.720
یعنی هر سه ویژگی را دریافت می‌کند، درست است.

02:29.720 --> 02:31.250
خواهد بود.publicپس 

02:31.250 --> 02:34.220
و دوباره نام سازنده چیست؟

02:34.220 --> 02:36.140
همان نام کلاس است.

02:36.140 --> 02:42.140
public customerپس
 ،ctor ولی می‌توانید از 
هم استفاده کنید.snippet به نام 
 
02:42.140 --> 02:48.530
یک snippet اضافی به نام ctor وجود دارد که سازنده را برای شما ایجاد می‌کند، باشه.

02:48.530 --> 02:56.090
پس enter ctor، tab را فشار دهید و سازنده‌ای با کلیدواژه public، همان نام کلاس،

02:56.090 --> 03:00.350
و سپس کروشه‌ها و پرانتزها ایجاد می‌کند.

03:00.350 --> 03:06.680
پس اولین سازنده، سازنده سفارشی است که همه چیز را می‌گیرد:

03:06.680 --> 03:08.510
 name، address و contact number.

03:08.510 --> 03:17.570
پس string name، string address و string contact number دارم.

03:17.570 --> 03:20.150
باشه، هر سه را دارم.

03:20.150 --> 03:23.510
در این سازنده، همه این‌ها را تنظیم می‌کنم.

03:23.510 --> 03:25.610
اختصاص می‌دهم.nameنام را به 
 
03:25.610 --> 03:29.000
اختصاص می‌دهم.addressآدرس را به 

03:29.000 --> 03:31.670
و contact number را به  contactnumberاختصاص می‌دهم.

03:31.670 --> 03:36.830
این کاری است که سازنده من هر بار که یک شیء مشتری جدید ایجاد می‌کنیم انجام می‌دهد.

03:36.830 --> 03:40.820
می‌توان گفت یک ورودی مشتری جدید در دیتابیس ما.

03:40.820 --> 03:43.760
تمام این سه جزئیات را دریافت خواهیم کرد.

03:43.760 --> 03:51.020
حالا اگر فقط نام را داشته باشیم، چون به دلایلی اطلاعات دیگری نداریم چه؟

03:51.020 --> 03:54.860
contact number
 را نمی‌دانیم و آدرس کاربر را هم نمی‌دانیم.

03:54.860 --> 03:55.940
اما نام را می‌دانیم.

03:55.940 --> 03:58.670
یا شاید ایمیل یا چیز دیگری را می‌دانیم.

03:58.670 --> 04:03.020
پس آیا آن شخص را به دیتابیس اضافه نمی‌کنیم؟

04:03.020 --> 04:05.960
خیر، باید همچنان شخص را به دیتابیس اضافه کنیم.

04:05.960 --> 04:08.750
پس یک سازنده سفارشی دیگر ایجاد می‌کنیم.

04:08.750 --> 04:12.170
و این یکی فقط با نام خواهد بود.

04:12.170 --> 04:15.290
خواهد داشت.nameپس فقط یک رشته 

04:15.290 --> 04:20.630
و سپس در داخل سازنده، name را به name اختصاص می‌دهیم.

04:20.630 --> 04:23.180
خب، دیدیم که این چه کاری انجام می‌دهد، درست است؟

04:23.180 --> 04:26.570
در اینجا فقط یک شیء مشتری می‌گیریم.

04:26.570 --> 04:32.150
nameو سپس آن را در ویژگی 
 برای آن مشتری خاص ذخیره می‌کنیم.

04:32.180 --> 04:32.900
باشه.

04:32.900 --> 04:38.270
حالا قبل از ادامه، بیایید چند مشتری ایجاد کنیم.

04:38.270 --> 04:40.400
سفارش‌های قبلی خود را داشتیم.

04:40.400 --> 04:44.450
بیایید همه آن سفارش‌ها و B و W‌ها را حذف کنیم، حتی اگر دوستشان داریم.

04:44.450 --> 04:47.090
ایجاد می‌کنیم.customerحالا یک شیء 

04:47.090 --> 04:48.950
پس می‌گوییم customer.

04:48.950 --> 04:51.470
و اولین را URL می‌نامیم.

04:51.470 --> 04:57.830
و این فرد یک مشتری جدید با نام URL خواهد بود.

04:57.830 --> 04:58.970
نام من Earl است.

04:58.970 --> 04:59.750
درسته.

05:00.080 --> 05:00.980
به هر حال، سریال عالی است.

05:00.980 --> 05:03.110
اگر آن را نمی‌شناسید، باید بررسی کنید.

05:03.110 --> 05:06.410
مشتری جدیدcustomer URL پس اینجا 

05:06.410 --> 05:09.920
و فقط یک آرگومان می‌فرستم، که URL است.

05:09.920 --> 05:12.440
پس حالا نام این مشتری جدید.

05:12.440 --> 05:15.860
URL.name خواهد بود URL.

05:15.860 --> 05:24.530
CWاگر آن را چاپ کنیم، با 
 چاپ می‌کنیم و می‌گوییم نام مشتری است.

05:24.530 --> 05:28.670
URL.nameو سپس از 
 استفاده می‌کنیم، باشه.

05:28.670 --> 05:33.110
اگر آن را بنویسیم و استفاده کنیم، خواهیم دید که نام مشتری URL است.

05:33.110 --> 05:33.650
باشه.

05:33.650 --> 05:35.480
پس یک شیء جدید ایجاد کردیم.

05:35.480 --> 05:37.610
و حالا می‌توانیم آن را در یک دیتابیس ذخیره کنیم، برای مثال.

05:37.610 --> 05:43.580
یا هر کاری که بخواهیم انجام دهیم، آن را در وب‌سایت نمایش دهیم یا در رابط کاربری خود استفاده کنیم.

05:43.580 --> 05:52.070
باشه، این یک مشتری است، اما شاید مشتری دیگری هم داشته باشیم، به نام 
Frank the Tank.

05:52.070 --> 05:54.710
و حالا اطلاعات بیشتری درباره 
می‌دانیم Frank the Tank 

05:54.710 --> 05:58.370
می‌دانیم نام او Frank the Tank است.

05:58.370 --> 06:02.060
و آدرس او را می‌دانیم.

06:02.060 --> 06:08.360
به من پیشنهاد می‌دهدIDEو می‌بینید، 
  که مشتری می‌تواند نام، آدرس

06:08.360 --> 06:09.500
داشته باشد.contact numberو همچنین 
 
06:09.500 --> 06:19.280
پس آدرس Main Street 1 و contact number خواهد بود (555) 123-4567.

06:19.280 --> 06:19.970
هر چی.

06:19.970 --> 06:20.540
باشه.

06:20.540 --> 06:23.000
پس حالا این مشتری جدید Frank Tank.

06:23.000 --> 06:29.540
واضح است که اطلاعات بیشتری درباره او داریم و از سازنده دیگری استفاده می‌کنیم

06:29.540 --> 06:31.190
چون هر دو را آماده کرده‌ایم.

06:31.190 --> 06:36.350
nameیک سازنده با فقط یک پارامتر، که همان 
 است، آماده کردیم.

06:36.350 --> 06:40.010
و یک سازنده با چندین پارامتر آماده کردیم.

06:40.010 --> 06:43.850
پس اگر اطلاعات بیشتری داشته باشیم، از این یکی استفاده می‌کنیم.

06:43.850 --> 06:47.180
اگر فقط یک اطلاعات داشته باشیم، از آن یکی استفاده می‌کنیم.

06:47.180 --> 06:54.140
پس اگر هیچ اطلاعاتی درباره یک مشتری نداشته باشیم اما همچنان بخواهیم یک شیء مشتری ایجاد کنیم چه؟

06:54.140 --> 06:58.010
پس به آن خواهیم پرداخت.

06:58.010 --> 07:02.030
می‌گویم در ویدیوی بعد، جایی که به سازنده‌های پیش‌فرض نگاه خواهیم کرد، باشه.

07:02.030 --> 07:08.840
پس من قبلاً در ویدیو از نام استفاده کردم، اما فقط می‌خواستم شما را آماده کنم برای زمانی که این موضوع معنی پیدا کند.

07:08.840 --> 07:09.410
باشه.

07:09.410 --> 07:09.770
باشه.

07:09.770 --> 07:11.660
پس بیایید در ویدیوی بعدی به آن نگاه کنیم.
