We may earn an affiliate commission when you visit our partners.
Course image
Jamila Sam and Jean-Cédric Chappelier

Ce cours introduit la programmation orientée objet (encapsulation, abstration, héritage, polymorphisme) en l'illustrant en langage C++. Il présuppose connues les bases de la programmation (variables, types, boucles, fonctions, ...). Il est conçu comme la suite du cours « Initiation à la programmation (en C++) ».

Comme son prédécesseur, ce cours s'appuie sur de nombreux éléments pédagogiques : vidéos sous-titrées, quizz dans et hors vidéos, exercices, devoirs notés automatiquement, notes de cours.

Enroll now

What's inside

Syllabus

Introduction à la Programmation Orientée Objet
Cette semaine vous accueille dans le cours et vous présente les premiers concepts de base de la programmation dite « orientée objet ».
Read more
Constructeurs et destructeurs
Cette semaine aborde l'initialisation des objets (via ce qu'on appelle des « constructeurs »), ainsi que ce qui se passe « en fin de vie » des objets.
Surcharge des opérateurs
Cette semaine nous étudions comment étendre les opérateurs du langage C++ à nos propres classes.
Héritage
Cette semaine nous abordons la troisième notion fondamentale de la programmation orienté objet : l'héritage.
Polymorphisme
Cette semaine nous abordons la quatrième et dernière notion fondamentale de la programmation orienté objet : le polymorphisme.
Héritage multiple
Cette semaine présente comment une classe peut hériter de plusieurs classes et discute les problèmes que cela peut engendrer.
Etude de cas
Nous terminons notre cours par une étude de cas détaillée qui met en lumière les différents concepts rencontrés.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Covers essential principles of object-oriented programming, such as abstraction, inheritance, encapsulation, and polymorphism, which are fundamental in software development
Emphasizes hands-on learning through exercises, quizzes, and graded assignments, ensuring comprehension and practical application
Taught by instructors with expertise in the field, providing learners with access to industry knowledge and best practices
Progresses learners from the basics of object-oriented programming in C++ to more advanced concepts like multiple inheritance
Provides foundational knowledge for further exploration in object-oriented programming and related fields, such as data structures and algorithms

Save this course

Save Introduction à la programmation orientée objet (en C++) to your list so you can find it easily later:
Save

Reviews summary

Introductory object-oriented programming (c++)

Learn the basics of object-oriented programming (encapsulation, abstraction, inheritance, and polymorphism) in this course. The course includes videos, quizzes, exercises, and assignments. The course builds on the foundational concepts taught in the "Introduction to Programming (in C++)" course.
Suitable for beginners
Clear and organized syllabus
"I like the syllabus which is straightforward and very well organized and structured."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Introduction à la programmation orientée objet (en C++) with these activities:
Review basic programming concepts
Strengthen your foundation in basic programming concepts to enhance your understanding of object-oriented programming.
Browse courses on Programming Fundamentals
Show steps
  • Revisit materials on variables, data types, and control flow.
  • Practice writing simple programs to reinforce fundamental concepts.
Organize and review course materials
Enhance your understanding and retention of course materials by organizing and reviewing notes, assignments, and quizzes.
Show steps
  • Gather notes, assignments, and quizzes from the course.
  • Organize materials into logical categories.
  • Review materials regularly to reinforce understanding.
Understand constructors and destructors
Practice using constructors and destructors in C++ to solidify understanding of object initialization and destruction.
Show steps
  • Implement constructors and destructors in a simple class.
  • Initialize and destroy objects using constructors and destructors.
  • Experiment with different constructor and destructor syntax.
Six other activities
Expand to see all activities and additional details
Show all nine activities
Learn about operator overloading
Extend knowledge of C++ by learning how to overload operators to enhance custom class functionality.
Show steps
  • Study tutorials on operator overloading in C++.
  • Implement overloaded operators in a custom class.
  • Test and debug operator overloading functionality.
Engage in discussions on polymorphism
Discuss and clarify concepts related to polymorphism with peers to deepen your understanding.
Show steps
  • Join a study group or online forum dedicated to C++.
  • Participate actively in discussions on polymorphism and its applications.
  • Share knowledge and learn from others' perspectives.
