Test sur le développement orienté objet

Les langages orientés objets utilisent la même syntaxe.

Quelle assertion reflète le mieux la philosophie
des langages de programmation Orientés-Objet ?

  1. Concevoir en assignant des rôles et des responsabilités propres à chaque objet
  2. Syntaxe simplifiée
  3. Introduction du concept de 'ramasse miette' (garbage collector)
  4. Simplification des concepts théoriques

Lequel de ces langages n'est pas Orienté-Objet ?

  1. C
  2. C++
  3. Java
  4. Smalltalk

Qu'est ce qu'un Singleton ?

  1. Un programme ne contenant qu'une seule classe
  2. Une classe ne possédant qu'une seule instance
  3. Une classe n'héritant que d'une seule classe
  4. Une classe agrégée dans aucune autre

Quelle assertion correspond le mieux à la définition d'un objet ?

  1. Un objet a un état, des comportements et une identité
  2. Un objet est un ''struct'''
  3. Un objet est soit un ensemble de données, soit un ensemble de traitements
  4. Un objet est le reflet d'une valeur présente en base

Qu'est-ce que la portée d'un objet ?

  1. La portée d'un objet est l'espace d'une application où il peut être utilisé
  2. La portée d'un objet est le nombre d'attributs qu'il contient
  3. La portée d'un objet est le nombre de méthodes et d'attributs qu'il contient
  4. La portée d'un objet est le nombre d'applications où il est utilisé

Qu'est-ce que l'encapsulation ?

  1. L'encapsulation permet de regrouper un ensemble objets dans un nouvel objet
  2. L'encapsulation permet de gérer la mémoire avec une vision Orientée-Objet
  3. L'encapsulation consiste à différencier les parties internes à un objet de ses parties externes, nécessaires à son utilisation par d'autres objets
  4. L'encapsulation instaure une politique de commutation des objets

Objet et classe : quelle assertion est fausse ?

  1. Un objet est une instance d'une classe
  2. Un objet s'obtient en appelant le constructeur de la classe
  3. La classe est le type d'un objet
  4. Un objet hérite de sa propre classe

Qu'est-ce que l'héritage ?

  1. L'héritage permet à un objet de récupérer la valeur des attributs d'un autre objet
  2. L'héritage est une relation de généralisation / spécialisation entre une classe et une autre classe
  3. L'héritage correspond à l'instanciation d'une classe
  4. L'héritage est un moyen de changer le type des objets

Qu'est-ce qu'une super-classe ?

  1. Une classe dont toutes les autres héritent
  2. Une classe qui référence les autres classes d'un programme
  3. La classe dont une autre hérite
  4. Une classe plus rapide qu'une autre

Qu'est-ce qu'une association ?

  1. Il y a association lorsque 2 attributs sont dans la même classe
  2. Il y a association lorsqu'un attribut est utilisé par une méthode
  3. Il y a association lorsqu'un objet a un lien durable avec un autre objet
  4. Il y a association quand deux applications utilisent des classes communes

Quelle affirmation est fausse à propos des relations d'agrégation et de composition ?

  1. L’agrégation et la composition sont des relations de type tout-partie
  2. La destruction d’un agrégat entraîne la destruction des objets agrégés
  3. Dans une relation d’agrégation, un objet peut appartenir à plusieurs agrégats différents
  4. Dans une relation de composition, un objet ne peut appartenir qu’à un seul composite

Quelle affirmation au sujet des interfaces, est fausse?

  1. Plusieurs classes peuvent implémenter la même interface
  2. Une même classe peut implémenter plusieurs interfaces
  3. Une interface comprend un ensemble de signatures d'opérations
  4. Une interface se définit par un attribut et une opération sans paramètre

Qu'est-ce que le polymorphisme ?

  1. Polymorphisme signifie que la même opération peut se comporter différemment suivant sur quelle classe elle s'applique
  2. Polymorphisme signifie qu'un objet peut avoir plusieurs états
  3. Polymorphisme signifie qu'une opération peut avoir plusieurs formes au sein de la même classe
  4. Polymorphisme signifie qu'une opération peut être divisée en sous taches qui s'exécutent en parallèle

A quoi sert un constructeur ?

  1. Le constructeur est la méthode responsable d'initialiser l'état d'un objet
  2. Le constructeur est le point d'entrée d'une application Orientée-Objet
  3. Le constructeur est une méthode qui peut accéder aux attributs privés d'une classe
  4. Le constructeur est un objet unique d'une classe servant à construire les autres instances de cette classe

Que signifie UML ?

  1. Unified Modeling Language
  2. Unified Markup Language
  3. Unified Methodology for object Languages
  4. Unlike Many Languages

Quelle assertion correspond le mieux à la définition d'une méthode de classe ?

  1. Une méthode pouvant être appelée sans instancier sa classe
  2. Une méthode permettant de charger/décharger des classes en mémoire
  3. Une méthode sans variable locale
  4. Une méthode qui n'est jamais surchargée

Qu'est-ce qu'une méthode virtuelle ?

  1. Une méthode qui ne peut pas être surchargée
  2. Une méthode qui ne peut pas être redéfinie
  3. Une méthode qui peut être redéfinie par une classe fille
  4. Le type de retour de cette méthode doit être une constante

Quel diagramme n'est pas un diagramme UML ?

  1. Le diagramme de classes
  2. Le diagramme de données
  3. Le diagramme de cas d'utilisations
  4. Le diagramme de séquences

Qu'est-ce qu'un attribut de classe ('static') ?

  1. Un attribut "static" a une valeur constante
  2. Un attribut "static" a une valeur unique pour toutes les instances de la classe
  3. Un attribut "static" n'est visible que dans la classe où il est défini
  4. Un attribut "static" sera toujours passé par valeur

Qu'est-ce qui est faux au sujet des classes abstraites ?

  1. Une classe abstraite ne peut pas être instanciée
  2. Une classe abstraite ne peut avoir d'attributs privés
  3. Une classe abstraite est faite pour être dérivée
  4. Une classe abstraite ne possède pas nécessairement que des méthodes virtuelles

Qu'est-ce que la surcharge ?

  1. La surcharge est le moyen d'hériter de plusieurs classes à la fois
  2. La surcharge est la possibilité d'implémenter un même service plusieurs fois dans la même classe en lui donnant des listes de paramètres différentes
  3. La surcharge est la spécialisation d'une méthode par une classe fille
  4. La surcharge est la généralisation d'une méthode par une classe mère

Qu'est-ce que la redéfinition ?

  1. La redéfinition est le moyen d'hériter de plusieurs classes à la fois
  2. La redéfinition est la possibilité d'implémenter un même service plusieurs fois dans la même classe en lui donnant des listes de paramètres différentes
  3. La redéfinition est la spécialisation d'une méthode par une classe fille
  4. La redéfinition est la généralisation d'une méthode par une classe mère

Qu'est-ce que le "Downcasting" ?

  1. Downcasting est un terme utilisé pour restreindre la visibilité d'un attribut
  2. Downcasting est un terme utilisé pour projeter une référence sur une classe vers une référence sur une de ses classes filles
  3. Le Downcasting permet d'utiliser une classe mère comme une de ses classes filles
  4. Le Downcasting permet d'utiliser une classe fille comme une de ses classes mère

Le Design Pattern Etat...

  1. Permet à un objet de suivre l’évolution de l’état d’un autre objet
  2. Permet à un objet de contrôler l’évolution de l’état d’un autre objet
  3. Permet à un objet de répondre différemment aux messages qu’il reçoit en fonction de son état
  4. Permet à un objet de conserver l’historique de ses états précédents