کداکسپلور | CodeExplore
7.93K subscribers
1.93K photos
303 videos
103 files
1.69K links
با کد اکسپلور یاد بگیر، لذت ببر و بروز باش ⚡️😉

سایت کد‌اکسپلور:
CodeExplore.ir
👨🏻‍💻 ارتباط با ما :
@CodeExploreSup
گروه :
@CodeExplore_Gap
تبلیغات در کد اکسپلور :
@CodeExploreAds
Download Telegram
🔥خوش اومدین به یه آموزش دیگه از سری آموزشی OOP ، امروز قصد داریم راجب تو مفهوم دیگه از OOP صحبت کنیم

💥چندریختی ( Polymorphism ) در OOP
چندریختی یکی از پایه‌های اصلی برنامه نویسی شیءگراس که مفهومش میشه همون چندشکلی یا قابلیت داشتن چندین شکل که البته واضحه. این مفهوم به آبجکت هامون این اجازه رو میده تا رفتار های متفاوتی برای یه متود یا یه عمل یکسان از خودشون نشون بدن. یعنی میتونیم یه متود رو چندین بار تعریف کنیم و کارای مختلفی باهاش کنیم با اینکه اسمشون یکیه

◀️ویژگی های چندریختی:
🔴کد تمیزتر و قابل نگهداری تر
🔴انعطاف پذیری بالا
🔴توسعه پذیری بالا

مثال زیر نحوه استفاده از چند ریختی در زمان بارگذاری متود ( Method Overloading ) رو نشونتون میده:
class Shape {
draw() {
console.log("Drawing a shape");
}

draw(width, height) {
console.log("Drawing a shape with width:", width, "and height:", height);
}
}

class Circle extends Shape {
draw() {
console.log("Drawing a circle");
}

draw(radius) {
console.log("Drawing a circle with radius:", radius);
}
}

const circle = new Circle();

circle.draw(); // Output: Drawing a circle
circle.draw(10); // Output: Drawing a circle with radius: 10

const shape = new Shape();
shape.draw(); // Output: Drawing a shape

☄️توی مثال بالا ما اومدیم و چندریختی رو روی متود draw پیاده کردیم و درسته چندین متود drow داریم ولی هرکدوم یه کار جدا میکنن و طبق ورودی خودش مشخص میشه دقیقا کدوم یکیش صدا زده بشه

👑وابستگی ( Dependency ) در OOP
وابستگی در OOP اشاره به ارتباط دوتا کلاس به هم داره که یعنی یه کلاس برای اینکه کارشو انجام بده نیاز به یه کلاس دیگه داره، این وابستگی ها هم میتونه به صورت مستقیم یا غیر مستقیم باشه

◀️ویژگی های وابستگی در OOP
🔵کد تمیز تر
🔵قابلیت ازمایش پذیری بیشتر
🔵انعطاف پذیری بالا
🔵استفاده مجدد

یه مثال هم از وابستگی باهم ببینیم:
class Animal {
constructor(name, soundMaker) {
this.name = name;
this.soundMaker = soundMaker;
}

makeSound() {
this.soundMaker.makeSound(this);
}
}

class SoundMaker {
makeSound(animal) {
console.log(`${animal.name} makes a ${animal.sound}`);
}
}

const dog = new Animal("Dog", new SoundMaker());
const cat = new Animal("Cat", new SoundMaker());

dog.makeSound(); // Output: Dog makes a bark
cat.makeSound(); // Output: Cat makes a meow


#oop #oop_7
☕️ @CodeExplore
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥84🔥2💔1