"> اموزش برنامه نويسی شی گرا در php | ام اس پی سافت

اموزش برنامه نویسی شی گرا در php

data:image/jpg;base64,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
PHP تا چه حد شی گراست؟! آیا تمام امکاناتی که در زبانهای برنامه نویسی شی گرای کاملی همچون Java وجود داره، در PHP هم پشتیبانی میشه؟! پاسخ به این سوال تا حدی بر میگرده به معیارها و شرایطی که شما برای شی گرا بودن یک زبان مدنظر دارید. در این پست من سعی میکنم امکاناتی که نوعا در یک زبان برنامه نویسی شی گرا وجود داره رو بررسی کنم و حرفایی که PHP در هر مورد برای گفتن داره رو تا حدی توضیح بدم. (این راهنما بیشتر برای کسانی هست که از زبانهای OO دیگری میخوان به PHP روی بیارن.)
لازم به ذکر است که تنها به قابلیت های موجود در نسخه پایدار PHP که از Zend Engine 1 بعنوان مفسر(Parser) خود بهره می بره، پرداخته شده است.
وراثت یگانه(Single Inheritance):
PHP به شما اجازه میده که با استفاده از عبارت extends یک کلاس فرزند تعریف کنید که تمام مشخصه ها و رفتارهای کلاس والد رو دارا هست.(تعریف یک کلاس، از کلاس دیگه به ارث می رسه.)
وراثت چندگانه(Multiple Inheritance):
PHP از وراثت چندگانه پشتیبانی به عمل نمی یاره و هیچ نشانی از وراثت واسطه که در جاوا وجود داره دیده نمیشه. هر کلاس حداکثر یک کلاس والد خواهد داشت.
سازنده ها(Constructors):
هر کلاس می تونه یک تابع سازنده داشته باشه که در نسخه فعلی PHP که از Zend Engine 1 بهره می بره، باید همنام کلاس باشه. در نسخه بعدی PHP که مجهز به ZE2 می باشد، تابع سازنده هر کلاس ()construct__ نام خواهد گرفت. تابع سازنده کلاسهای والد به طور اتوماتیک فراخوانی نمی شن مگر اینکه صریحا احضار بشن!
تخریب کننده ها(Destractors):
نسخه فعلی PHP (با ZE 1) تابع تخریب کننده نداره، بیشتر به این خاطر هست که آزاد سازی حافظه و برگرداندن حافظه تخصیص یافته دست برنامه نویس نیست. اما نسخه های بعدی تابع تخریب کننده را دارا می باشد.
کپسوله سازی و کنترل دسترسی(Encapsulation):
هیچ پشتیبانی از کپسوله سازی در نسخه جاری PHP به عمل نیومده و تمام مشخصه ها و رفتارها Public هستند، اما تو نسخه بعدی دو نوع Private و Protected افزوده شده است.
چند شکلی(Polymorphism):
PHP چند شکلی رو به این صورت پشتیبانی میکنه که اجازه میده نمونه کلاس های فرزند به جای نمونه کلاسهای والد استفاده بشه.
اتصال دیر یا زود(Early vs. late binding)
دو پاسخ مناسب به این موضوع به قرار ذیل هست:
۱) از اونجایی که PHP یک زبان Loosely Type هست، این سوال پیش نمی یاد.
۲) تمام اتصالات Late هستند. در PHP مقادیر دارای نوع هستند ولی متغیرها بی نوع هستند، بنابراین این سوال که اگه نوع متغیر و مقدار متفات باشه کدوم متد فراخوانی بشه، به وجود نمی یاد.
توابع ایستا(Static Functions)
پشتیبانی صریحی از Class Functionها وجود نداره اما میشه که با استفاده از سینتکس ()Classname::function میشود تابع یک کلاس رو فراخوانی کرد. این تابع تا وقتیکه به یک متغیر داخلی ارجاع نکنه ، به عنوان یک Class Function در نظر گرفته میشه.
درون نگری(Introspection):
در این مورد PHP با دست پر ظاهر شده و توابع متنوعی برای کسب اطلاعات در مورد یک کلاس وجود داره، مثلا بازیابی نام کلاس، نام یک تابع، نام متغیرهای(مشخصه های) یک نمونه کلاس و …

  • پسورد: www.mspsoft.com
مسعود شریفی پور

از سال 88 که با برنامه نویسی آشنا شدم خیلی علاقه مند بودم یک بستر آموزشی بسازم در فضای وب و به انتشار آموزش های در این زمینه بپردازم.حالا یک تیم داریم و با قدرت رو به جلو حرکت میکنیم.

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

    نا شناس پاسخ

    با سلام.

    باید تشکر کرد که به این نحو سعی در ارتقاع آگاهی مردم دارید ولی لینک دانلود هم نذاشتید بعد هم انتظار دارید بگیم سایت خوبی دارید و ممنون ؟

    واقعا باید تاسف به حالتون خورد.

    متشکر.

      مسعود پاسخ

      سلام اين يك اموزش هستش چه لينك دانلودي دوست من ؟اين پست به صورت يك مقاله روي سايت قرار گرفته

    تاسف پاسخ

    تو هر گوشه اين دنيا افرادي با ذهن يك بعدي وجود دارن، اما از اين قبيل در ايران بيشتر به چشم ميخوره.

کدیشن ! مارکت پروژه های برنامه نویسی راه اندازی شدیه توکه پا بریم ببینم