دروس كمبيوتر وصيانة دروس حاسب دروس مجلة  درس نيوك phpnuke الدروس دروس مسنجر MSN - yahoo - Gmail دروس منتديات vBulletin دروس الجوالات والهواتف دروس السي بنل cpanel دروس اكسس access دروس بيونت شوب برو - point shop pro دروس برمجة php - mysql دروس برامج منوعة software دروس ثري دي ماكس 3D max دروس جافا سكريبت JavaScript دروس دريم ويفر DreamWeaver دروس شبكات Networks دروس سويش - swish دروس فلاش - flash دروس فيجوال بيسك Visual Basic دروس فرونت بيج - frontpage دروس فوتوشوب photoshop دروس هكر hacker crack virus
استخدام برمجة الكائنات OOP - دروس برمجة php - mysql
عقارية المدينة ينتهي في 12\12\1429 هـ عطري الخاص احدث و اجود و افضل و اروع العطورات الفرنسية 23\12\1429 هـ موقع حلم قمر ينتهي في 26-11-1429هـ
شرفات الورد ينتهي في 17\11\1429 هـ حراج سيارات شراء استبدال بيع جديدة و مستعملة جميع أنواع السيارات ينتهي في 12\5\1430 هـ الحمادين ينتهي في 8\10\1429 هـ
للاعلان بالموقع سعر الاعلان 400 ريال في كافة اقسام موقع مدرسة المشاغبين جويا تنتهي في 20\11\1429 هـ الجيل الجديد لخدمات الانترنت 8-8-1429
للاعلان بالموقع سعر الاعلان 400 ريال في كافة اقسام موقع مدرسة المشاغبين دلوعتي ينتهي في 12\12\1429 هـ للاعلان بالموقع سعر الاعلان 400 ريال في كافة اقسام موقع مدرسة المشاغبين
احصائيات سريعة
اقسام على الموقع
دروس في أنظمة التشغيل | ماي سكيول - MySQL | لفيجوال بيسك - Visual Basic | المات لاب Matlab | اللينكس و اليونكس | الاسمبلي - ASSEMBLY | الاوتلوك - Outlook | البرمجة تحت اللنكس -Linux Programming | البرمجة تحت وندوز بواسطة دوال ال win API | البرمجة في بيئة الدوت نت .Net | التصمبم والرسوم | الدلفي - Delphi | الجافا - Java | السي - C | الصوت و الصورة | الوورد - Word | القسم العام للأوفيس | الكوبول - COBOL | control panel-ftp | اوراكل - Oracle | اكسل - Excel | تحميل الملفات | برامج متنوعة | برامج التصفح | برامج الحماية | برامج إنترنت | تعرّف على الويب | بوربوينت - Power Point | images | دروس : كمبيوتر وصيانة | دروس مجلة نيوك phpnuke | دروس مسنجر MSN - yahoo - Gmail | دروس منتديات vBulletin | دروس الجوالات والهواتف | دروس السي بنل cpanel | دروس اكسس access | دروس بيونت شوب برو - point shop pro | دروس برمجة php - mysql | دروس برامج منوعة software | دروس ثري دي ماكس 3D max | دروس تطوير المواقع والمنتديات | دروس جافا سكريبت JavaScript | دروس دريم ويفر DreamWeaver | دروس شبكات Networks | دروس سويش - swish | دروس فلاش - flash | دروس فلاش mx | دروس فى نظام الوندوز WINDOWS | دروس فىالباسكال - Pascal | دروس فيجوال بيسك Visual Basic | دروس فرونت بيج - frontpage | دروس فوتوشوب photoshop | دروس هكر hacker crack virus | سي ++ | سي شارب - #C | فيجوال سي ++ - ++ Visual C | قسم البرمجة العام | دروس فى لغة HTML
البحث في المواد

