Instantiation

Plonge dans le monde puissant de la programmation informatique avec une compréhension approfondie de l'instanciation, un concept fondamental de l'informatique. Ce guide complet explore ce qu'est l'instanciation, sa criticité dans la programmation orientée objet et son fonctionnement au sein de Python, Java et C++. Tu découvriras également des exemples concrets d'instanciation, son rôle dans le développement de logiciels et la façon de contourner les défis courants dans le processus. Démêlons, avec des stratégies simples et efficaces, les complexités passionnantes de l'instanciation dans la programmation.

C'est parti

Des millions de fiches spécialement conçues pour étudier facilement

Inscris-toi gratuitement

Review generated flashcards

Sign up for free
You have reached the daily AI limit

Start learning or create your own AI flashcards

Équipe éditoriale StudySmarter

Équipe enseignants Instantiation

  • Temps de lecture: 21 minutes
  • Vérifié par l'équipe éditoriale StudySmarter
Sauvegarder l'explication Sauvegarder l'explication
Tables des matières
Tables des matières
Table des mateères

    Jump to a key chapter

      Comprendre l'instanciation dans la programmation informatique

      Qu'est-ce que l'instanciation ?

      L'instanciation est un concept essentiel de la programmation informatique, principalement dans le domaine de la programmation orientée objet (POO). C'est le processus par lequel un objet logiciel, autrement appelé instance, est produit à partir d'une classe. En fait, il s'agit de la création d'une instance réelle à partir d'un modèle.

      • Les aspects clés de l'instanciation sont les suivants :
      • - la création d'une instance
      • - l'attribution de valeurs ou de paramètres initiaux
      • - Allouer de la mémoire à l'instance

      Dans la mémoire de l'ordinateur, chaque instance a son propre espace et n'interfère pas avec les autres instances. Les variables et les fonctions sont propres aux instances et n'affectent pas les autres.

      Relation entre l'instanciation des classes et la programmation orientée objet

      Dans la programmation orientée objet, une classe peut être définie comme un modèle ou un plan à partir duquel les objets sont créés. L'instanciation d'une classe est la création d'un objet de cette classe.

      Considérons un exemple classique comparant une classe au plan d'une maison. La classe, comme le plan, spécifie la structure fondamentale de l'objet. Cependant, elle ne constitue pas elle-même une maison. C'est là que l'instanciation entre en jeu. Lorsque tu instancies une classe de maison, tu construis effectivement une maison réelle et concrète.

      L'instanciation dans le codage : Les bases

      L'instanciation consiste à traduire la syntaxe du code de haut niveau en instructions interprétables par le matériel et à allouer des ressources telles que la mémoire pour l'instance.

      // Une instanciation de base en Java : class Car { String color ; int speed ; // Méthode d'instanciation void drive() { System.out.println("La voiture roule.") ; } } class Main { public static void main(String[] args) { // Instancie la classe Car Car myCar = new Car() ;
      } }.
      Étape Description
      Déclaration de la classe Il s'agit d'un plan ou d'un modèle à partir duquel les objets sont créés. Ici, Car est la classe.
      Méthode d'instance Une méthode non statique qui est appelée sur une instance d'un objet. Dans ce cas, il s'agit de la méthode drive().
      Instanciation Le mot-clé 'new' est utilisé pour instancier une classe, et un nouvel objet est formé. Ici, maVoiture est l'instance de la classe Voiture.
      Rappelle-toi que lorsque tu instancies une classe, tu crées essentiellement un objet qui encapsule les propriétés et les comportements décrits par la classe. Cela te permet de créer des instances multiples mais uniques d'une classe.

      L'instanciation dans divers langages de programmation

      Lorsque l'on se plonge dans la programmation informatique, il est essentiel d'explorer et de comprendre l'instanciation dans différents langages. Les différents langages peuvent avoir une syntaxe différente, mais le concept de base de la création d'un objet à partir d'une classe par le biais de l'instanciation reste le même.

      La méthode d'instanciation en Python

      Python est un langage de script interprété de haut niveau. Il est connu pour sa lisibilité et sa simplicité. Le processus de création d'objets - l'instanciation - en Python est simple et peut être réalisé à l'aide de la notation des fonctions. Une classe en Python peut être définie comme suit :
       class Car : def __init__(self, color, speed) : self.color = color self.speed = speed
      Dans cette classe appelée Car, on remarque une méthode spéciale __init__. Cette méthode est intégrée aux classes Python et est appelée lorsqu'un objet est instancié à partir d'une classe. Elle est utilisée pour initialiser les attributs de la classe, les paramètres étant passés au moment de la création de l'objet. Ici, nous définissons les attributs 'color' et 'speed' de la classe Car, en utilisant 'self' pour faire référence à l'instance de la classe.

      Comment créer une instance en Python : Un guide pour les débutants

      L'instanciation d'une classe en Python est aussi simple que d'appeler le nom de la classe comme s'il s'agissait d'une fonction et de passer les arguments que sa méthode __init__ accepte. Examinons la classe Voiture et son instanciation :
      class Voiture : def __init__(self, color, speed) : self.color = color self.speed = speed myCar = Voiture('Rouge', 100)
      Dans cet extrait Python, nous instancions la classe Voiture et créons un nouvel objet Voiture avec la couleur 'Rouge' et la vitesse '100'. L'objet ainsi créé s'appelle maVoiture.

      Comprendre le concept d'instanciation en Java

      Java, un langage de programmation orienté objet, utilise des classes et des objets comme Python. L'instanciation en Java nécessite le mot-clé "new". Voici une classe Java simple appelée Book :
      public class Book { String title ; int pages ; public Book(String title, int pages) { this.title = title ; this.pages = pages ; } }
      Cette classe Book a une fonction constructeur, qui est un type spécial de méthode qui détermine comment l'objet est initialisé lorsqu'il est instancié.

      Comment fonctionne l'instanciation en Java ?

      Pour instancier cette classe Book en Java, tu dois utiliser le mot-clé new :
      Book myBook = new Book("1984", 328) ;
      Cette ligne crée une nouvelle instance de la classe Book, appelle le constructeur Book pour l'initialiser et affecte la nouvelle instance à la variable myBook. L'instance a pour titre "1984" et pour pages "328".

      Apprendre l'instanciation en C++

      Le C++ est un autre langage orienté objet qui utilise des classes et des objets. En C++, il n'y a pas de mot-clé "new" utilisé pour l'instanciation. Au lieu de cela, tu instancies une classe en déclarant une variable du type de la classe. Prenons un exemple. Si tu as une classe appelée Student :
      class Student { public : string name ; int age ; Student(string n, int a) { name = n ; age = a ; } }
      ;

      Aperçu des techniques d'instanciation en C++

      Tu instancierais cette classe en C++ en déclarant simplement une variable du type de la classe, comme suit :
      Student s1 = Student("John", 21) ;
      Cette ligne déclare une variable s1 de type Student et l'initialise avec le nom "John" et l'âge "21". Ce processus constitue l'instanciation de la classe Étudiant. Ainsi, bien que l'instanciation puisse sembler différente dans chaque langage de programmation, le principe sous-jacent de la création d'une instance d'une classe reste cohérent entre eux.

      Exemples et scénarios réels d'instanciation

      En informatique, la compréhension des concepts de codage peut parfois être facilitée en les comparant à des exemples du monde réel. Il en va de même pour le concept d'instanciation. La présentation de ces exemples peut considérablement simplifier le processus d'apprentissage.

      Exemples pratiques d'instanciation de classes

      Lorsque l'on enseigne le concept d'instanciation, il peut être utile d'utiliser des exemples du monde réel. Cela offre à l'apprenant une perspective tangible, lui permettant de saisir l'idée plus efficacement. Prends l'exemple d'une librairie. Elle peut être représentée par une classe.
      class Bookstore { String location ; int sizeInSqFt ; public Bookstore(String location, int sizeInSqFt) { this.location = location ; this.sizeInSqFt = sizeInSqFt ; } void display() { System.out.println("Librairie située à " + location + " de taille " + sizeInSqFt + " sq ft") ;
      } } Une classe de librairie peut avoir des attributs tels que l'emplacement et la taille. La méthode display() est utilisée pour imprimer les détails de la librairie. Pour créer une instance de cette classe ou, dans le monde réel, pour ouvrir une nouvelle librairie, il te suffit d'invoquer la classe et de lui transmettre les attributs appropriés. Par exemple, tu pourrais ouvrir une librairie à Londres qui mesure 1 500 mètres carrés.
      // Instancie la classe Bookstore Bookstore londonStore = new Bookstore("London", 1500) ; // Appelle la méthode d'affichage londonStore.display() ;
      Ce code s'imprimera : "Bookstore located at London of size 1500 sq ft". En suivant cette procédure, tu peux créer autant d'instances (ou de librairies) que tu le souhaites, chacune ayant un emplacement et une taille uniques.

      Comprendre les techniques d'instanciation à l'aide d'exemples

      Lors de l'apprentissage de l'instanciation, il est utile d'avoir des exemples dans différents langages de programmation. Ils aident les apprenants à saisir les différences de syntaxe tout en renforçant le concept. Examinons un autre exemple, cette fois-ci en utilisant Python et une classe Website.
      classe Website : def __init__(self, domain, pages) : self.domain = domain self.pages = pages
      En Python, la méthode `__init__` fonctionne comme un constructeur, définissant les valeurs initiales de l'objet qui doit être instancié. Pour créer un objet à partir de cette classe, comme un nouveau site Web, la classe est appelée avec les paramètres nécessaires comme s'il s'agissait d'une fonction. #
      Instanciation de la classe google = Website('www.google.com', 100)
      Ce nouveau site web 'google' a un domaine 'www.google.com' et héberge 100 pages. Le processus est simple, et grâce à cette technique, tu peux créer autant d'instances de sites Web que nécessaire.

      Comment les scénarios du monde réel se traduisent en instanciation dans le codage

      La traduction des scénarios du monde réel en instanciation dans le codage est un moyen utile de comprendre correctement le concept. Comparons la procédure de création d'objets à la fréquentation d'une école. Considérons l'"école" comme la classe, avec des attributs tels que "nom", "emplacement" et "noOfStudents". Dans le monde réel, créer une instance de cette classe reviendrait à ouvrir une nouvelle école. Chaque école est une manifestation de la classe "École", mais possède un nom, un emplacement et un nombre d'élèves qui lui sont propres.
      class School : def __init__(self, name, location, noOfStudents) : self.name = name self.location = location self.noOfStudents = noOfStudents # Création d'instances de la classe School school1 = School('Greenwood High', 'London', 500) school2 = School('Oakridge', 'Cambridge', 300)
      Dans le code, school1 et school2 sont des instances distinctes de la classe 'School', chacune avec son nom, sa localisation et son nombre d'élèves. Cet exemple illustre comment des scénarios spécifiques peuvent être codés en définissant une classe et en créant des instances, un aspect essentiel de la programmation orientée objet. En comprenant ces exemples et en traduisant des scénarios du monde réel en classes et en objets dans le codage, tu peux saisir efficacement le concept d'instanciation.

      Explorer le rôle de l'instanciation dans le développement de logiciels

      L'importance de l'instanciation dans les projets de programmation

      Dans le domaine du développement de logiciels, l'instanciation joue un rôle inestimable. Elle est au cœur de la programmation orientée objet (POO), te permettant de créer des objets réels ou des instances à partir d'un plan de classe. Ce processus est crucial pour une multitude de raisons :
      • Utiliser des objets : Une fois que tu as établi des classes (plans), tu peux les utiliser pour créer plusieurs instances (objets). Les instances possèdent les propriétés et les méthodes définies dans sa classe, ce qui permet d'effectuer des tâches de programmation.
      • Efficacité de la mémoire : Comme toutes les instances d'une classe partagent les mêmes méthodes et effectuent les mêmes actions, l'instanciation permet d'optimiser la mémoire. Le code des méthodes ne doit être stocké qu'une seule fois, quel que soit le nombre d'objets.
      • Réutilisation du code : L'un des premiers principes de la POO est la réutilisation du code, et l'instanciation est un élément clé de cet aspect. Une fois qu'une classe est créée, elle peut être utilisée pour créer plusieurs objets dans différentes parties d'un programme ou même dans différents programmes. Cela permet de réduire considérablement la quantité de code à écrire.

      Comment la technique d'instanciation facilite le développement de logiciels

      Pour chaque classe que tu conçois, tu as la possibilité de créer de nombreuses instances, chacune ayant un état et des comportements uniques. Ce faisant, tu peux reproduire des objets et des scénarios du monde réel, ce qui fait du développement de logiciels orientés objet un outil si puissant. Pour illustrer cela, imagine la conception d'un site Web d'achat. Tu peux créer une classe "Produit" avec des attributs tels que "nom", "prix" et "stock" et des méthodes telles que "addToCart()" et "checkOut()". Pour chaque produit disponible sur le site Web, il te suffit de créer un objet de la classe "Produit" et de l'initialiser avec les détails spécifiques de chaque produit.
      class Product { String name ; int price ; int stock ; // Methods void addToCart(int quantity) { // Code pour l'ajout au panier } void checkOut() { // Code pour le passage en caisse } } // Instancie la classe Product football = new Product("Football", 30, 100) ; Product basketball = new Product("Basketball", 40, 80) ;
      Ce faisant, tu crées différents produits comme "football" et "basketball", chacun avec son nom, son prix et son stock, et équipés des actions "addToCart()" et "checkOut()". C'est là que la fonctionnalité de l'instanciation brille de tous ses feux. Elle te permet de concevoir des classes qui représentent fidèlement les objets du monde réel et offrent les fonctionnalités nécessaires pour les manipuler.

      L'impact de l'instanciation des classes sur l'efficacité du codage

      L'un des objectifs essentiels de tout projet de programmation est d'optimiser à la fois le temps nécessaire à l'écriture du code et l'efficacité de l'application finie. L'instanciation est fondamentale pour atteindre cet objectif. En définissant une classe, tu mets en place un modèle qui peut être utilisé pour créer autant d'instances que nécessaire. Cela favorise la réutilisation du code et diminue la quantité globale de code écrit. En outre, l'encapsulation des données (attributs) et des comportements (méthodes) dans des objets permet d'obtenir un code propre et organisé. Chaque objet gère son état et fournit des interfaces (méthodes) pour interagir avec cet état. Cela encourage la séparation des préoccupations, où chaque classe se concentre sur une tâche spécifique. Lorsque le code est bien organisé, il devient plus facile à comprendre, à modifier et à maintenir, ce qui ouvre la voie à un codage plus efficace et à des applications robustes. Dans l'ensemble, l'instanciation des classes ouvre la voie à un processus de codage et à un résultat optimaux dans le développement de logiciels. La commodité, l'efficacité du code et les capacités de modélisation du monde réel offertes par l'instanciation de classe témoignent de son rôle essentiel dans le développement de logiciels.

      Défis de l'instanciation et moyens de les surmonter

      Bien que le concept d'instanciation améliore la fonctionnalité des langages de POO, certaines difficultés peuvent survenir au cours du processus. Les difficultés proviennent principalement d'une compréhension insuffisante des classes et des objets, et de leur rôle dans la programmation. De plus, les erreurs ou les problèmes peuvent varier d'un langage à l'autre, chacun ayant ses propres défis idiomatiques.

      Erreurs courantes d'instanciation en Python, Java et C++

      Comme chaque langage de programmation possède une syntaxe et une sémantique uniques, les défis rencontrés lors de l'instanciation ont tendance à varier.

      Malentendus en Python

      Le typage dynamique de Python peut parfois prêter à confusion, en particulier pour les débutants. Ne pas comprendre que les classes sont mutables peut conduire à des erreurs.
      class MyClass : list = [] # Créer deux objets object1 = MyClass() object2 = MyClass() # Ajouter à la liste de object1 object1.list.append('item') # Imprimer la liste de object2 print(object2.list)
      Le résultat du code ci-dessus serait ['item'], ce qui pourrait être surprenant ! En effet, l'attribut list appartient à la classe, et non aux instances de la classe. Par conséquent, les modifications apportées à l'attribut par un objet ont un effet sur tous les autres objets de la classe. Pour éviter cela, veille à créer des variables d'instance à l'intérieur des méthodes :
      class MyClass : def __init__(self) : self.list = []

      Les obstacles à l'instanciation en Java

      En Java, une erreur courante consiste à oublier le mot-clé "new" lors de la création d'un objet, alors qu'il est nécessaire pour l'instanciation de l'objet.
      Dog myDog ; // Incorrect Dog myDog = new Dog() ; // Correct
      La première ligne déclare simplement une variable de type Dog, mais aucun objet Dog n'est créé, ce qui entraîne une exception de pointeur nul si tu essaies d'utiliser myDog. La deuxième ligne instancie correctement un objet chien.

      La confusion de l'instanciation en C++

      En C++, un point délicat concerne la sélection du constructeur pendant l'instanciation.
      class MyClass { public : MyClass() {} MyClass(int a) {} } ; MyClass m = MyClass() ; // Cette ligne ne fait pas ce à quoi tu t'attends !
      Ce code n'appelle pas le constructeur par défaut comme on pourrait s'y attendre. Au lieu de cela, il appelle le constructeur de copie (que le compilateur fournit par défaut), ce qui entraîne un comportement de l'objet différent de celui attendu.

      Conseils de dépannage pour une instanciation fluide dans le codage

      Pour naviguer à travers ces défis, voici quelques solutions générales :
      • Apprends la syntaxe du langage : Comprends la syntaxe de l'instanciation dans le langage que tu apprends. Il s'agit notamment de connaître les mots-clés appropriés, de savoir comment appeler un constructeur, etc.
      • Maîtrise les classes et les objets : Assure-toi de bien maîtriser les classes et les objets du langage. Concentre-toi particulièrement sur la différence entre les variables de classe et les variables d'instance pour éviter les comportements inattendus.
      • Apprends le rôle des constructeurs : Le constructeur joue un rôle crucial dans l'instanciation, donc connaître sa syntaxe, ses rôles et la façon de les appeler de manière sélective sera bénéfique.
      • Comprendre les erreurs : Passe en revue les erreurs courantes liées à l'instanciation dans le langage et les moyens de les résoudre.
      En se concentrant sur ces points, il est possible de surmonter de nombreux défis liés à l'instanciation.

      Conseils pour maîtriser les techniques d'instanciation et coder efficacement

      La clé d'une utilisation efficace de l'instanciation réside dans la compréhension des concepts et dans une bonne dose de pratique. Voici quelques conseils généraux pour maîtriser ces techniques :
      • Assure-toi de bien comprendre les bases de la POO. Cela inclut des concepts tels que les classes, les objets, l'héritage, le polymorphisme, etc.
      • Entraîne-toi à créer et à utiliser des classes et des objets. L'une des plus grandes étapes vers la maîtrise de l'instanciation est de se sentir à l'aise avec l'utilisation de classes pour modéliser des concepts du monde réel.
      • Expérimente différents types de classes, y compris des classes avec différents types et nombres de variables d'instance et de méthodes.
      • Essaie différents projets de programmation qui nécessitent la création et la manipulation de nombreuses instances d'une classe.
      L'apprentissage approfondi de ces concepts et leur mise en pratique dans divers contextes t'aideront grandement à saisir les subtilités de l'instanciation.

      Surmonter les obstacles de l'instanciation : Guide de l'élève

      S'il est normal de rencontrer des problèmes de codage, surtout pendant l'apprentissage, il est crucial de les surmonter. Voici quelques points d'orientation pour t'aider en tant qu'élève :
      • Lire et comprendre les messages d'erreur : Ils permettent de révéler ce qui ne va pas dans ton code. Interprète-les, repère le problème et tu apprendras à déboguer plus efficacement.
      • Pratiquer correctement le débogage : Bien que cela demande du temps et de la patience, le débogage étape par étape t'aidera à déterminer où ton code diverge du comportement attendu. Les outils tels que les points d'arrêt et les observateurs dans les éditeurs de développement intégré (IDE) peuvent s'avérer pratiques.
      • Maîtrise la programmation orientée objet : La POO est au cœur de l'instanciation. Mieux tu la comprendras, plus tu seras apte à utiliser l'instanciation correctement et efficacement.
      • Comprendre le langage : Chaque langage a ses particularités. Les comprendre est utile dans le contexte. Par exemple, il faut tenir compte de l'augmentation des variables de classe lorsqu'on a l'intention de manipuler une variable d'instance, de l'oubli du mot-clé "new" en C++ ou en Java.
      N'oublie pas que plus tu pratiqueras, plus tu comprendras intuitivement le processus d'instanciation. Cette compréhension sera le tremplin vers la maîtrise de l'instanciation et d'autres principes de la programmation orientée objet.

      Instanciation - Points clés à retenir

      • L'instanciation est le processus de création d'un objet à partir d'une classe en programmation et peut se faire de différentes manières selon le langage.
      • En Python, l'instanciation est simple et utilise la méthode spéciale __init__, qui est appelée lorsqu'un objet est instancié à partir d'une classe. Cette méthode est utilisée pour initialiser les attributs de la classe.
      • En Java, l'instanciation se fait à l'aide du mot-clé "new" et d'une méthode spéciale appelée fonction constructeur qui initialise l'objet.
      • L'instanciation en C++ n'utilise pas le mot-clé "new". Au lieu de cela, une classe est instanciée en déclarant une variable du type de la classe.
      • Des exemples concrets peuvent simplifier considérablement l'apprentissage du concept d'instanciation. Le concept peut être assimilé à des objets ou des scénarios du monde réel, une classe représentant un modèle d'une entité du monde réel, et chaque instance représentant un exemple spécifique de cette entité.
      • L'instanciation joue un rôle crucial dans la programmation orientée objet, en facilitant la réutilisation du code, l'efficacité de la mémoire et l'encapsulation des données et des comportements dans des objets, ce qui permet d'obtenir un code propre et organisé. Cela permet de réduire considérablement la quantité de code à écrire, et donc d'augmenter l'efficacité du codage.
      Instantiation Instantiation
      Apprends avec 15 fiches de Instantiation dans l'application gratuite StudySmarter

      Nous avons 14,000 fiches sur les paysages dynamiques.

      S'inscrire avec un e-mail

      Tu as déjà un compte ? Connecte-toi

      Questions fréquemment posées en Instantiation
      Qu'est-ce que l'instanciation en informatique?
      L'instanciation, c'est la création d'une instance d'une classe en utilisant un constructeur pour obtenir un objet ayant des propriétés et méthodes définies.
      Pourquoi l'instanciation est-elle importante?
      L'instanciation est cruciale car elle permet l'utilisation des schémas de classe pour créer des objets spécifiques, rendant la programmation orientée objet fonctionnelle.
      Quel est un exemple d'instanciation?
      Un exemple d'instanciation est: `MyClass obj = new MyClass();` où `obj` est une instance de `MyClass`.
      Quelle est la différence entre une classe et une instance?
      Une classe est une structure ou un plan, tandis qu'une instance est un objet concret créé à partir de cette classe.
      Sauvegarder l'explication

      Teste tes connaissances avec des questions à choix multiples

      Que signifie l'instanciation dans la programmation informatique ?

      Quels sont les principaux aspects de l'instanciation ?

      Quel est le lien entre l'instanciation et la programmation orientée objet (POO) ?

      Suivant

      Découvre des matériels d'apprentissage avec l'application gratuite StudySmarter

      Lance-toi dans tes études
      1
      À propos de StudySmarter

      StudySmarter est une entreprise de technologie éducative mondialement reconnue, offrant une plateforme d'apprentissage holistique conçue pour les étudiants de tous âges et de tous niveaux éducatifs. Notre plateforme fournit un soutien à l'apprentissage pour une large gamme de sujets, y compris les STEM, les sciences sociales et les langues, et aide également les étudiants à réussir divers tests et examens dans le monde entier, tels que le GCSE, le A Level, le SAT, l'ACT, l'Abitur, et plus encore. Nous proposons une bibliothèque étendue de matériels d'apprentissage, y compris des flashcards interactives, des solutions de manuels scolaires complètes et des explications détaillées. La technologie de pointe et les outils que nous fournissons aident les étudiants à créer leurs propres matériels d'apprentissage. Le contenu de StudySmarter est non seulement vérifié par des experts, mais également régulièrement mis à jour pour garantir l'exactitude et la pertinence.

      En savoir plus
      Équipe éditoriale StudySmarter

      Équipe enseignants Informatique

      • Temps de lecture: 21 minutes
      • Vérifié par l'équipe éditoriale StudySmarter
      Sauvegarder l'explication Sauvegarder l'explication

      Sauvegarder l'explication

      Inscris-toi gratuitement

      Inscris-toi gratuitement et commence à réviser !

      Rejoins plus de 22 millions d'étudiants qui apprennent avec notre appli StudySmarter !

      La première appli d'apprentissage qui a réunit vraiment tout ce dont tu as besoin pour réussir tes examens.

      • Fiches & Quiz
      • Assistant virtuel basé sur l’IA
      • Planificateur d'étude
      • Examens blancs
      • Prise de notes intelligente
      Rejoins plus de 22 millions d'étudiants qui apprennent avec notre appli StudySmarter !