فصل ۴ | بخش ۳: کلاس ها (Class) و اشیاء (Objects) در PHP – قسمت دوم

خرید بک لینک

فصل ۴ | بخش ۳: کلاس ها (Class) و اشیاء (Objects) در PHP – قسمت دوم

1 (20%) 1 رای

با مطالعه فصل گذشته نحوه تعریف یک کلاس به همراه استفاده از آن را یاد گرفتید. همچنین با مفاهیمی چون Construct ها یا سازنده ها تا حد قابل قبولی آشنا شدید. سپس به تعریف ویژگی ها در یک کلاس پرداختیم. در این جلسه قصد داریم به نحوه کار با متدها (Methods) در کلاس ها اشاره کنیم. اگرچه مثال های ساده ای در ارتباط با متدها ارائه کردیم ولی در این بخش به صورت عمقی به آن می پردازیم.

نوشتن یک متد در زبان PHP

متدها شبیه به توابع هستند اما با کمی تغییرات جزئی. برای مثال در متدها علامت ــ (دو آندرلاین) به عنوان نام های رزرو شده هستند و شما نمی توانید یک متد به صورت مثلا construct__ تعریف کنید!

همچنین یک کلمه ی کلیدی ویژه به نام this$ وجود دارد که برای دسترسی به ویژگی های (Properties) یک کلاس مورد استفاده قرار می گیرد. در مثال زیر یک متد به نام get_password تعریف کرده ایم و درون آن مقدار رمز عبور را بر می گردانیم:

متد get_password از یک کلمه کلیدی به نام this$ جهت دسترسی به ویژگی password از همان کلاس استفاده کرده است. توجه داشته باشید که برای دسترسی به متد password نیازی به قرار دادن علامت $ نیست. بلکه اپراتور یا عملگر <- جایگزین علامت دلار یا $ می شود. در ادامه برای استفاده از این مثال باید یک شیء به عنوان نمونه از آن تعریف کرده و سپس متد موردنظر را فراخوانی کنیم:

متدهای استاتیک در PHP

برخی متدها یا ویژگی ها در زبان برنامه نویسی PHP به صورت استاتیک یا ایستا تعریف می شوند. مزیت این نوع متدها این است که شما بدون اینکه از آن کلاس نمونه برداری کنید، می توانید متد مورد نظر را با قرار دادن یک جفت علامت :: بکار بگیرید. به عبارت دیگر متدها یا ویژگی های استاتیک به کلاس چسبیده اند و برای استفاده از آنها نیازی به ساختن شیء نیست! به مثال زیر توجه کنید:

در این مثال برای استفاده از متد pwd_string نیازی به ساخت شیء از روی آن کلاس نیست.

تعریف ویژگی ها

همواره نباید ویژگی ها را درون یک کلاس تعریف کرد. گاهی می توان آنها را به صورت ضمنی یعنی خارج از کلاس تعریف نموده و سپس نمایش دهیم. به مثال زیر توجه کنید:

در مثال فوق ابتدا کلاس User را تعریف کرده ایم و چون هیچ ویژگی ای برای آن در نظر نگرفته ایم، میتوانیم ویژگی های جدیدی را خارج از کلاس با استفاده از عملگر <- ایجاد کنیم.

تعریف ثابت ها

اگر یادتان باشد در فصول اولیه این دوره آموزشی متنی، نحوه تعریف کردن ثابت ها در زبان PHP را آموزش دادیم. در کلاس ها ثابت ها دقیقا مشابه آنچه بیان شده است، تعریف می شوند ولی اگر بخواهیم به آنها دسترسی داشته باشیم باید از کلمه ی کلیدی self به همراه عملگر :: استفاده کنیم. به مثال زیر توجه بفرمایید:

با بررسی مثال فوق متوجه شده اید که ثابت ها را درون یک متد استاتیک با کلمه ی کلیدی self نمایش داده ایم.

اسکوپ (Scope) متدها و ویژگی ها در PHP

اگر به مثال های قبلی توجه کنید با کلماتی مشابه public, protected و private رو به رو می شوید. این کلمات در واقع محدوده ی به کارگیری یک ویژگی یا متد را مشخص می کنند.

public

در صورتیکه این کلمه در ابتدای یک ویژگی یا متد قرار بگیرد بدین معنی است که آن ویژگی یا متد علاوه بر اینکه درون آن کلاس در دسترس است، درون تمام کلاس های دیگر و خارج از کلاس اصلی قابل استفاده می باشد.

protected

قرار گرفتن این کلمه در ابتدای یک ویژگی یا متد باعث می شود آن متد یا ویژگی علاوه بر اینکه درون کلاس اصلی خود در دسترس باشد، در کلاسی که از کلاس اصلی ارث بری (مبحث ارث بری در ادامه توضیح داده خواهد شد) داشته، قابل دسترس شود.

private

ویژگی یا متدی که به صورت private تعریف می شود، تنها درون آن کلاس (کلاس اصلی) در دسترس است و در هیچ مکانی قابل استفاده نیست.

ارث بری یا Inheritance در زبان PHP

ارث بری در زبان PHP

ارث بری به معنای به ارث بردن یک سری ویژگی ها یا متدها از کلاس پدر توسط کلاس فرزند است. مثلا فرض کنید شما قد، رنگ مو و ابروهایتان را از پدر خودتان به ارث برده اید، بنابراین به ویژگی هایی مثل ابرو، قد، دسترسی دارید. در دنیای برنامه نویسی نیز دقیقا به همین صورت است. مثلا فرض کنید یک کلاس به نام User داریم که کلاس پدر نامیده می شود. کلاس فرزند دیگری به نام Contact تعریف می کنیم که تمام متدها و ویژگی های کلاس پدر را به ارث برده است. برای نمایش ارث بری یک کلاس از کلمه کلیدی extends استفاده می کنیم:

در این مثال ابتدا یک شیء به نام object از کلاس Contact ایجاد کرده ایم. سپس به مقادیر name و password که در کلاس پدر User تعریف شده است، مقادیر دیگری را اختصاص می دهیم. همانطور که ملاحظه می کنید، تمام ویژگی ها و متدهای کلاس پدر User علاوه بر اینکه در کلاس فرزند Contact در دسترس است، در شیء ای که از کلاس Contact ایجاد شده است، قابل مشاهده می باشد. در نهایت خروجی این مثال به صورت زیر خواهد بود:

بسیار عالی عزیزان از اینکه تا به اینجای دوره آموزشی متنی PHP خدمت شما بودیم بسیار خوشحالیم. در فصل بعدی به صورت مفصل درباره آرایه ها در زبان PHP صحبت خواهیم کرد و شما عزیزان را با مفاهیم جدیدی آشنا می کنیم.

جهت دریافت آموزش ویدیویی صفر تا صد PHP به همراه ساخت CMS مشابه وردپرس روی اینجا یا تصویر زیر کلیک کنید.

آموزش مقدماتی تا پیشرفته PHP7 به همراه ساخت CMS اختصاصی مشابه وردپرس

کارت ویزیت لایه باز...

ما را در سایت کارت ویزیت لایه باز دنبال می‌کنید

برچسب: نویسنده: بازدید: 140 تاريخ: شنبه 2 تير 1397 ساعت: 3:54

صفحه بندی