مفاهیم شی گرایی در جاوا اسکریپت
25 آبان 1402 1402-08-25 15:28مفاهیم شی گرایی در جاوا اسکریپت
مفاهیم شی گرایی در جاوا اسکریپت
شی گرایی یک پارادایم برنامه نویسی است که بر اساس مفهوم شیء است. شیء یک ساختار داده ای پیچیده است که از داده ها و رفتار تشکیل شده است. داده ها به عنوان خصوصیات شیء و رفتار به عنوان متدهای شیء شناخته می شوند.جاوا اسکریپت یک زبان برنامه نویسی شی گرا است. این بدان معناست که می توان از مفاهیم شی گرایی برای سازماندهی و مدیریت کد جاوا اسکریپت استفاده کرد.
مفاهیم اساسی شی گرایی
چهار مفهوم اساسی شی گرایی عبارتند از:
- کپسوله سازی: کپسوله سازی به معنای مخفی کردن داده های داخلی شیء از دید عموم است. این امر به حفظ ایمنی داده ها و جلوگیری از دسترسی غیرمجاز کمک می کند.
- ارث یابی: ارث یابی به معنای انتقال ویژگی ها و رفتارهای یک شیء به شیء دیگری است. این امر به کاهش تکرار کد و بهبود قابلیت استفاده کمک می کند.
- چندریختی: چندریختی به معنای توانایی یک شیء در رفتار متفاوت در شرایط مختلف است. این امر به افزایش انعطاف پذیری کد کمک می کند.
- ایزولاسیون: ایزولاسیون به معنای جداسازی شیء از سایر شیء ها است. این امر به جلوگیری از تداخل بین شیء ها کمک می کند.
کپسوله سازی در جاوا اسکریپت
کپسوله سازی در جاوا اسکریپت با استفاده از کلمات کلیدی public
, private
, و protected
انجام می شود.
به شما توضیح میدهم که از نظر دسترسی، خصوصیتها و متدها در جاوا اسکریپت به سه دسته تقسیم میشوند:
- public: این نوع از خصوصیتها و متدها برای همه قابل دسترسی هستند. به این معناست که هر کدی میتواند به آنها دسترسی پیدا کند.
- private: خصوصیتها و متدهای private فقط برای خود شیء مربوطه قابل دسترسی هستند. این به این معناست که هیچ کدی به جز شیء خود، نمیتواند به آنها دسترسی داشته باشد.
- protected: خصوصیتها و متدهای protected برای شیء اصلی و همچنین اشیاء مشتق شده از آن در دسترس هستند. به این معناست که شیء اصلی و همه اشیاء مشتق شده از آن میتوانند به این نوع از خصوصیتها و متدها دسترسی داشته باشند.
این اصول به شما امکان میدهند که سطح دسترسی به اعضای شیء را به دقت تعیین کرده و مدیریت بهتری بر روی دسترسی به آنها داشته باشید.
ارث یابی در جاوا اسکریپت
ارث یابی در جاوا اسکریپت با استفاده از کلمه کلیدی extends
انجام می شود.
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} says "Hello!"`)
}
}
class Dog extends Animal {
constructor(name, breed) {
super(name);
this.breed = breed;
}
bark() {
console.log(`${this.name} barks!`)
}
}
const dog = new Dog("Barley", "Golden Retriever");
dog.speak(); // "Barley says "Hello!""
dog.bark(); // "Barley barks!"
در این مثال، کلاس Animal
یک کلاس پایه است که ویژگی name
و متد speak()
را تعریف می کند. کلاس Dog
یک کلاس مشتق شده از کلاس Animal
است که ویژگی breed
و متد bark()
را تعریف می کند.
چندریختی در جاوا اسکریپت
چندریختی در جاوا اسکریپت با استفاده از توابع و متدهای پارامتردار انجام می شود.
function sayHello(animal) {
animal.speak();
}
const animal = new Animal("Barley");
sayHello(animal); // "Barley says "Hello!""
const dog = new Dog("Barley", "Golden Retriever");
sayHello(dog); // "Barley says "Hello!""
در این مثال، تابع sayHello()
یک پارامتر از نوع Animal
می گیرد. این تابع می تواند شیء های از کلاس Animal
یا کلاس های مشتق شده از کلاس Animal
را دریافت کند.
ایزولاسیون در جاوا اسکریپت
در جاوا اسکریپت، ایزولاسیون با استفاده از کلمات کلیدی let
و const
انجام می شود.
- let: متغیرهای
let
در محدوده تعریف خود قابل دسترسی هستند. این بدان معناست که فقط کدی که در همان بلوک کدی که متغیرlet
در آن تعریف شده است، می تواند به آن متغیر دسترسی داشته باشد.
function foo() {
let x = 10;
function bar() {
// x در اینجا قابل دسترسی نیست!
}
}
- const: متغیرهای
const
در کل برنامه قابل دسترسی هستند، اما مقدار آنها قابل تغییر نیست. این بدان معناست که فقط کدی که در همان بلوک کدی که متغیرconst
در آن تعریف شده است می تواند مقدار آن را تغییر دهد.
const x = 10;
function foo() {
// x در اینجا قابل دسترسی است!
}
function bar() {
// x در اینجا قابل دسترسی است!
// اما مقدار آن قابل تغییر نیست!
}
ایزولاسیون می تواند به بهبود قابلیت استفاده و امنیت کد کمک کند. به عنوان مثال، استفاده از متغیرهای let
برای تعریف متغیرهای محلی می تواند به جلوگیری از تداخل بین متغیرهای مختلف کمک کند. استفاده از متغیرهای const
برای تعریف متغیرهای غیرقابل تغییر می تواند به جلوگیری از تغییر غیرمنتظره داده ها کمک کند.
معرفی دوره کپسول اندروید
آیا شما نیز حداقل یک بار در زندگیتان به وضعیتی دچار شدهاید که نیاز به پول سریع داشته باشید؟ یا اینکه به دنبال یک فرصت بزرگ در کاری خاص هستید که شاید سرمایه اولیه آن را نداشته باشید و نتوانید هزینههای ابتدایی را پوشش دهید؟
ما نمیخواهیم وقت شما را بگیریم و به سوی مسائل فرعی برویم. مثلاً، اگر به دنبال یک راه سریع برای کسب درآمد هستید، میتوانید با ساخت یک اپلیکیشن موبایل به این هدف دست پیدا کنید.
حالا سوال اینجاست: چگونه؟
پس اگر در یکی از دستههای زیر قرار دارید:
– افرادی که به دنبال یادگیری برنامهنویسی در کمترین زمان ممکن هستند.
– افرادی که وقت زیادی برای آموزش ندارند.
– علاقمندان به برنامهنویسی موبایل.
– افرادی که میخواهند با تکمیل این دوره شغل پردرآمد و با ارتقاء جایگاه کاری خود، به موفقیت دست پیدا کنند.
– افرادی که برنامهنویسی را به عنوان یک شغل دوم مد نظر دارند.
– اشخاص دارای تصمیم به رشد و تغییر در زندگی خود و تأمین رفاه خانوادگی.
– افرادی که به دنبال راهی آسان برای مهاجرت هستند.
– افرادی که تجربه درآمد دلاری را تجربه کرده و به دنبال انتشار برنامه در مارکتهای بزرگ هستند.
شما بدون نیاز به داشتن مهارت قبلی میتوانید کار را آغاز کرده و از این دوره بهرهوری کامل را ببرید.