الرئيسية > برمجة > المشيد و المدمر في البرمجة الكائنية

المشيد و المدمر في البرمجة الكائنية


السلام عليكم و رحمة الله و بركاته
المشيد (constructer) :
يقصد بكلمة المشيد أو constructer أنه عند إستدعاء الكائن فإنه سوف يقوم بعمل ما و الهدف هنا هو جعل الكائن يقبل وسائط (arguments) كمثال أنه أول ما ولدت ولدت تبكي من هنا نستنتج أن مشيدك كان البكاء😀 .

الآن قبل أن نأخذ مثال علينا أن نعرف طريقة كتابة مشيد ،بما أن PHP تتوسع مع كل إصدار فقد تركت لنا طريقتين لإستدعاء المشيد الأولى و هي كتابة إسم الدالة المراد إستعمالها بإسم الكائن .
مثال :

  1. <?php
  2. class MyClass
  3. {
  4. public function MyClass()
  5. {
  6. echo “السلام عليكم و رحمة الله و بركاته”;
  7. }
  8. }
  9. ?>

الثانية و هي الأحدث حيث جائت في الإصدارة PHP 5 :
مثال :

  1. <?php
  2. class MyClass
  3. {
  4. public function __construct()
  5. {
  6. echo “السلام عليكم و رحمة الله و بركاته”;
  7. }
  8. }
  9. ?>

كلا المثالين يعطيان نفس النتيجة أم الشرح فهو كالتالي :
السطر 2 نسبق إسم الكائن بالكلمة المفتاحية class بعدها نضع إسم الكائن ،من المستحسن أن تكون أسماء العلم تبتدئ بحرف كبير (مجرد سنة في البرمجة الكائنية :D) بعدها نضع حاظنتين حيث بداخلهما تكون شفرتنا .
السطر 4 وضعنا إسم method أو إسم الدالة كما كنا نقولها في البرمجة الكلاسيكية ،هنا وضعنا الكلمة المفتاحية construct__ حيث أن السنة تقول أن الدوال ذات العمل الخاص مثل هذه يحبذ أن تبتدأ بعلامة “_” مضاعفة بالإضافة أن كلمة construct تعتبر كلمة مفتاحية.
الآن طريقة الإستدعاء :

  1. <?php
  2. $MyFirstClass = new MyClass();
  3. ?>

هنا نستخدم الكلمة المفتاحية new يليها إسم الكائن المراد إستدعائه ،لاحظوا أن إسم الكائن يكون إستدعاءه كإستدعاء دالة .
المدمر (destruct) :
المدمر هو عكس المشيد😀 .
فائدة المدمر هو تحرير الكائن من الذاكرة فلو مثلا قمنا بإستدعاء كائن و إنتهينا منه فإنه لاحاجة لنا به بعد الآن القصد هنا الإقتصاد في الذاكرة و ليس الشح ،أيضا له عمل آخر فكما تذكرون أن المشيد فائدته القيام بعمل مع إستدعاء الكائن فإن المدمر يمكنه أيضا عمل أثناء تحرير الكائن من الذاكرة ، كمثال فلنفرض أننا قمنا بعمل كائن يقوم بالإتصال بقاعدة بيانات MySQL بعد الإنتهاء منه يجب علينا غلق الإتصال لهذا فإن دور المدمر يكون هنا .
مثال :

1<?php
2class MySQL
3 {
4  private $handle;
5  public function __construct($server,$user,$pass,$db)
6   {
7    $this->handle = mysql_connect($server,$user,$pass);
8    mysql_select_db($db,$this->handle);
9   }
10  public function __destruct()
11   {
12    mysql_close($this->handle);
13   }
14 }
15$db = new MySQL(“127.0.0.1″,”root”,””,”test”);
16$db->__destruct();
17?>

السطر 4 سيكون كمقبض للإتصال بقاعدة البيانات ،لاحظوا أننا جعلناه private كوننا لانحتاجه خارج الفئة بالإضافة إلى أسباب أمنية بعدها وضعنا مشيد في السطر 5 مهمته إستقبال البيانات اللازمة
من كلمة سر ،إسم مستخدم و إسم قاعدة بيانات مع المستضيف .
السطر 7 للإتصال و 8 لإختيار قاعدة بيانات المراد العمل عليها .
السطر 10 هو المدمر حيث أننا بعد الإنتهاء من الكائن سنغلق الإتصال مع قاعدة البيانات حتى لانستهلك موارد السيرفر أما السطر 12 فهو إغلاق الإتصال .
السطر 15 إستدعاء للكائن بعدها السطر 16 تحرير للكائن من الذاكرة أي قطع الإتصال مع القاعدة .
الشيفرة السابقة لم تحتوي على أية شروط حتى لا تكون هناك أية تعقيدات .

التصنيفات :برمجة الوسوم:,
  1. 25 يونيو 2011 الساعة 8:54 ص

    جميل جدا ً اخي الكريم سلمت يمناك

  1. No trackbacks yet.

أضف تعليقاً

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s

%d مدونون معجبون بهذه: