🔥برگشتیم با یه اموزش دیگه از اموزش های OOPامروز قراره به ادامه مباحث
OOP و ساختار کلاس ها و ویژگی های اون بپردازیم
♾داخل آموزش قبلی یسری مثال هایی زدیم و بیشتر تمرکزمون روی کلاس و آبجکت بود، امروز قراره درباره
4 مفهوم دیگه صحبت کنیم:
🔵متود ها ( Methods ) : همونطور که قبلا گفتیم، متود ها همون فانکشن هایی هستن که داخل یه آبجکت وجود دارن، این فانکشن ها میتونن روی ویژگی های آبجکت تاثیراتی بزارن و با اونا کار کنن
🔵پراپرتی ها ( Properties ) : همون ویژگی ها و متغیر هایی هستن که به آبجکت تعلق دارن و میتونن هر نوعی از داده رو نگه دارن
🔵سازنده ( Constructor ) : سازنده یه متود خاصه که داخل کلاس وجود فراخوانی میشه، این متد معمولا برای مقدار دهی آبجکت جدید به کار میره و یسری ورودی میتونه بگیره که نسبتشون بده به آبجکت
🔵مخرب ( Destructor ) : مخرب هم یه متود خاص دیگه داخل کلاس هست که وقتی یک آبجکت دیگه نیاز نباشه فراخونی میشه و حذفش میکنه، این متود معمولا برای پاکسازی به کار میره تا حافظه رو خالی کنی یا اتصالات رو ببندی و داخل
php و
++C استفاده میشه، توی
Python و
Java هم وجود دارن اما تو یسری زبان های دیگه به صورت خودکار و شکل های مختلف وجود دارن، مثلا داخل
JavaScript میتونیم از کلمه کلیدی
delete استفاده کنیم تا پراپرتی های یک آبجکت رو حذف کنیم یا حتی خود متغیر و ابجکتمون رو خالی کنیم
بریم یه مثال قشنگ هم باهم ببینیم:
class Person{
constructor(personName , personAge){
this.name = personName;
this.age = personAge;
}
walk(){
console.log(`${this.name} started walking`);
}
}
let person = new Person("Reza" , 50);
person.walk();
console.log(person);
delete person.age;
console.log(person);
let person = null;
📌خب توی مثال بالا ما یه کلاس Person داریم و سازنده کلاسمون میشه همون constructor که توی ورودی، اسم و سن شخص رو میگیره، داخل متود سازنده، ما property های آبجکت رو میسازیم و مقدار های ورودی رو بهشون نسبت میدیم حتی میشه یه مقدار دیفالت خودمون بزاریم و از ورودی نگیریم!
متود walk هم میاد یه جمله چاپ میکنه
⭐️حالا ما یه متغیر person ساختیم و این یه اینستنس یا نمونه از کلاس Person هست و ورودی هایی که توی constructor توضیح دادیم رو اینجا بهش پاس میدیم و آبجکتمون ساخته میشه
بعدش از متود walk استفاه کردیم
💎داخل خط های اخر هم مفهوم Destructor رو توی جاوا اسکریپت پیاده کردیم، اومدیم اول پراپرتی age رو ازش حذف کردیم، بعدشم کل متغیر رو خالی کردیم
#oop #oop_4☕️ @CodeExplore