الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشروع Arabic PHP .NET Framework : م Collection

مثبّت
بدأه الحسين في 27 سبتمبر 2004 · 0 رد · 5,556 مشاهدة · في أرشيف قسم منتدى PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1

بسم الله الرحمن الرحيم

المجموعة System.Collections

تعتبر هذه المجموعة بمثابة نواه هذه الإطار حيث تم إستخدام هذه المجموعة كثيرا في بناء بعض المجموعات الأخري ( مثال المجموعة System.Data و مجموعات أخري )

كما سنري لاحقا عند شرح تلك المجموعات

تضم هذه المجموعة الفئات الأساسية وهي

+ Collection Class

تتميز هذه الفئة بالتالي :

- هي الفئة الأم لكل فئات المجموعة System.Collections

- هذه الفئة مشتقة من الفئة Object الموجودة بالمجموعة System

- لا يمكننا تخليق كائنات من هذه الفئة لأنها فئة مجردة (Abstract Class)

- تحمل هذه الفئة مصفوفة عامة (Public Array)

+ Stack Class

تتميز هذه الفئة بالتالي :

- هذه الفئة مشتقة من الفئة Collection

- كما نعلم أن فكرة المكدسة (Stack) تعمل من خلال المفهوم ( Last in First out )

LIFO وتعني أن أخر عنصر تم إضافته لمصفوفة المكدسة هو أول عنصر يتم حذفه من المصفوفة

أو بإسلوب أخر أننا عندما نقوم بإجراء عملية الحذف أو السحب (Pop) يتم سحب أول عنصر بمصفوفة المكدسة

( وهذا يمكن تخيله من خلال حركة المكدسة من إسفل إلي أعلي )

وتتم عملية الإضافة أو الدفع (Push) من خلال إضافة العنصر في أعلي المكدسة (أي يكون العنصر الأول بالمصفوفة)

( وهذا يمكن تخيله من خلال حركة المكدسة من أعلي إلي إسفل )

ملاحظة : لاحظ أن فكرة الإعادة Redo والتراجع Undo تتم من خلال مفهوم المكدسة

+ Queue Class

تتميز هذه الفئة بالتالي :

- هذه الفئة مشتقة من الفئة Collection

- كما نعلم أن فكرة الصف (Queue) تعمل من خلال المفهوم ( First in First out )

FIFO وتعني أن أول عنصر تم إضافته لمصفوفة الصف هو أول عنصر يتم حذفه من المصفوفة

أو بإسلوب أخر أننا عندما نقوم بإجراء عملية الحذف (Dequeue) يتم سحب أول عنصر بمصفوفة الصف

وتتم عملية الإضافة (Enqueue) من خلال إضافة العنصر في أخر الصف (أي يكون العنصر الأخير بالمصفوفة)

+ ArrayList Class

- هذه الفئة مشتقة من الفئة Collection

- تتميز بالتعامل مع عناصر المصفوفة من خلال موقع العنصر بالمصفوفة ( أي Index )

+ Hashtable Class

- هذه الفئة مشتقة من الفئة Collection

- تتميز بالتعامل مع عناصر المصفوفة من خلال مفاتيح المصفوفة ( أي Key)

ويوضح الشكل التالي تركيب المجموعة System.Collections

(لاحظ أن الأعضاء أمثال الدوال والثوابت والمتغيرات التي تحتها خط تعبر عن أعضاء إستاتيكية Static members)

SystemCollections.gif

لاحظ أن المجلد System.Collections يحتوي علي التالي

- الملف Collection.php يحتوي علي الفئة Collection

- الملف Stack.php يحتوي علي الفئة Stack

- الملف Queue.php يحتوي علي الفئة Queue

- الملف ArrayList.php يحتوي علي الفئة ArrayList

- الملف Hashtable.php يحتوي علي الفئة Hashtable

كيف يمكننا إستخدام هذه الفئات :

سوف ندرج في مجلد ال bin مجموعة ال System.Collections كما يلي

Img1-3.gif

يمكننا إستخدام تلك الفئات من خلال عمل تضمين including لمحتويات الملف التالي

WebApplication2/bin/System.Collections.php

وهذا هو محتوي الملف

<?
include_once "System.php";

include_once "System.Collections/Collection.php";
include_once "System.Collections/Stack.php";
include_once "System.Collections/Queue.php";
include_once "System.Collections/ArrayList.php";
include_once "System.Collections/Hashtable.php";
?>

مثال سريع لإستخدام الفئة Stack

<script language="php">
// إستخدام مكتبة System.Collections
include_once "../bin/System.Collections.php";

    // Creates and initializes a new Stack.
    $myStack = new Stack();
    $myStack->Push( "The" );
    $myStack->Push( "quick" );
    $myStack->Push( "brown" );
    $myStack->Push( "fox" );

    // Displays the Stack.
    echo "<pre>" . $myStack->ToString() . "</pre>";

    // Removes an element from the Stack.
    echo "[Pop] : " . $myStack->Pop();
    echo "<pre>" . $myStack->ToString() . "</pre>";

    // Removes another element from the Stack.
    echo "[Pop] : " . $myStack->Pop();
    echo "<pre>" . $myStack->ToString() . "</pre>";

    // Views the first element in the Stack but does not remove it.
    echo "[Peek] : " . $myStack->Peek();
    echo "<pre>" . $myStack->ToString() . "</pre>";
</script>

وقد أرفقت هنا مثال لإستخدام المجموعة System.Collections

(لاحظ أن هذا الإطار يعمل مع الإصدار الخامس PHP5)

وأنا في أنتظار اي إستفسار في هذا الموضوع

أنتظروني قريبا مع الدرس القادم والفئة System.RegularExpressions , والله الموفق

WebApplication2.rar

29_5.gif

سورة العنكبوت

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

مشروع Arabic PHP.NET

حلم طالما كان يراودني حتي قهرته بحمد الله ليكون حقيقة

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

سلسلة أنماط التصاميم البرمجية Desgin Patterns

سلسلة أنماط التصاميم البرمجية Desgin Patterns | كتيب هذه الدروس (إعداد أحمد غريب)

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

كنترول ASP.NET DataGrid CheckBoxColumn

كنترول ProgressBar

كنترول UltraPanel

مشروع الكنترول الأنيق (إهداء للفريق العربي)

الورش الإلكترونية IT Workshops

تعقب الأخطاء error tracing

كنترول ColorPicker لمطوري الويب

RichTextBox Control لمطوري ال ASP.Net

حمل كتاب جافا سكربت عربي

مواضيع مشابهة