نقطه ویرگول;

هر از گاهی از هر چیزی

هر از گاهی از هر چیزی

شی گرایی(OOP)در پی اچ پی(PHP) – شی و کلاس

سه شنبه, ۸ فروردين ۱۳۹۱، ۰۴:۵۰ ب.ظ
در توسعه به سبک شی گرایی تمرکز و توجه به اشیا و ارتباطات اشیاست. در نگرش شی گرایی همه چیز یا شی است یا یک رابطه برای اشیاست. اشیایی مانند میز، کیف پول، رایانه یا ... که در محیط اطراف خود می بینیم همگی شی و دارای روابط هستند. روابط در شی گرایی بسیار اهمیت دارد مانند رابطه توسعه برای میز یا رابطه چند شکلی برای کیف و یا مانند رایانه یک شی مرکب و پیچیده شده از اشیا و روابط باشد. در توسعه شی گرا هدف و تمرکز روی اشیاست اما روابط بین اشیا هم بسیار مهم و حیاتی هستند. در ادامه بیشتر قصد دارم تا در رابطه با مفهوم و شکل کلاس و شی صحبت و مبحث روابط اشیا را در مباحث آتی پیگیری کنم. این مقاله با تشابه سازی میان اشیا واقعی با اشیا در توسعه سعی دارد تا به شما کمک کند تا به درک درستی از شی و کلاس دست یابید.
مفهوم شی (Object)
محیط اطراف ما ساخته شده است از مجموعه ایی از اشیا ، اگرچه این اشیا با آنچه ما در توسعه شی می خوانیم ممکن است متفاوت باشد اما از نظر جایگاه و نوع ارتباطی که اشیا ایجاد می کنند شباهت های بزرگی وجود دارد. من سعی می کنم تا با کمک این شباهت ها به شما برای درک مفاهم شی گرایی کمک کنم.
یک مداد، یک میز، یک کاغذ، یک کابل شبکه، یک آدم، یک رایانه و ... همگی شی هستند .. ممکن است این شی ساده باشد مانند شی مداد و یا ممکن است پیچیده باشد مانند یک رایانه، به هر حال یک شی است و در گروه اشیا قرار می گیرد و با سایر اشیا رابطه دارد.
شی یعنی مجموعه ای از خصوصیت ها (Properties) و عملکرد ها (Methods). مثلا مداد دارای خصوصیات رنگ، رنگ پوسته، جنس بدنه است و دارای عملکرد نوشتن است و یا میز دارای خصوصیت رنگ بدنه، تعداد پایه ها، جنس بدنه و عمکرد میز شدن است.
مفهوم کلاس (Class)
شما در هر کجا یک میز را ببینید به سرعت تشخیص می دهید که این یک میز است و یا یک مداد و یا یک رایانه و یا یک انسان و یا هر شی دیگری که کلاس آن را بدانید!. کلاس (مانند کلاس میز) یعنی مجمعوعه ای از اشیا (مانند مجموعه اشیا میز) دارای چه خصوصیات (Properties) و عملکرد هایی (Methods) هستند. چند شی مختلف از یک کلاس را در نظر بگیرید مانند کلاس میز و اشیای میز غذا خوری و میز رایانه و میز مطالعه، اگرچه از نظر خصوصیات مانند رنگ و جنس و شکل و تعدا پایه ها ممکن است متفاوت باشند و یا بگونه ایی متفاوت عمل کنند اما همگی آنها میز هستند.
شکل پیاده سازی شی و کلاس در پی اچ پی
$db = new Mysqli($hostname, $username, $password, $database);
در این قطعه کد به وسیکه کلمه کلیدی new از کلاس mysqli یک شی ساخته شده و درون متغییر db قرار داده می شود. از این به بعد برای db از لفظ شی استفاده می کنم. متغیر های hostname و username و password و database به عنوان پارامتر برای کلاس ارسال شده اند که در آینده در این مورد بحث خواهد شد.
class MyClassForTest
{
// properties
// methods
}
در این قطعه کد یک کلاس ایجاد شده است. بعد کلمه کلیدی class اسم کلاس آورده شده و متد ها و خصوصیت های کلاس درون براکت های کلاس قرار می گیرند.
$object_1 = new Class_Name_1;
$object_2 = new Class_Name_1();
($object_1 == $object_2); // is TRUE
در صورتی که کلاس پارامتر اولیه نداشته باشد و جود پرانتز ها اختیاری است.
$object = new ClassName();
(isset($ObJEct)); // is FALSE
نام گذاری اشیا از قوانین نام گذاری متغییر ها پیروی می کند. نام متغییر ها به حروف بزرگ و کوچک حساس است.
class MyClassForTest
{}
(class_exists(‘myclassfortest’)); // is TRUE
نام گذاری کلاس ها از قوانین نام گذاری توابع (function) پیروی می کند. نام توابع و کلاس ها به حروف بزرگ و کوچک حساس نیست.
پیوند ها:

پایه شی گرایی ۵
کلاس MySqli
تابع class_exists
تابع isset

نظرات  (۴)

بعله بعله
خیلی از لطفتون سپاسگرازم :P
ممنون
قوربونت برم ;)
بسیار خوب
ادامه ادامه
لطف داری داداش
بزودی :دی

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی