اغلق هذه النافذة  أنت غير مسجل بشبكة ابن الخليج; للتسجيل اضغط هنا; للمساعده وشرح طريقة التسجيل اضغط هنا

شبكة ابن الخليج

Sitemap | Archive | Tag Could
معهد مطور - ينتهي الإعلان بتاريخ 16\10\2008
التسجيلالبحثمشاركات اليوماجعل جميع المنتديات مقروءةالأرشيف

منتديات نظرة حب - ينتهي الاعلان بتاريخ 6\11\2008جديد برامج وأخبار الالعابالرَّقائق دعوة لترقيق القلوب - ينتهي الاعلان بتاريخ 6\11\2008
كل مايخص المرأة والمجتمعاجمل واروع الصورنغمات إنتظار الشادي - ينتهي الاعلان بتاريخ 6\11\2008

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

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

العودة شبكة ابن الخليج> منتديات تعليمية> دروس برمجة مواقع

رد
 
LinkBackأدوات الموضوعطرق مشاهدة الموضوع
قديم 04-30-2006, 11:04 مساءً   #1 (permalink)
اسرة ابن الخليج
 
الصورة الرمزية الهوى ماهو كلام
 
تاريخ التسجيل: Jul 2005
الدولة: *K S A*
المشاركات: 4,844
معدل تقييم المستوى: 655الهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيطالهوى ماهو كلام نشيط
إرسال رسالة عبر مراسل ICQ إلى الهوى ماهو كلامإرسال رسالة عبر مراسل MSN إلى الهوى ماهو كلامإرسال رسالة عبر مراسل Skype إلى الهوى ماهو كلام
استخدام برمجة الكائنات 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 تقوم باستعمالها في تطبيقاتها
.

مكونات للـ 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





من مواضيع الهوى ماهو كلام في المنتدى

الهوى ماهو كلام غير متواجد حالياً   رد مع اقتباس
قديم 05-02-2006, 11:48 صباحاً   #2 (permalink)
ღ: k y:ღ

 
الصورة الرمزية كرم العربي
 
تاريخ التسجيل: Apr 2006
الدولة: ::In De GhEtTo::
المشاركات: 14,499
معدل تقييم المستوى: 53كرم العربي نشيطكرم العربي نشيطكرم العربي نشيطكرم العربي نشيطكرم العربي نشيطكرم العربي نشيطكرم العربي نشيطكرم العربي نشيطكرم العربي نشيطكرم العربي نشيطكرم العربي نشيط
إرسال رسالة عبر مراسل MSN إلى كرم العربي
مشاركة: استخدام برمجة الكائنات Oop

مشكور اخي الهوا ماهو كلام
اريد ان اتعلم لغة ال php
لكن كل اما اتبع شرح او اي شئ تلاقيني مافهم شئ
مادري اللغه اللي معقده ولا انا اللي غير قادر علي استوعابها
لكن الله المستعان وان شاء الله هحاول اتابع دروسك
واستفاد علي قدر المستطاع
تقبل تحياتي





من مواضيع كرم العربي في المنتدى
كرم العربي غير متواجد حالياً   رد مع اقتباس
رد

العبارات الدلالية
استخدام



الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
أدوات الموضوع
طرق مشاهدة الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG]متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة

المواضيع المتشابهه
الموضوعكاتب الموضوعالمنتدىمشاركاتآخر مشاركة
صيانة المذر بورد بالنسبه للمبتدئينولد السلطنةدروس انظمة تشغيل و هاردوير و شبكات1109-15-2008 05:18 مساءً
[فهرس] اهم مواضيع ودروس قسم برمجة المواقعADMINدروس برمجة مواقع004-22-2007 08:21 مساءً
استخدام Forms وResources فى DLLsالهوى ماهو كلامدروس لغات البرمجة110-22-2006 03:31 مساءً
سلسلة تعلم VBScript – الجزء الثالث - الكائنات والأصنافالهوى ماهو كلامدروس برمجة مواقع110-06-2006 02:50 صباحاً
الكائنات في جافا سكريبت (1)الهوى ماهو كلامدروس برمجة مواقع108-30-2006 05:40 صباحاً


منتديات شبكة ابن الخليج

ثقافات شامية أم هانئ قصص رومانسية كتب إسلامية قاموس العرب منتدى السيارات الدوري الاوروبي الدوري الأسبانيالدوري الإيطاليالدوري البرتغالي Volkswagen مواضيع غريبة العاب و مسابقات ثقافية الحياة الزوجية فستاين سهره سهرة السكري قشرة الشعر شنط ماركات سمسميه ديكور صالون الحياة الزوجية برامج المكتبة برامج عربية برامج حماية الاجهزه من الاختراق برامج تشغيل ملتيمديا اساله خبار الممثلين افلام عربية للتحميل افلام بوليوود مسلسلات خليجية المحقق كونان العاب طرزان العاب فلاشية ألعاب PlayStation 3 تجار ترافيان ملفات action صور زينة كاميرات رقمية وتقنية صور Samsung SGH-D730 العاب موبايل الحياة الزوجية دروس الحاسوب ومكوناته دروس رسم و تصميم دروس Photoshop دروس ايميج ريدي Adobe ImageReadyدروس افتر افكت Adobe After Effect دروس انتاج دروس Adobe Illustrator عرض ونقد ثري دي دروس 3D Studio Max دروس سويش متقدمة دروس اتش تي أم أل دروس اوفيس دروس شبكات يونكس وندوز WINDOWSدروس لغات البرمجة الحياة الزوجية مكتبة هاكات هاكات وشروحات vBulletin 3.[6-5].Xقسم ستايلات vBulletinمجلة المنتديات mkPortalقسم ستايلات مجلة المنتديات mkPortal Stylesسكربتات وادوات تطوير المواقعمشاكل وحلول الـ مواقع بيع منتديات فوتوشوبCinema 4Dخامات فوتوشوبفرش فوتوشوباكشن فوتوشوباشكال فوتوشوبمنتديات اماراتيةدليل مواقعاكتشف شخصيتكاخبارموسوعة الأطفالبوربوينتtorrentاختصار الروابطPageRankتوقيع لاميلكصانع القليترGlitter


الساعة تعتمد على توقيت جرينتش +3. الساعة الآن 07:05 صباحاً.
Search Engine Optimization by vBSEO 3.1.0

Valid XHTML 1.0 Transitional Valid CSS!Powered by vBulletin® Version 3.7.1,
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd
Feeds:   XML   JS   RSS   RSS Feed