خوش آمدید.
در این ویدیو می‌خواهیم متغیرهای عضو را بررسی کنیم.
و کمی بیشتر به سازنده نگاه کنیم.
هستم.car.csمن داخل فایل
و اینجا می‌خواهم یک متغیر عضو بسازم.
خب متغیر عضو چیست؟
این یک فیلد داخل یک کلاس است.
یعنی متغیری که داخل کلاس است ولی بیرون از متدها.
مثلاً یک رشته دارم که می‌خواهم اسمش را model بگذارم.
می‌خواهم مدل یک ماشین را بدانم.
بروید می‌گوید فیلد.modelاگر روی
پس اگر از یک فیلد داخل کلاسی که می‌سازید استفاده کنید، آن متغیر عضو آن کلاس است.
کلاس.
پس model الان یک متغیر عضو کلاس car است.
و دارد چیزی درباره آن کلاس تعریف می‌کند.
در اینجا دارد مدل ماشین را مشخص می‌کند.
معمولاً برای نام‌گذاری، روش‌های مختلفی وجود دارد.
صحیح.
یک روش رایج این است که قبل از نام متغیر یک آندرلاین بگذارید.
privateو نکته مهم این است که کلمه کلیدی را هم اضافه کنیم.
این متغیر را از دیگر کلاس‌ها پنهان می‌کند.privateکلمه
خب.
این را در ویدیوی بعدی می‌بینیم.
فعلاً فقط می‌خواهم چیزی داشته باشیم که بتواند هر شیء از کلاس car را متفاوت کند،
چون الان فرقی بین یک شیء Audi یا BMW نیست.
Audiولی می‌خواهم تفاوت داشته باشند. مثلاً بداند مدلش چیست.
BMWو هم بداند مدلش چیست. این متغیر باید همین را نگه دارد.
خب حالا چطور می‌توانم از این متغیر استفاده کنم؟
می‌توانم داخل سازنده از آن استفاده کنم.
درباره سازنده چه گفتیم؟
سازنده وقتی اجرا می‌شود که یک شیء از کلاس ساخته می‌شود. اینجا از کلاس car.
modelپس می‌خواهم هنگام ساخت شیء تعریف شود.
carوقتی شیء جدید ساخته می‌شود می‌توان داده به سازنده پاس داد.
مثلاً یک رشته model.
modelو آن همان چیزی است که کاربر وارد می‌کند.
و من آن را در این متغیر عضو خصوصی ذخیره می‌کنم.
این پارامتری است که در سازنده car استفاده می‌کنم، یعنی هنگام ساختن شیء باید داده بدهید.
مثلاً می‌توانم بگویم Audi A3.
و برای BMW بگویم i7.
حالا می‌خواهم از این اطلاعات استفاده کنم تا چیزی متفاوت روی کنسول چاپ کنم.
اینجا می‌گویم: ماشینی با مدل...
و بعد نام مدل ساخته شد.
به علاوه _model ساخته شد.
بگذارید در دو خط بنویسم تا خواناتر شود.
پس وقتی car می‌سازید باید اطلاعات مدل را بدهید.
و وقتی مدل ماشین را از بیرون می‌دهید، من آن را در متغیر خصوصی ذخیره می‌کنم.
و اینجا روی کنسول چاپش می‌کنم.
اگر اجرا کنم، می‌بینیم دو ماشین ساخته شدند.
یکی می‌گوید ماشینی با مدل A3 ساخته شد، و دیگری می‌گوید ماشینی با مدل i7 ساخته شد.
خب، می‌توانیم برند را هم اضافه کنیم.
این تمرین برای شماست.
carچطور می‌توانید با دو پارامتر، کلاس را تغییر دهید تا علاوه بر مدل، برند را هم داشته باشد؟
خب، امیدوارم ویدیو را متوقف کرده باشید.
اگر نکردید، همین حالا این کار را بکنید.
می‌توانیم علاوه بر model، برند هم بگیریم.
یعنی string brand.
حالا یک متغیر عضو خصوصی دیگر می‌سازم.
_brandاین یکی می‌شود که ابتدا یک رشته خالی است.
را در آن ذخیره می‌کنم.brandو بعد
و بعد می‌گویم یک...
خب، یک برند از مدل ... ساخته شد.
brand یا _brandفرقی ندارد از استفاده کنیم.
ولی بهتر است همان متغیر عضو را استفاده کنیم.
پس می‌گوییم یک برند از مدل ساخته شد.
اگر دوباره اجرا کنیم، باید برویم و نحوه مقداردهی اولیه car را تغییر دهیم،
چون الان خطا می‌دهد و دو رشته می‌خواهد: model و brand.
پس یکی می‌شود Audi.
و دیگری می‌شود BMW.
حالا دوباره اجرا می‌کنیم و می‌بینیم Audi.
باید یک "an" اضافه کنیم. مثلاً: یک Audi با مدل A3 ساخته شد، و یک BMW با مدل i7 ساخته شد.
پس ما سازنده سفارشی خودمان را ساختیم.
این سازنده سفارشی چه فرقی با بقیه دارد؟
این را بعداً بررسی می‌کنیم.
فعلاً باید به یاد داشته باشید که متغیر عضو داریم که با آندرلاین نام‌گذاری می‌کنیم
privateو آن‌ها را می‌کنیم تا از دید بقیه کلاس‌ها پنهان شوند.
bmw._modelیعنی نمی‌توانم مثلاً را مستقیماً دسترسی بزنم.
ولی بعداً می‌بینیم چطور می‌شود این را تغییر داد.
و دیدیم که چطور سازنده را تغییر دادیم تا یک یا دو پارامتر بگیرد.
خب، این ویدیو تمام شد.
در ویدیوی بعدی می‌بینیم چطور می‌توانیم پنهان بودن متغیر عضو را تغییر دهیم.
مثلاً چطور می‌شود متغیر عضو را قابل دسترس کرد.