Programmation orientée objet en Python, Java et autres
NFP101


Objectifs pédagogiques :

L'objectif de ce cours est d'apprendre le paradigme de la programmation orientée objet et la façon dont il est mis en oeuvre dans différents langages de programmation courants.

Les concepts de la programmation objet (encapsulation, héritage simple et multiple, redéfinition, polymorphisme) seront étudiés à travaers plusieurs langages : de façon systématique, Python et Java et ponctuellement C++ et Javascript.

Public et conditions d'accès :

Avoir une expérience pratique de la programmation en Java ou en Python.

Compétences :

Développer des programmes en style orienté objet en Python et en Java en utilisant un environnement de développement intégré et l'outil de gestion de version GIT.

Détecter des indices de violation du principe de délégation dans du code.

Maitriser les mécanismes de détermination de la méthode à exécuter en cas de redéfinition et de polymorphisme.

 

Méthodes de validation :

L'évaluation prend en compte des devoirs consistant en l'écriture de programmes ou de fragments de programmes et un examen final comportant des questions d'analyse et de réflexion.

Contenu de la formation :

Une remise à jour ou formation de base à chacun des quatre langages utilisés sera faite en début de cours, en utilisant un environnement de développement unique. Une prise en main de l'outil de gestion de versions GIT sera également assurée.

Étude des concepts de la programmation objet :

  • classe, objet, état, identité, valeur
  • création d'un objet, constructeur
  • encapsulation
  • héritage simple, héritage multiple, sémantique de l'héritage 
  • polymorphisme, redéfinition, co-variance, contra-variance
  • principe de délégation
  • égalité

Le cours abordera le changement de perspective entre programmation impérative et programmation orientée objet.

 

 

Cette UE apparaît dans les diplômes et certificats suivants :

  • CYC9101A : Diplôme d'ingénieur Spécialité informatique parcours Architecture et ingénierie des systèmes et des logiciels (AISL)
  • CYC9106A : Diplôme d'ingénieur Spécialité informatique parcours Cybersécurité
  • CRN0802A : Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Systèmes d'information
  • MR11602A : Master Sciences, technologies, santé mention Informatique parcours Recherche opérationnelle
  • MR11607A : Master Sciences, technologies, santé mention Informatique parcours Sécurité informatique, cybersécurité et cybermenaces En bretagne
  • MR11603B : Master Sciences, technologies, santé mention Informatique parcours Systèmes d'information et business intelligence HTT
  • MR11604A : Master Sciences, technologies, santé mention Informatique parcours Traitement de l'information et exploitation des données
  • MR11605A : Master Sciences, technologies, santé mention Informatique parcours Préparation à l'agrégation en informatique
  • MR11606A : Master Sciences, technologies, santé mention Informatique parcours Réseaux et objets connectés
  • CRN0801A : Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Systèmes et réseaux
  • CRN0803A : Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Cybersécurité

Prochaines sessions de formation

Recherche en cours