اكثر المحتويات زيارة
الدوال في الاكسل (7,945 مشاهده)
ربط قاعدة بيانات أكسس (MS Access) مع برنامج الفيجوال بيسك بطريقة(ODBC) (5,426 مشاهده)
تعريف الفن التشكيلي: (4,610 مشاهده)
الدرس الثالث : بعض تطبيقات الدوال في اكسل (3,787 مشاهده)
شرح طريقة استعمال الأوتلوك مع بريد الهوتميل (3,471 مشاهده)
تغيير لغة واجهة التطبيق من عربي الى انجليزي وبالعكس لـ Windows-based applications (3,407 مشاهده)
أنواع العلاقات وطريقة الربط بين الجداول. (3,309 مشاهده)
تعريف الاستعلام وطريقة عرضه في آكسس، أنواع الاستعلامات، نافذة تحديد الاستعلام! (3,148 مشاهده)
الدرس الثاني: بعض الحيل لتسهيل برنامج اكسل (2,941 مشاهده)
دروس في الأوفيس الأكسس - Access0- (2,804 مشاهده)
اضافه صوت ونص لخلفيه في باور بوينت (2,403 مشاهده)
أنشئ قاعدة بياناتك التي ستستند إليها في تعلم طريقة ربط الجداول والاستعلامات. (2,352 مشاهده)
كيفية حل مشاكل الانترنت اكسبلور Internet Explorer (2,278 مشاهده)
مقدمة عامة حول الاكسل وحيل خاصة بالاكسل (2,267 مشاهده)
الدرس الأول : عمل شريحة في البوربوينت (2,213 مشاهده)
شرح طريقة التجميع Grouping في برنامج الاكسل (2,044 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (1,997 مشاهده)
المنظور الفوتوغرافي Perspective Drawing (1,993 مشاهده)
الدرس الثاني : عمل خلفيات ملونة لشرائح (1,970 مشاهده)
ما هو المات لاب MATLAB؟ (1,861 مشاهده)
برنامج Windows Movie Maker لتكوين أفلام (1,839 مشاهده)
التعرف على مكونات الكمبيوتر (1,819 مشاهده)
إنشاء موقع ويب جديد0--- (1,789 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس . (1,780 مشاهده)
تحويل ملف من مايكروسوفت ورد إلى اكروبات (1,720 مشاهده)
جديد مواد مع عشوائي
التحويل التلقائي للحروف ل- ل- ه إلى اسم الجلالة0---- (1,130 مشاهده)
النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0---النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0--- (740 مشاهده)
ضبط خيارات اللغة فى الـ Microsoft Word0--- (961 مشاهده)
استخدام لوحة المفاتيح في الـ Word0---- (1,070 مشاهده)
إضافة كلمة سر إلي ملفات الورد دون استخدام برامج0--- (1,098 مشاهده)
دمج المراسلات0-- (623 مشاهده)
وضع صورة كخلفية للنص0-- (837 مشاهده)
السماح للمستخدمين بتعديل أجزاء من ملف وورد محمي (Word2003)0--- (592 مشاهده)
كتابة الأرقام الكسرية ورموز المعادلات0-- (936 مشاهده)
درس كامل عن الدمج السهل من لوحة المفاتيح ف0-ي برنامج الـ Word (630 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (1,997 مشاهده)
دورة الأكسيس : الدرس الرابع : العلاقات0---- (1,026 مشاهده)
أساسيات في Access0--0 (839 مشاهده)
تصميم تقرير لطباعة البيانات0---- (812 مشاهده)
تصميم نموذج استعراض البيانات‏0--تصميم نموذج استعراض البيانات‏0-- (735 مشاهده)
تصميم نموذج إدخال‎ ‎البيانات0--- (828 مشاهده)
إنشاء قوائم خاصة باستخدام الماكرو(1)0-- (719 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (2)0-- (568 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (1)0- (522 مشاهده)
استعلامات SQL في Access - تعديل الجداول وإضافة الحقول0- (780 مشاهده)
استعلامات SQL في Access - تحديث البيانات الجدولية0-- (618 مشاهده)
الاستعلامات الإجرائية -4 (استعلام الحذف)0--- (395 مشاهده)
الاستعلامات الإجرائية -2 (استعلام الإلحاق)0--- (506 مشاهده)
تصميم تقرير لطباعة الإجمالي0--- (485 مشاهده)
استعلامات التحديد Select Query مع أمثله (1)0--- (682 مشاهده)
اعلانات في الموقع على جميع الصفحات

استخدام برمجة الكائنات OOP

استخدام برمجة الكائنات OOP




 قبل ال OOP
قبل الـ OOP كانت البرامج تبدو ضخمه وكبيره جدا وتحتاج الى معماريين ومهندسين لتطوير هذه البرامج، وتحتاج ال مزيد من الوقت والمال للصيانة.


على سبيل المثال اذا اردنا ان نضيف بعض الميزات او التحسينات الى التطبيقات الموجوده نحتاج الى عدة اسابيع او اشهر احيانا لتحديثها وعملية تتبع الاخطاء تحتاج الى عدد كبير من المبرمجين .


وعملية تتبع الاخطاء الموجوده في هذه التطبيقات هي مشكله بحد ذاتها، عندما نريد تتبع الدوال Functions الموجوده تأخذ وقت اطول من عملية اضافة دوال اخرى، ويصبح البرنامج ضخم جدا وايضا يلزم عدد اكبر من المبرمجين. لذا تم ايجاد الـ OOP.

• الاختلاف بين Object Oriented Programs و Functional Programs
عملية الاختلاف هي عندما نقوم بتصميم برنامج باستخدام الـ functions يتوجب علينا تصميم هذا البرنامج بان تقوم دالة باستدعاء دالة اخرى، البيانات ترسل كبيانات ادخال ثم تقوم الدالة بمعالجة هذه البيانات او المدخلات واعطاء النتيجة كـ output . بعبارة صغيره هي ان الـ functional programs -> code-centric .


الـ OOP تأخذ الطريقه العكسيه هي ان الـ objects التي تحتوي على البيانات تحتوي على دوال تسمى methods (الـ method شبيه بالـ Function).


عندما يقوم الـ Object بطلب خدمه من Object اخر فانه يقوم بارسال رسالة ويستقبل الرد.

رسمة توضح المقارنه بين الحالتين
http://www20.brinkster.com/phptalk/images/image1.jpg

في الحالة الاولى (Functional Program :: code-centric)
1. يتم ادخال البيانات الى a()
2. تقوم a() باستدعاء b() باستخدام نتائج a()
3. b() تستدعي c() باستخدام نتائج b()
4. c() تقوم بارسال النتائج الى b() وبدورها b() تقوم بارسال النتائج الى a()
5. اظهار النتيجه النهائيه للبرنامج

في الحالة الثانية (Object-Oriented Program :: data-centric)
Object1 يقوم بطلب الخدمه من object3 و هو بدوره يقوم بالطلب من object4 وهكذا حتى يقوم Object1 باستقبال الرد من object3 تحتوي على النتيجه النهائية.
الاختلاف بين الحالتين هو ان الـ Objects تحتوي على البيانات ةطرق معالجتها.


بينما تكون البيانات منفصله عن الـ functions هذا يجعل من OOP عملية سهله لتتبع البرنامج وسهولة عملية الصيانه والتحديث.


• أهمية الـ OOP
ما هو مهم بالنسبه لك كمبرمج هو ان الـ OOP ليست الا تقنيه او طريقة ليست لغة برمجة.
PHP,C++ and Java جميع هذه اللغات هي لغات OOP لانها تطبق نفس الهدف ولكن البرمجه باستعمال Java و C++ تختلف .
يجب عليك كمبرمج ان تفهم مبدأ الـ OOP المشروح في الرسمه السابقه بشكل عام ثم تقوم بالتركيز على اللغة التي تنوي استعمالها. سنقوم في هذا الدرس بالتركيز على لغة PHP .

عندما نقوم بتطوير التطبيقات الخاصه بنا نستطيع ان نقسم هذه التطبيقات او البرامج الى اجزاء. على سبيل المثال طبقات عرض مختلفه
Database access objects, search engines, security components.
عند عملية التحديث للبرامج كوحدات صغيره ومجزئه تضمن ان التغييرات في Object معين لن تؤثر على بقية الـ Objects .


• مكونات Object-Oriented Program
Classes: الـ class هو تعريف او عملية عرض لنوع معين من البيانات، عندما نقوم بتعريف Object جديد يجب ان نستعمل كلمة class في PHP Scripts.


توضيح بسيط بين object و class هو ان الـ classes تقوم بتعريف objects تقوم باستعمالها في تطبيقاتها .


3 مكونات للـ Class في PHP
اولا : members
على سبيل المثال سنقوم بتصميم class يسمى User، فان الـ members لهذا الـ class (المتغيرات التي يتم تعريفها لاستخدامها لاحقا)
Firstname, lastname, email, username and password
var $firstname;
var $lastname;
var $email;
var $username;
var $password;

ثانيا : methods
الخدمات او الدوال الموجوده داخل الـ Object وهذه methods تقوم باستخدام الـ members او المتغيرات المعرفه سابقا.
على سبيل المثال لدينا الـ class السابق وهو الـ User وهذا الكلاس يوجد به methods مثلا method للتأكد من صلاحية البريد الالكتروني emailالمعرف في الـ members و method اخر للتأكد من عدد الاحرف المدخله لاسم المستخدم username وهكذا .

اخيرا : Constructor
هذه طريقه خاصه لعملية انشاء الـ object ليصبح جاهزا للاستعمال، يوجد منشئ واحد فقط للـ object في ال PHP.
على سبيل المثال class User من الضروري ان نقوم باخذ جميع المتغيرات التي تم تعريفها (members) سابقا.
يجب ان يكون اسم الـ constructor مساوي لل className
مثلا لدينا اسم class هو User يكون الـ constructorبالشكل التالي
Class User
{
…………….

Void User() //constructor
{
…………..
}
ملاحظة : الـ constructor يجي ان لا يعيد قيمة معينة هو فقط لجعل الـ class في مرحلة التشغيل(من غير المنطقي ان تجعل الـ class يعيد قيمة معينه return value).

الصيغة العامة او الشكل العام لكتابة الـ Class

http://www20.brinkster.com/phptalk/images/image2.jpg
كما ترى أن الـ class ليس الا مجموعة من members (variables) و methods(functions) .
الـ members اما ان تكون integers او strings او ان تكون array او objects اخرى.
PHP لا يحتاج ان تقوم بتعريف انواع المتغيرات ما عليك سوى ان تقوم بعملية التسمية.
ما رأيك ان نقوم بكتابة سكريبت صغير يشرح الـ class
قبل البدأ عليك مراعاة الامور التالية :
- يجب ان يبدأ اسم الـ class بحرف كبير لعملية التفريق بين اسم الـ class و functions و variables .
- من المفيد ايضا ان تقوم بحفظ الملف بنفس اسم الـ class مثلا لدينا class User يجب حفظ الملف باسم user.php .
- الملف يجب ان يحتوي على class واحده وان كان لديك اكثر من ملف يفضل وضعهم في مكان واحد ونقوم باستدعاء الـ class من ملف اخر باستعمال include_once() او require_once() .
- يجب كتابة $this-> قبل الـ member name او variable .

والان لنحاول تطبيق المثال التالي .....

سنبدأ اولا بتعريف الـ class وتعريف الـ members(variables) لهذا الـ class
http://www20.brinkster.com/phptalk/images/code1.jpg
الان سنقوم بكتابة الـ constructor للـ class User
وظيفة الـ constructor : هي عملية تهيئة (بدء) لجميع عناصر الـ object للتأكد من ان جميع الخدمات يمكن استخدامها متى يطلب منها ذلك.
مثلا ..... لو لم نقم بكتابة الـ constructor لا نستطيع استخدام الدالة display() التي سنقوم بكتابتها.
http://www20.brinkster.com/phptalk/images/code2.jpg
في لغتي الـ C++ و Java تكون الـ this اختياريه ليست اجباريه، بينما في لغة PHP فانها اجباريه لان PHP ضعيف في التعامل مع scope of variables .


في لغة PHP 3 مستويات للـ namespace (مجموعه من variables names) مكان تخزيت الـ variables :
- المستوى الادنى (lowest level) يستعمل للـ local variables أي المتغيرات التي يتم تعريفها داخل الدوال (functions or methods).اي متغير (variable) يتم تعريفه داخل هذا المستوى يضاف الى local namespace .
- المستوى الثاني يتضمن جميع المتغيرات members للـ object .
- المستوى الاعلى يستعمل لـ global variables .
* $this تخبر الـ PHP انك تريد المتغير من المستوى الثاني.اذا لم تقم باضافة الـ $this فانك تود انشاء متغير جديد في local namespace كما تم الشرح سابقا.

الان سنقوم بكتابة الدالة display()
http://www20.brinkster.com/phptalk/images/code3.jpg
نلاحظ ايضا اننا قد اغلقنا الـ scope لل class ايضا ({) وبالتالي انتهينا من كتابة الـ class User .

الان سنقوم بانشاء الـ object لل class User
http://www20.brinkster.com/phptalk/images/code4.jpg
هكذا نكون قد انتهينا من هذا الدرس وان شاء الله في الدرس القادم سأتناول مواضيع اخرى في OOP .ان شاء الله سنقوم بتغطية ...
1. Encapsulation
2. Inheritance
3. Polymorphism

درس استخدام برمجة الكائنات OOP

أضف هذه المادة في موقعك:
مواد مشابهة:
دوال و حيل مهمة دوال و حيل مهمة
دوال و حيل مهمة
(مرات المشاهدة: 177 مرات)
الدرس الخامس: عبارات التكرار الدرس الخامس: عبارات التكرار
الدرس الخامس: عبارات التكرار
(مرات المشاهدة: 191 مرات)
بدايتك مع PHP بدايتك مع PHP
بدايتك مع PHP
(مرات المشاهدة: 135 مرات)
التعليقات والمتغيرات التعليقات والمتغيرات
التعليقات والمتغيرات
(مرات المشاهدة: 190 مرات)
الدرس الثاني والثلاثون: معالجة الاخطاء ونهاية المطاف الدرس الثاني والثلاثون: معالجة الاخطاء ونهاية المطاف
الدرس الثاني والثلاثون: معالجة الاخطاء ونهاية المطاف
(مرات المشاهدة: 151 مرات)
هذا درس بسيط لعمل ملف install هذا درس بسيط لعمل ملف install
هذا درس بسيط لعمل ملف install
(مرات المشاهدة: 200 مرات)
أوامر أساسية - الجزء الأول أوامر أساسية - الجزء الأول
أوامر أساسية - الجزء الأول
(مرات المشاهدة: 283 مرات)
الدرس الثالث عشر: المصفوفات الرقميه الدرس الثالث عشر: المصفوفات الرقميه
الدرس الثالث عشر: المصفوفات الرقميه
(مرات المشاهدة: 259 مرات)
كيف تصنع دالة خاصة بك كيف تصنع دالة خاصة بك
كيف تصنع دالة خاصة بك
(مرات المشاهدة: 200 مرات)
vس و جـ :: 14- وما هو وجه الشبه فى لغات البرمجة ؟ vس و جـ :: 14- وما هو وجه الشبه فى لغات البرمجة ؟
س و جـ :: 14- وما هو وجه الشبه فى لغات البرمجة ؟
(مرات المشاهدة: 68 مرات)
جميع الحقوق في هذا الموقع محفوظة وكل المواد على الاقسام ملك لاصحابها :Copyright © All rights reserved