Module Programmation Orientée Objet (POO) 2019-2020 Presentation PDF

Document Details

ConsiderateForesight221

Uploaded by ConsiderateForesight221

Université de Bouira

2019

Dj. Bennouar

Tags

object-oriented programming c programming programming computer science

Summary

This presentation discusses object-oriented programming (POO) concepts in the context of C programming. It explores the activities involved in program development, emphasizing concepts like data structuring, function definitions, the object-oriented approach, and the organization of programs.

Full Transcript

Module : Programmation Orientée Objet Université Bouira, POO, 2019-2020 1 , par Dj. Bennouar Séance 01 Université Bouira, POO, 2019-2020 2 , par Dj. Bennouar Introduction à la POO Université Bouira, POO, 2019-2020 3 , par Dj. Bennouar Analyse brève des activités...

Module : Programmation Orientée Objet Université Bouira, POO, 2019-2020 1 , par Dj. Bennouar Séance 01 Université Bouira, POO, 2019-2020 2 , par Dj. Bennouar Introduction à la POO Université Bouira, POO, 2019-2020 3 , par Dj. Bennouar Analyse brève des activités mentales lor de La programmation en langage C ‫دراسة سريعة للنشاط الذهني في اطار انجاز برنامج بلغة‬ »‫«سي‬ Université Bouira, POO, 2019-2020 4 , par Dj. Bennouar 1- comment est organisé un programme en langage C Un programme en langage C est un ensemble d’instructions et de données Les instructions sont organisées en fonctions Les fonction sont organisée en module Un module se trouve dans un fichier. »‫مكونات البرنامج بلغة «سي‬ :‫تتكون البرامج بلغة «سي» مما يلي‬ )‫ عدد من التعليمات والمعطايات (او المعلومات‬- ‫ التعليمات منتظمة على شكل وظائف‬- ‫ الوظائف منتظمة داخل وحدات‬- ‫ كل وحدة موجودة في ملف خاص بها‬- Université Bouira, POO, 2019-2020 5 , par Dj. Bennouar ‫‪Principale activités lors de l’élaboration d’un‬‬ ‫‪programme en langage C‬‬ ‫‪Lorsque nous essayons d’élaborer un programme en C, on‬‬ ‫‪commence par :-‬‬ ‫‪- Comprendre le monde réel ciblé par le programme‬‬ ‫‪- Etablir les types de données qui représentent les divers‬‬ ‫‪concepts du monde réel‬‬ ‫‪- Ensuite‬‬ ‫«سي»‬ ‫بلغة ‪on‬‬ ‫‪définit‬‬ ‫‪un enchainement‬‬ ‫برنامج‬ ‫سياق انجاز‬‫‪plus‬‬ ‫في‬ ‫األهم‪ou‬‬ ‫النشاطات‪moins‬‬ ‫‪complexes‬‬ ‫‪des traitements (ou fonction) sur les données.‬‬ ‫عندما نحاول ان ننجز برنامج بلغة «سي» نقوم بما يلي‪:‬‬ ‫‪ -‬فهم الواقع المستهدف‪ ،‬اي كل امر او مفهوم‬ ‫يستهدفه البرنامج من الواقع المعاش الذي من اجله يوضع‬ ‫البرنامج‪ ،‬واستخالص المفاهيم المهمة من هذا‬ ‫الواقع المستهدف (او الواقع المعاش بالنسبة للبرنامج)‬ ‫‪ -‬تنظيم المعطيات الممثلة للواقع المستهدف‪ ،‬و يتم هذا‬ ‫بتحديد أنماط المعلومات التي تمثل المفاهيم التي تهمنا‬ ‫من الواقع المستهدف‪ ،‬وُتستعمل األنماط لبناء المتغيرات‪.‬‬ ‫تسلسلها في سياق‬ ‫وتحديد‪Université‬‬ ‫الوظائف ‪Bouira, POO,‬‬ ‫‪2019-2020‬‬ ‫‪6 -‬انجاز عددد من‬ ‫‪,‬‬ ‫‪par Dj. Bennouar‬‬ Principale activités lors de l’élaboration d’un programme en langage C Les activités principales sur lesquelles se concentrent la réflexion lors de l’établissement d’un programme C sont: - Structuration des données - Définitions de traitement (enchainement de fonctions) »‫«سي‬ IL Y’A LA‫بلغة‬ ‫انجاز برنامج‬CLAIRE SEPARATION ‫في سياق‬ ‫ األهم‬DONNEES ENTRE ‫النشاطات‬ ET TRAITEMENTS ‫في سياق انجاز برنا مج بلغة «سي» يكون التفكير موجها و‬ :‫مركوا على‬ ‫ باستعمال األ نماط األساسية وبالتعريف‬:‫ تنظيم المعلومات‬- ‫باآلنماط المهيكلة‬ ‫ معاملة ومعاجة المعلومات (التعريف بمختلف الوظائف‬- )‫وكيفية تسلسلها‬ Université Bouira, POO, 2019-2020 7 , par Dj. Bennouar Nature du raisonnement lors de l’élaboration d’un programme C La raisonnement permettant d’arriver à ma réalisation d’un programme C est un raisonnement totalement algorithmique.. Un programme C correspond directement à un algorithme »‫حقيقة التفكير في سياق انجاز برنامج بلغة «سي‬ ‫التفكير الوحيد في سياق انجاز برنامج «سي» هو تفكير‬.‫خوارزمي خالص‬ Université Bouira, POO, 2019-2020 8 , par Dj. Bennouar Comment appelle t on la programmation en langage C Université Bouira, POO, 2019-2020 9 , par Dj. Bennouar La programmation en langage C est appelée - Programmation impérative; On réfléchi en terme d’ordre à appliquer pour réaliser un comportement - Programmation structurée: Un programme est un ensemble de fonction - Programmation modulaire: Un module est un ensemble de fonction. Un programme est un ensemble de modules Université Bouira, POO, 2019-2020 10 , par Dj. Bennouar Programmation Orientée Objet ‫البرمجة باألشياء‬ ‫البرمجة المركزة على‬ ‫األشياء‬ ‫البرمجة التصنيفية‬ Université Bouira, POO, 2019-2020 11 , par Dj. Bennouar ‫الشئ ؟‬ objet ? Université Bouira, POO, 2019-2020 12 , par Dj. Bennouar Un objet est une variable structurée ayant la capacité de réaliser des fonctions. C’est une variable active Le type structuré utilisé pour définir un objet comporte la définition de champs et des fonction qui rendent ce type actif. PAS DE SEPARATION DE TRAITEMENT ET DES DONNEES ‫ قادرة على على انجاز‬،‫الشيئ في حقيقته متغيرة مهيكلة‬.‫ ذكية‬،‫ متفاعلة‬،‫ نشطة‬،‫ فهي متغيرة مهيكلة حيوية‬،‫وظائف‬ ‫النمط المهيكل المستعمل لصناعة شيئ ما فيه التعريف‬.‫بسمات ووظائف الشيئ والتي تعطيه نوعا من الحيوية والذكاء‬ ‫ال فصل بين المعلومات والمعالجة‬ Université Bouira, POO, 2019-2020 13 , par Dj. Bennouar Le type structuré utilisé pour construire un objet est appelée une classe ‫النمط المهيكل المستعمل لصناعة األشياء يدعى‬ ‫بالصنف‬ Université Bouira, POO, 2019-2020 14 , par Dj. Bennouar Type Variable structuré Produit structuré classe Produit objet ‫متغيرة‬ ‫النمط‬ ‫مهيكلة‬ ‫ينتج‬ ‫المهيكل‬ ‫شيئا‬ ‫ينتج‬ ‫الصنف‬ Université Bouira, POO, 2019-2020 15 , par Dj. Bennouar L’activité de détermination des Est Structuration(ou concepts du monde appellé organisation) réel et la définition des types structuré e des données du nécessaire à un monde réel programme pour les représenter sous forme de variable ‫النشاط الذي من‬ ‫خالله نتعرف على‬ ‫مفاهيم الواقع‬ ‫هيكلة او تنظيم‬ ‫المستهدف ثم‬ ‫التعريف باألنماط‬ ‫الواقع‬ ‫يدعى‬ ‫التي يستعملها‬ ‫المستهدف‬ ‫البرنامج إلنتاج‬ ‫المتغيرات التي تمثل‬ ‫مختلف المفاهيم‬ ‫التي تم التعرف عليها‬ Université Bouira, POO, 2019-2020 16 , par Dj. Bennouar L’activité de détermination des Est concepts du monde réel et la définition appellé Classification du des classes e monde réel nécessaire à un programme pour les représenter sous forme d’objet ‫النشاط الذي من‬ ‫خالله نتعرف على‬ ‫مفاهيم الواقع‬ ‫المستهدف ثم‬ ‫تصنيف‬ ‫التعريف بامختلف‬ ‫الواقع‬ ‫يدعى‬ ‫األصناف التي‬ ‫المستهدف‬ ‫يستعملها البرنامج‬ ‫إلنتاج األشياء التي‬ ‫تمثل مختلف‬ ‫البرمجة التصنيفية‬ ‫المفاهيم‬ Université Bouira, POO, 2019-2020 17 , par Dj. Bennouar Un programme orientée objet est un ensemble d’objets et non pas un ensemble de fonction et de donnée Un objet contient les données et les fonction ‫البرنامج المرتكز على األشياء مكون فقط من‬ ،‫األشياء‬ ‫ومعطيات‬ ‫اطار‬ ‫وظائف معا في‬ ‫منمنتظمة‬ ‫غير متكون‬ ‫والمعطيات‬ ‫فهو‬ ‫الوظائف‬ ‫الشيئ‬ Université Bouira, POO, 2019-2020 18 , par Dj. Bennouar Un programme Un programme OO structuré ‫برنامج مرتكز على األشياء‬ ‫برنامج مهيكل‬ Données (‫المعطيات او‬ ‫)المعلومات‬ Traitement (Fonctions) ‫وظائف المعالجة‬ Université Bouira, POO, 2019-2020 19 , par Dj. Bennouar Que peut t on dire de l’approche suivi d’une part par la programmation structurée et d’autre part par la POO: est centralisée ou décentralisée ‫ما هو القول في توجه كل من البرمجة المهيكلة‬ ‫ هل هو مركزي‬:‫والبرمجة المرتكزة على األشياء‬ ‫ام ال مركزي‬ Université Bouira, POO, 2019-2020 20 , par Dj. Bennouar La programmation structurée est une approche de programmation centralisée (Centralisation des traitement au niveau du programme) La POO est ce une approche de programmation décentralisée: Décentralisation des traitement vers les objets ‫ فكل‬،‫البرمجة المهيكلة لها توجه مركزي‬ ‫المعامالت موجودة على مستوى واحد وهو‬ ‫البرنامج‬ ‫البرمجة المرتكزة على األشياءلها توجه غير‬ ‫ فكل المعامالت اسندت لألشياء والتوجد‬،‫مركزي‬ ‫معامالت او معطيات خارج األشياء‬ Université Bouira, POO, 2019-2020 21 , par Dj. Bennouar Quelle est la programmation qui permet de représenter directement les concepts que nous trouvons dans le monde réel? La programmation structurée ou la POO ‫ما هي البرمجة التي تتحمل مباشرة مفا هيم‬ ‫الواقع المعاش كما هي؟ اهي البرمجة المهيكلة‬ ‫ام البرمجة المرتكزة على األشياء؟‬ Université Bouira, POO, 2019-2020 22 , par Dj. Bennouar Avant de répondre à la question, Essayons de contempler un exemple de monde réel ciblée par une application informatique ،‫قبل اإلجابة على السؤال‬ ‫نحاول في اول األمر التمعن في واقع مستهدف‬ ‫من قبل تطبيق ما‬ Université Bouira, POO, 2019-2020 23 , par Dj. Bennouar La contemplation du monde réel ciblée nous permettra de voir si ce monde réel correspond (ou est composé) - de fonction et de concepts inertes (inactifs) sur lesquelles agissent ces fonctions comme ceci est le cas en Programmation Structurée Ou bien - de concepts (ou objets) actifs qui interagissent entre eux pour atteindre un objectifs comme ceci est le cas en Programmation Objet :‫التمعن في الواقع مستهدف سوف يمكننا من معرفة‬ ‫ هل الواقع المستهدف هو عبارة مفاهيم جامدة تتعامل معها‬- ‫وظائف كما هو الشان في البرمجة المهيكلة‬ ‫ام‬ ‫ ان الواقع المستهدف في حقيقته مكون من مفاهيم‬- ‫تتفاعل بينها للوصول الى هدف ما كما هو الشأن في‬ ‫البرمجة باألشياء‬ Université Bouira, POO, 2019-2020 24 , par Dj. Bennouar Prenons comme exemple le monde réel de la gestion de stock ‫لنأخذ عالم تسيير المخازن كمثال لواقع‬ ‫مستهدف‬ Université Bouira, POO, 2019-2020 25 , par Dj. Bennouar Un regard direct au monde de la gestion de stock nous permet de distinguer de manière clair les éléments ou concepts suivants (Liste incomplete) ‫بنظرة سريعة للواقع المستهدف نالحظ فيه األشياء‬ 1. Le stock lui-même qui se ‫والمفاهيم التالية‬ ‫ المخزن نفسه الموجزد طبعا في مكان‬.1 trouve à un endroit bien précis ‫معلوم‬ 2. Le directeur du stock ‫ مدير المخزن‬.2 3. Le responsable des inventaires ‫ المسؤول عن عمليات الجرد والمراجعة‬.3 4. Le chargé de la réception ‫ المسؤول على عمليات ادخال السلع‬.4 d’articles (réceptionniste) ‫ المسؤول على عمليات اخراج السلع‬.5 5. Le chargé des sorties des ‫ الحمالون‬.6 stocke ‫ قاعات المخزن‬.7 6. Les manutentionnaire ‫ الئرفات التي توضع وتنظم فيها السالع‬.8 7. Les salles du stock ‫ السلع‬.9 8. Les étagères ‫كتاب الجرد‬.10 9. Les articles ‫ابواب المخزن‬.11 10.Les registres ‫اقفال األبواب‬.12 11.Les portes du stock..‫الخ‬.13 12.Les serrures de portes 13.Etc.. Université Bouira, POO, 2019-2020 26 , par Dj. Bennouar La Première question qui se pose: Les concepts listés sont ils inerte(inactif) ou actif (intelligent pouvant réaliser au moins une fonction) A première vue, avec un regard simpliste on voit que : - Le directeur, le chargé de la réception, le chargé des sorties d’articles, les manutentionnaires sont des concepts actif puisque ces concepts représentent des être humain. - Le reste (salle, porte, étagère, registre etc..) semble inactif :‫السؤال األ ةل الذي نطرحه في سياق فهم الواقع المعاش‬ ‫هل األشياء التي اسردناها أشياء جامدة ام انها اشياء حيوية (او‬ )‫ اي انها قادرة على اذاء وظائف خاصة بها‬،‫ذكية‬ :‫بنظة سطحية سريعة نرى ان‬ ‫ فهي‬،‫ والحمالين اشياء ذكية‬،‫ والمكلف بعمليات الجرد‬،‫ المدير‬- ‫تمثل بئرا‬ ‫ اما الباقي فهي عبارة عن اشياء جامدة‬- Université Bouira, POO, 2019-2020 27 , par Dj. Bennouar Avec un regard plus fin et reflexion plus poussée Une 2ème question se pose: Les concepts dits inactifs sont t il vraiment inactifs Pour répondre à cette 2ème question posons les questions suivantes: - Qui nous informe ce que le stock contient comme article: Est-ce réellement le responsable des inventaires ou le registre des inventaires: - Réponse: C’est le registre des inventaires: - Conclusion: Le registre est en réalité actif. Il est capable d’informer sur la situation du stock :‫بنظرة ادق و تفكير اعمق نطرح السؤال التالي‬ ‫ عي‬،‫هل حقا ما صنفناها على انها اشياء غير حيوية و غير ذكية‬ ‫كذالك في واقع األمر؟‬ ‫ نطرح األسلة التالية ثم نرى اإلجابة‬، ‫لإلجابة على هذا التساؤل‬ :‫عليها‬ ‫ هل هو‬،‫ من هو الشئء الذي يخبرنا عن محتوى المخزن‬- ‫المكلف بالجرد ام كتاب الجرد‬ ‫ كتاب الجرد‬:‫ اإلجابة‬- ‫جامدا هو في حقيقة امره‬, par Dj.‫حسباه‬ Bennouar ‫ كتاب الجرد الذي‬:‫النتيجة‬ Université Bouira, POO, 2019-2020 28 - ‫‪- Qui nous permet d’accéder au stock: La porte ou le directeur:‬‬ ‫‪- Réponse: C’est la porte qui est capable de s’ouvrir et passer d’un‬‬ ‫‪état fermé à un état ouvert ou semi ouvert. Le directeur ne fais‬‬ ‫‪que pousser la porte. Le directeur pousse, la porte s’ouvre‬‬ ‫‪- Conclusion: La porte est donc un concept actif‬‬ ‫‪ -‬من هو الشئء الذي يمكننا حقا من دخول المخزن‪ :‬اهي‬ ‫الباب ام غيرها‬ ‫‪ -‬اإلجابة‪ :‬الب’اب التي لها القدرة ان تفتتح واإنتقال من‬ ‫الحالة مغلقة الى الحالة مفتوحة‪.‬المدير اةو غيرة يجب‬ ‫عليهم دفع الباب لكي تنتقل الباب من حالة الى اخرى‪:‬‬ ‫المدير يدفع والباب تفتتح‬ ‫‪ -‬النتيجة‪ :‬الباب التي حسبناها جامدة هي في حقيقة امرها‬ ‫حيوية وذكية‪ ،‬فهو قادرة على ان تفتتج (او تنغلق) بمجرد‬ ‫‪ Université‬او ببطئ حسب قوة‬ ‫بسرعة‬ ‫تنفتح‬ ‫‪Bouira,‬‬ ‫دفعها‪ ،‬بل اكثر من ذالك‬ ‫‪POO, 2019-2020‬‬ ‫‪29‬‬ ‫‪,‬‬ ‫‪par Dj. Bennouar‬‬ - Qui permet à la porte de s’ouvrir la porte elle-même ou bien la serrure: - Réponse: C’est la serrure - Conclusion: la serrure est donc active ‫ انه القفل‬:‫ من هو الشئء الذي يسمح للباب ان تفتتح‬- ‫ القفل الذي له القدرة ان يسمح او ال بفتح الباب‬:‫ اإلجابة‬- ‫شئ حيوي وذكي‬ Université Bouira, POO, 2019-2020 30 , par Dj. Bennouar - La serrure se déclenche t’elle seule pour permettre l’ouverture de la porte: - Réponse: Non il faut lui donner une clés. En l’absence de clé la serrure refuse de laisser la porte s’ouvrir ‫ هل القفل يشتغل بحرية من اجل السماح بفتح الباب‬- ‫ فيتعرف‬،‫ فال بد من ادخال مفتاح في القفل‬،‫ ال‬:‫ اإلجابة‬- ‫ اذن‬،‫القفل على المفتاح فاذا تعرف القفل على المفتاح‬ ‫القفل بفتح الباب واال بقي على حاله ماسكا بالباب‬ Université Bouira, POO, 2019-2020 31 , par Dj. Bennouar Une 3ème question: Les fonctions du monde réel sont t elle localisé au niveau des concepts dumonde réel ou à l’extérieur de ces concepts Pour répondre à cette question posons nous les questions suivantes - Ajouter un article au stock: est elle une fonction indépendante des concepts: - Réponse Non. C’est une fonctionnalité du chargé de la reeption des articles - Sortir un article du stock est une fonctionnalité du chargé des sortie - Faire un inventaire est une fonction du chargé des inventaire - Ouvrir le stock est une fonction du directeur de stock - Autorise l’ouverture d’une porte est la fonction de la serrure - L’ouverture de la porte est une fonction de la porte Etc.. ‫ هل هي مستقلة‬،‫ اذا تمعنا في وظائف الواقع المستهدف‬:‫التساؤل الثالث‬ ‫ كل زظيفة‬،‫عن األشياء الموجودة في الواقع المعاش ام انها غير ذالك‬ :‫نرى اإلجابة عليها‬.‫ما‬ ‫األسئلةلشئ‬ ‫التالية و‬ ‫لإلجابة عاى التساؤل الثالث نطرحتابعة‬ ‫ هذه وظيفة خاصة‬.‫ هل هي وظيفة مستقلة؟ الجواب ال‬: ‫إضافة سلعة الى المخزن‬ - ‫بالمكلف بادخال السلع‬ ‫اخراج سلعة من المخزن وظيفة خاصة بالمكلف بإخراج السلع‬ - ‫جرد السلع وظيفة خاصة بالمكلف بالجرد‬ - ‫فتح المخزن من خثائص المدير‬ - ‫السماح بفتح الباب من خصائص المغالق‬ -...‫ الخ‬،‫انفتاح الباب وطيفة خاصة بالباب‬ - Université Bouira, POO, 2019-2020 32 , par Dj. Bennouar On voit clairement que toutes les fonctions du monde réelle se trouve localisée au niveau des concepts et ne sont pas à l’extérieur des concepts ‫لنرى جليا امن الوظائف الموجودة في الواقع‬ ‫المعاش انما هي وظائف تابعة لألشياء المجودة في‬ ‫الواقع المستهدف‬ Université Bouira, POO, 2019-2020 33 , par Dj. Bennouar Une 1ère Conclusion A travers cette petite analyse du monde réel on remarque que ce dernier est composé en grande partie de concepts actifs qui interagissent entre eux pour arriver à un objectif bien Grace à son concept d’objet, précis: la POO peut représenter directement le monde réel et aussi comment ce monde fait pour arriver à un objectif bien précis ‫الخالصة األولى‬ ‫ نالحظ ان‬،‫من خالل هذه الدراسة األولى للواقع المستهدف‬ )‫هذا الواقع المستهدف مكون في غالبيته (حتى ال نقول كله‬ ‫ قادرة على انجاز وظايف‬،‫من اشياء ومفاهيم حيوية ذكية‬ ‫خاصة بها‬ ‫ فان البرمجة باألشياء‬،»‫لكونها تعتمد على مفوه «الشيئ‬ ‫تمكن من التمثيل المباشر لما في الواقع المعاش من اشياء و‬ ‫تفاعل بين هذه األشياء‬ Université Bouira, POO, 2019-2020 34 , par Dj. Bennouar Réponse à la question de la séance 1 C’est la programmation orientée objet qui permet de représenter directement les concepts que nous trouvons dans le monde réel :‫اإلجابة على السؤال األول‬ ‫البرمجة باألشياء هي التي تمكن من التمثيل المباشر‬ )‫لما هو عليه الواقع المستهدف (او الواقع المعاش‬ Université Bouira, POO, 2019-2020 35 , par Dj. Bennouar

Use Quizgecko on...
Browser
Browser