Design a class hierarchy using inheritance
Demonstrate understanding of inheritance by designing and implementing a class hierarchy with multiple levels of inheritance.
Show steps
  • Identify real-world entities and their relationships.
  • Map entities to a class hierarchy using inheritance.
  • Implement the class hierarchy and test its functionality.
Master multiple inheritance concepts
Solidify your understanding of multiple inheritance, its advantages and challenges, through hands-on practice.
Show steps
  • Create a scenario where multiple inheritance is appropriate.
  • Implement multiple inheritance in C++ and test its behavior.
  • Analyze the benefits and drawbacks of multiple inheritance in your implementation.
Develop a software project using object-oriented design
Apply your knowledge of object-oriented programming to design and implement a software project, demonstrating your understanding of the principles.
Show steps
  • Identify a real-world problem or need.
  • Design a solution using object-oriented principles.
  • Implement the solution using C++ and object-oriented programming techniques.
  • Test and debug the software project.
Develop a case study analysis
Demonstrate your understanding of object-oriented programming by analyzing and presenting a real-world case study.
Show steps
  • Identify a relevant case study showcasing object-oriented principles.
  • Analyze the case study, identifying the object-oriented concepts employed.
  • Prepare a presentation summarizing your analysis and insights.

Career center

Learners who complete Introduction à la programmation orientée objet (en C++) will develop knowledge and skills that may be useful to these careers:
Software Developer
Software Developers design, develop, test, and debug software applications, using a variety of programming languages. They work on projects in various fields, including finance, healthcare, manufacturing, and technology. This course can be a great place to start for those aspiring to be a Software Developer, as it teaches the fundamentals of object-oriented programming (OOP), a paradigm used in the vast majority of software applications. Students will learn about encapsulation, abstraction, inheritance, and polymorphism, all of which are essential concepts for Software Developers.
Web Developer
Web Developers design and develop websites, using various programming languages like HTML, CSS, and JavaScript. While this course focuses on OOP in C++, many OOP concepts are used in web development. For example, encapsulation helps to keep code organized and maintainable, while inheritance and polymorphism allow for code reuse and extensibility. This course can provide Web Developers with a solid foundation in OOP principles, which can help them become more effective in their roles.
Data Scientist
Data Scientists use scientific methods, processes, algorithms, and systems to extract knowledge and insights from data in various forms, both structured and unstructured. This course can provide Data Scientists with a foundation in OOP, which can be useful for working with complex datasets and developing machine learning models. OOP principles such as encapsulation and inheritance can help Data Scientists organize and manage their code effectively, while polymorphism can help them write code that is more flexible and reusable.
Software Quality Assurance Analyst
Software Quality Assurance Analysts test and evaluate software products to ensure that they meet quality standards. This course can provide Software Quality Assurance Analysts with a foundation in OOP, which can be useful for understanding and testing software code. OOP principles such as encapsulation and abstraction can help Software Quality Assurance Analysts identify and isolate defects, while inheritance and polymorphism can help them test code more efficiently.
Database Administrator
Database Administrators are responsible for managing and maintaining databases, ensuring that they are available, reliable, and secure. This course can provide Database Administrators with a foundation in OOP, which can be useful for developing and managing database applications. OOP principles such as encapsulation and abstraction can help Database Administrators create secure and maintainable code, while inheritance and polymorphism can help them write code that is more flexible and reusable.
Network Administrator
Network Administrators are responsible for managing and maintaining computer networks, ensuring that they are reliable and secure. This course can provide Network Administrators with a foundation in OOP, which can be useful for developing and managing network applications. OOP principles such as encapsulation and abstraction can help Network Administrators create secure and maintainable code, while inheritance and polymorphism can help them write code that is more flexible and reusable.
Information Security Analyst
Information Security Analysts plan and implement security measures to protect computer systems and networks from unauthorized access, use, disclosure, disruption, modification, or destruction. This course can provide Information Security Analysts with a foundation in OOP, which can be useful for developing and managing security systems. OOP principles such as encapsulation and abstraction can help Information Security Analysts create secure and maintainable code, while inheritance and polymorphism can help them write code that is more flexible and reusable.
Product Manager
Product Managers are responsible for managing the development and launch of new products and services. This course can provide Product Managers with a foundation in OOP, which can be useful for understanding the technical aspects of product development. OOP principles such as encapsulation and abstraction can help Product Managers communicate with engineers and other stakeholders, while inheritance and polymorphism can help them create products that are more flexible and extensible.
Technical Writer
Technical Writers create and maintain technical documentation, such as user manuals, technical reports, and white papers. This course can provide Technical Writers with a foundation in OOP, which can be useful for understanding and explaining complex technical concepts. OOP principles such as encapsulation and abstraction can help Technical Writers organize and structure their documentation, while inheritance and polymorphism can help them reuse content more effectively.
Computer Systems Analyst
Computer Systems Analysts design, implement, and maintain computer systems, ensuring that they meet the needs of businesses and organizations. This course can provide Computer Systems Analysts with a foundation in OOP, which can be useful for developing and managing complex software systems. OOP principles such as encapsulation and abstraction can help Computer Systems Analysts create secure and maintainable code, while inheritance and polymorphism can help them write code that is more flexible and reusable.
Software Engineer
Software Engineers design, develop, and maintain software systems, using a variety of programming languages and technologies. This course can provide Software Engineers with a foundation in OOP, which is essential for writing clean, maintainable, and extensible code. OOP principles such as encapsulation and abstraction can help Software Engineers organize and structure their code, while inheritance and polymorphism can help them write code that is more flexible and reusable.
Systems Administrator
Systems Administrators are responsible for managing and maintaining computer systems, ensuring that they are available, reliable, and secure. This course can provide Systems Administrators with a foundation in OOP, which can be useful for developing and managing system administration scripts and tools. OOP principles such as encapsulation and abstraction can help Systems Administrators create secure and maintainable code, while inheritance and polymorphism can help them write code that is more flexible and reusable.
Business Analyst
Business Analysts work with businesses and organizations to identify and solve problems, using a variety of analytical techniques. This course can provide Business Analysts with a foundation in OOP, which can be useful for understanding and modeling business processes. OOP principles such as encapsulation and abstraction can help Business Analysts organize and structure their work, while inheritance and polymorphism can help them create models that are more flexible and reusable.
Computer Programmer
Computer Programmers write, test, and maintain computer code, using a variety of programming languages. This course can provide Computer Programmers with a foundation in OOP, which is essential for writing clean, maintainable, and extensible code. OOP principles such as encapsulation and abstraction can help Computer Programmers organize and structure their code, while inheritance and polymorphism can help them write code that is more flexible and reusable.
Project Manager
Project Managers are responsible for planning, executing, and closing projects, ensuring that they are completed on time, within budget, and to the required quality standards. This course can provide Project Managers with a foundation in OOP, which can be useful for understanding and managing complex projects. OOP principles such as encapsulation and abstraction can help Project Managers organize and structure their work, while inheritance and polymorphism can help them create project plans that are more flexible and reusable.

