برنامه نویسی شی گرا - مفاهیم پیشرفته

دسته بندی: آموزش
زمان مطالعه: ۲ دقیقه
۲۸ شهریور ۱۳۹۳

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

مطالب مطرح شده در این جلسه عبارتند از :

مفاهیم پیشرفته در برنامه نویسی شی گرای PHP

  • توضیحات تکمیلی در مورد کاربرد های کیورد static
  • افزودن قابلیت شمارش تعداد نمونه های ساخته شده از یک کلاس
  • کپی کردن اشیاء با استفاده از clone
  • عدم کپی شدن اشیاء با عملیات انتساب و رفتار این عملیات
  • تشخیص کلاس یک شئ و نمونه ی ساخته شده با عملگر instanceof
  • تعین نوع پارامترهای ورودی متد ها (type hinting)
  • مقداردهی خصوصیت های خاص فرزندان یک کلاس در متد سازنده ی آن
  • استفاده از متد سازنده ی کلاس پدر/والد در کلاس های فرزند
  • توضیحات تکمیلی در مورد کیورد final
  • جلوگیری از extend شدن یک کلاس با استفاده از کیورد final
  • ثابت های جادویی برای دریافت نام کلاس، متد و فضای نام کنونی
  • دریافت اطلاعات همه ی خصوصیات یک شئ و کلاس
  • دریافت مشخصات همه ی متدهای یک شئ و کلاس
  • آشنایی کلی با زبان UML و مدلسازی ساختار کلاس های یک سیستم
  • کلاس های abstract در PHP و کاربرد آنها
  • متدهای abstract و توضیح آن
  • رابط ها (interfaces) و دلیل استفاده از آن ها
  • آشنایی با مفهوم Object Iteration
  • اصول و مفاهیم برنامه نویسی شئ گرا :
  • مفهوم ارث بری (Inheritance)
  • مفهوم مخفی سازی (Encapsulation)
  • مفهوم چند شکلی (Polymorphism)
  • مفهوم انتزاع/تجرید (Abstraction)
  • Serialization : تبدیل اشیاء و متغیرهای مختلف به رشته و بازیابی آن ها
  • کاربرد مهم تبدیل اشیاء به رشته و ذخیره سازی مستقیم آنها در فایل، سشن و دیتابیس
  • دیدن کاربرد serialization در محبوبترین cms دنیا ، وردپرس
  • دیدن تمام متدها و خصوصیت های  mysqli و PDO و نحوه ی جستجو برای یادگیری کاربرد آنها
  • طراحی ساختار کلاس های وسایل نقلیه
  • مینی پروژه : طراحی و پیاده سازی ساختار کلاس بندی اشیاء هندسی مختلف و تشریح مفاهیم پیشرفته ی شی گرایی در بستر آن
:: توجه

این مطلب یک جلسه از آموزش PHP می باشد و برای مشاهده آن باید در دوره ثبت نام کنید.

ثبت نام در آموزش PHP

نویسنده
بیش از 15 سال هست که برنامه نویسی می کنم و از بین همه زبون هایی که کار کردم جاوا، اسمبلی و php رو دوست دارم. دانشجوی دکترای نرم افزارم و توی دانشگاه روی پردازش بیگ دیتا و پردازش موازی کار کردم و عاشق چالش از هر نوعیش هستم! سون لرن مثل بچه منه که 12 سال براش وقت گذاشتم، اینجا همه تلاش می کنیم از شروع یادگیری تا ورود به بازر کار حوزه برنامه نویسی و IT همراهتون باشیم.

جلسات دوره

نظرات کاربران

محمد میرزایی جوینانی

استاد با استفاده از constractor نمیشد wife رو براش تعریف کرد؟
حتما باید از setwife استفاده کرد؟

لقمان آوند

بله خوب معلومه که میشه
هر مقداری رو توی توابع set قرار میدید میشه با پاس دادنش به کانستراکتور هم ست کنید

لقمان آوند

سلام
بله این مورد رو در دوره گفتیم.
معمولا متغیر هایی که در این کلاس ها در دسترس هستند قابل نوشتن نیستند و مشکلی بوجود نمیاره … (readOnly هستند)

لقمان آوند

pear و pecl مجموعه ای از کدها و پکیج های آماده هستند که کدهایی رو در بر دارند. این کدها ممکنه در پروژه های مختلف قالب استفاده باشه و شما می تونید از پیاده سازی شده اونها در این دو مجموعه استفاده کنید. در اینجا هم توضیحات خوبی در موردش داده شده.
php به صورت پیشفرض نداره enum ها رو و اگر چنین چیزی گفته پس باید از همین دو مجموعه استفاده کنید. در عین حال می تونید با یه ترفند ساده شبیه سازی این چنینی از enum ها داشته باشید :

 abstract class DaysOfWeek{
 const Sunday = 0;
 const Monday = 1;
 // etc.
}
$today = DaysOfWeek::Sunday;
لقمان آوند

اقا فرهاد این موارد که کتابخانه نیستند!
اگر لیست کتابخانه های php رو می خواید کافیه list of php libraries رو سرچ کنید تا هر نوع کتابخونه ای رو که می خواید پیدا و استفاده کنید. php اپن سورس هست و حجم کتابخانه های تولید شده توسط افراد مختلف در سطح وب خیلی زیاد هست. تقریبا برا هر کاری کتابخونه های خوبی داره.

پایان زمان پشتیبانی

دانشجوی گرامی، بازه پشتیبانی فعال برای این دوره ۳ ماه است که برای شما به پایان رسیده است.

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

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.
گزارش مشکل