Reading list

We've selected 32 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Introduction à la programmation orientée objet (en C++).
Ce livre faisant autorité, écrit par le créateur du C++, fournit une référence complète sur le langage. Il complète le cours en offrant des informations détaillées sur les fonctionnalités du langage, la conception du système et les meilleures pratiques.
Ce livre classique fournit une introduction complète aux motifs de conception, qui sont des solutions réutilisables à des problèmes courants de conception logicielle. Il complète le cours en offrant des exemples concrets et des conseils pour l'application des motifs de conception.
Ce livre accessible et engageant fournit une approche pratique pour apprendre les motifs de conception. Il complète le cours en proposant des explications claires et des exemples concrets qui facilitent la compréhension des concepts.
Ce livre fournit des conseils pratiques pour écrire du code C++ clair, concis et maintenable. Il complète le cours en fournissant des informations sur les meilleures pratiques et les pièges courants de la programmation C++.
Ce livre complet couvre tous les aspects essentiels de la programmation orientée objet en C++. Il complète le cours en fournissant un aperçu large des concepts, des techniques et des meilleures pratiques.
Ce livre explore les concepts fondamentaux du C++ de manière approfondie et accessible. Il est utile pour les débutants qui souhaitent acquérir une compréhension solide du langage avant de se lancer dans la programmation orientée objet.
Ce livre complet fournit une référence approfondie sur les modèles de C++. Il complète le cours en fournissant des informations détaillées sur la conception et l'utilisation de modèles pour écrire du code C++ générique et réutilisable.
Cet ouvrage est une référence pour l'apprentissage du C++. Il couvre tous les aspects du langage, y compris la programmation orientée objet, les modèles de conception et la programmation générique.
Cet ouvrage, destiné aux débutants, présente les concepts fondamentaux de la programmation orientée objet en C++. Il aborde les notions de classe, d'objet, d'héritage, de polymorphisme et de gestion de la mémoire.
Ce livre complet couvre les bases de la programmation en C++ et fournit des informations détaillées sur les fonctionnalités avancées du langage. Il complète le cours en fournissant un contexte plus large et en approfondissant les concepts C++.
Ce livre sert d'introduction complète à la programmation orientée objet en C++. Il complète le cours en fournissant des explications claires, des exemples pratiques et des exercices pour aider les élèves à maîtriser les concepts fondamentaux.
Ce livre fournit une approche complète de l'analyse et de la conception orientées objet. Il couvre les méthodes et techniques utilisées pour modéliser, concevoir et implémenter des systèmes logiciels complexes.
Ce livre fournit un aperçu approfondi des concepts fondamentaux de C++, y compris la programmation orientée objet.
Cet ouvrage fournit des conseils pratiques pour écrire du code C++ efficace et fiable. Il couvre un large éventail de sujets, notamment la gestion des ressources, la programmation défensive et la conception de classes.
Ce livre aborde les concepts et les techniques de programmation concurrente en C++. Il couvre les sujets tels que les threads, la synchronisation et la parallélisation. Il est utile pour les développeurs qui souhaitent maîtriser la programmation concurrente et améliorer les performances de leurs applications.
Cet ouvrage explore les principes et les pratiques agiles dans le contexte de la programmation C++. Il montre comment appliquer ces principes pour améliorer la qualité, la flexibilité et la maintenabilité des applications.
Cet ouvrage, écrit dans un style humoristique et accessible, présente les 23 modèles de conception les plus courants. Il est idéal pour les débutants qui souhaitent apprendre les principes de la conception orientée objet.
Cet ouvrage fournit une introduction complète à l'analyse et à la conception orientées objet. Il couvre tous les aspects du développement logiciel, de la collecte des besoins à la conception et à l'implémentation.
Cet ouvrage fournit des conseils pratiques pour écrire du code propre et maintenable. Il couvre un large éventail de sujets, notamment le nommage des variables, la structure du code et la gestion des erreurs.
Cet ouvrage est une référence pour le développement de logiciels. Il couvre tous les aspects du développement logiciel, de la planification à la conception, l'implémentation et les tests.
Cet ouvrage est une référence pour l'apprentissage des algorithmes. Il couvre tous les aspects des algorithmes, de leur conception à leur analyse.
Cet ouvrage est une référence pour l'apprentissage de l'algèbre linéaire. Il couvre tous les aspects de l'algèbre linéaire, des matrices et des vecteurs aux espaces vectoriels et aux transformations linéaires.
Cet ouvrage est une référence pour l'apprentissage du calcul. Il couvre tous les aspects du calcul, des limites et des dérivées aux intégrales et aux équations différentielles.
Cet ouvrage est une référence pour l'apprentissage de la physique. Il couvre tous les aspects de la physique, de la mécanique à l'électricité et au magnétisme.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Introduction à la programmation orientée objet (en C++).
Introduction à la programmation orientée objet (en Java)
Most relevant
Initiation à la programmation (en C++)
Most relevant
Initiation à la programmation (en Java)
Most relevant
Introduction à l'éthique de l’IA
Most relevant
Orthography & Pronunciation - French - Advanced
Most relevant
Programmation pour tous (mise en route de Python)
Most relevant
Programmation et Politiques Financières, Première Partie:...
Most relevant
Développeur Python | Formation Complète 2024
Most relevant
Economie du sol et de l'immobilier I
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser