Table des matières[Cacher][Montrer]
- 1. Qu'est-ce que la programmation orientée objet exactement ?
- 2. Pourquoi les POO sont-ils nécessaires ?
- 3. Quels avantages les principes OOPS offrent-ils ?
- 4. Quels sont les piliers du concept OOPs ?
- 5. Qu'est-ce qu'une classe exactement ?
- 6. Qu'est-ce qu'un objet exactement ?
- 7. Quelles sont les limites des POO ?
- 8. Qu'est-ce que l'héritage?
- 9. Qu'est-ce que l'encapsulation précisément ?
- 10. Qu'est-ce que le polymorphisme ?
- 11. Qu'est-ce que l'abstraction exactement ?
- 12. Qu'est-ce que la surcharge de méthode ?
- 13. Qu'est-ce qui remplace exactement la méthode ?
- 14. Qu'est-ce qu'une superclasse précisément ?
- 15. Qu'est-ce qu'une sous-classe précisément ?
- 16. Qu'est-ce exactement que le polymorphisme statique ?
- 17. Qu'est-ce que le polymorphisme dynamique exactement ?
- 18. Décrivez la notion de Constructeur.
- 19. Que sont exactement les modificateurs d'accès ?
- 20. Qu'est-ce qu'un destructeur exactement ?
- 21. Qu'est-ce que l'héritage hybride exactement ?
- 22. Qu'est-ce précisément que l'héritage hiérarchique ?
- 23. Quels sont les inconvénients de l'héritage ?
- 24. Qu'est-ce qu'une exception exactement ?
- 25. En quoi consiste exactement la gestion des exceptions et quels sont ses avantages ?
- 26. Que sont exactement les fonctions virtuelles ?
- 27. Qu'est-ce que la fonction ami exactement ?
- 28. Qu'est-ce que la récupération de place exactement ?
- 29. Qu'est-ce que le couplage précisément ?
- 30. Qu'est-ce que la cohésion précisément ?
- 31. Décrivez un bloc try/catch.
- 32. Décrivez un dernier bloc.
- 33. Qu'est-ce qu'une interface exactement ?
- 34. Qu'est-ce que la composition exactement ?
- 35. Qu'est-ce que le chaînage du constructeur ?
- Conclusion
L'un des paradigmes de programmation les plus influents est appelé POO, ou programmation orientée objet. Au lieu de fonctions et de processus, il met l'accent sur les classes et les objets.
Son objectif principal est de connecter les données et les objets afin qu'il soit plus simple de travailler avec eux. Chaque objet dans les POO est composé de code sous forme de procédures ou de méthodes et de données sous forme de champs.
Des langages comme C++, Objective C, Python, Perl et Java sont parmi les langages orientés objet les plus populaires. langages de programmation.
Il est essentiel d'en savoir plus à ce sujet, car les questions d'entrevue oups sont extrêmement typiques. La plupart des entreprises recherchent des ingénieurs familiarisés avec les méthodes et les modèles orientés objet. Donc, si vous avez l'intention d'assister à une entrevue, vous devez bien connaître les idées POO.
Diverses questions d'entretien sur la programmation orientée objet, du niveau débutant au niveau expert, seront présentées dans cet article. Vous pouvez donc réussir n'importe quel niveau d'entretien et obtenir le poste de vos rêves.
1. Qu'est-ce que la programmation orientée objet exactement ?
La programmation orientée objet (POO) est basée sur des objets réels plutôt que sur des fonctions et des processus. Les classes sont créées pour des produits individuels.
L'héritage, le polymorphisme et la dissimulation sont des exemples de concepts du monde réel que les POO intègrent dans la programmation. Il permet également de connecter les données et le code.
2. Pourquoi les POO sont-ils nécessaires ?
Il y a plusieurs raisons pour lesquelles les POO sont préférables, cependant, les suivantes sont les plus importantes :
- Les POO permettent aux utilisateurs de comprendre facilement les logiciels même s'ils ne sont pas familiers avec l'implémentation.
- Oups, améliorez la lisibilité, la compréhensibilité et la maintenabilité du code par un facteur de dix.
- En utilisant les OOP, même des applications extrêmement volumineuses peuvent être simplement construites et contrôlées.
3. Quels avantages les principes OOPS offrent-ils ?
- OOPS, les objets de programmation simulent des objets du monde réel, réduisant la complexité et améliorant la clarté du programme.
- Les objets peuvent être utilisés à plusieurs reprises dans de nombreux programmes.
- Chaque objet crée une entité distincte dont les opérations internes sont indépendantes des autres composants du système.
- En introduisant quelques nouveaux objets et en mettant à jour quelques objets déjà existants, il est possible d'ajouter de nouvelles fonctionnalités ou de s'adapter aux conditions de fonctionnement changeantes.
- Les processus ou la représentation des données d'un programme OOPs peuvent facilement subir de petits ajustements.
4. Quels sont les piliers du concept OOPs ?
Voici les principaux piliers de la POO :
Droit des successions: Il permet aux classes d'hériter des attributs d'une autre classe.
Encapsulation: Il s'agit d'une propriété d'objet qui cache des informations critiques. Cela permet de cacher les données aux membres de la classe. Les spécificateurs décrivent comment l'attribut de l'objet est accessible dans le code.
Polymorphisme: Cela vous permet de réaliser une même activité de plusieurs manières. Cela se fait via des interfaces, dans lesquelles nous déclarons une interface qui est ensuite implémentée plusieurs fois.
Abstraction: Vous pouvez utiliser cette fonction pour masquer les informations critiques du monde extérieur et ne présenter que les faits essentiels.
5. Qu'est-ce qu'une classe exactement ?
Une classe est un prototype composé d'objets dans divers états et avec des comportements variés. Il a un certain nombre de méthodes qui sont partagées par les objets de cette classe.
6. Qu'est-ce qu'un objet exactement ?
Un objet est une entité du monde réel qui sert d'unité fondamentale de POO, comme une chaise, un chat ou un chien. Divers objets ont divers états, propriétés et actions.
7. Quelles sont les limites des POO ?
- La taille est plus grande que celle des autres applications.
- Cela demande un certain temps d'adaptation.
- Certains types de problèmes ne l'exigent pas.
- Sa création a demandé beaucoup de travail et, comparée à d'autres applications, elle fonctionne plus lentement.
8. Qu'est-ce que l'héritage?
Une notion appelée héritage fait référence au partage de la structure et du comportement établis d'une classe par une autre classe. Lorsque l'héritage est appliqué à une seule classe, on parle d'héritage unique ; lorsqu'il dépend de plusieurs classes, on parle d'héritages multiples.
9. Qu'est-ce que l'encapsulation précisément ?
L'idée des POO inclut également l'encapsulation. Il décrit le mélange de données et de techniques de manipulation de données. De plus, cela aide à empêcher l'accès direct à certaines parties d'un objet.
10. Qu'est-ce que le polymorphisme ?
Dans les langages POO, le polymorphisme est un concept fondamental. Il montre comment différentes classes peuvent partager une interface. Ces classes sont toutes capables d'avoir des implémentations d'interface uniques.
11. Qu'est-ce que l'abstraction exactement ?
L'abstraction est un concept de programmation orientée objet (POO) utilisé pour créer la structure d'objets du monde réel. Il "affiche" uniquement les qualités les plus importantes et "cache" les informations étrangères au monde extérieur. L'objectif fondamental de l'abstraction est de protéger les gens des informations inutiles.
12. Qu'est-ce que la surcharge de méthode ?
Il est possible que deux procédures ou plus aient le même nom. Ils doivent cependant avoir des paramètres distincts, un nombre différent de paramètres, des types distincts ou les deux. Celles-ci sont appelées méthodes surchargées et la fonctionnalité est appelée surcharge de méthode.
13. Qu'est-ce qui remplace exactement la méthode ?
La programmation orientée objet inclut l'idée de remplacement de méthode. Il s'agit d'une fonctionnalité de langage qui permet à une sous-classe ou à une classe enfant d'offrir une implémentation personnalisée d'une méthode déjà fournie par l'une de ses superclasses ou classes parentes.
14. Qu'est-ce qu'une superclasse précisément ?
Une superclasse, souvent appelée classe de base, est un type de classe qui agit en tant que parent d'une ou plusieurs autres classes. La classe Car, par exemple, a une sous-classe appelée Vehicle.
15. Qu'est-ce qu'une sous-classe précisément ?
Une sous-classe est une sous-classe d'une autre classe. Une fourgonnette, par exemple, est une sous-classe de véhicule ou une classe dérivée.
16. Qu'est-ce exactement que le polymorphisme statique ?
Au moment de la compilation, un type de polymorphisme appelé polymorphisme statique (liaison statique) se produit. La surcharge de méthode est un type de polymorphisme au moment de la compilation.
17. Qu'est-ce que le polymorphisme dynamique exactement ?
Une sorte de polymorphisme qui est résolu au moment de l'exécution est appelé polymorphisme d'exécution, également appelé polymorphisme dynamique (liaison dynamique). Le remplacement des méthodes est une illustration du polymorphisme d'exécution.
18. Décrivez la notion de Constructeur.
Un constructeur est une méthode spécifique d'une classe qui est automatiquement appelée lors de la création d'une instance de classe. Lorsque vous accédez à la classe, elle est construite avec le même nom que la classe et initialise tous ses membres. Les principales caractéristiques d'un constructeur sont les suivantes :
Il n'y a pas de type de retour pour les constructeurs.
La surcharge des constructeurs est possible.
Il n'est pas nécessaire de spécifier un constructeur ; le.NET Framework le fera automatiquement.
19. Que sont exactement les modificateurs d'accès ?
Dans les langages orientés objet, les mots clés sont des modificateurs d'accès ou des spécificateurs d'accès. Il facilite la configuration des classes, des méthodes et de l'accessibilité des autres membres.
20. Qu'est-ce qu'un destructeur exactement ?
Un destructeur est une méthode pour libérer les ressources affectées à un objet. Lorsqu'un objet est détruit, cette méthode est automatiquement appelée.
21. Qu'est-ce que l'héritage hybride exactement ?
L'héritage hybride est une sorte d'héritage généré par le mélange de plusieurs formes d'héritage telles que simple, multiple, etc.
22. Qu'est-ce précisément que l'héritage hiérarchique ?
Plusieurs sous-classes héritent d'une classe parente dans la situation d'héritage hiérarchique. Un type d'héritage dans lequel de nombreuses classes descendent d'un parent unique ou d'une classe de base est appelé héritage hiérarchique. Par exemple, la classe fruit peut contenir des sous-classes telles que « pomme », « mangue », « banane », « cerise », etc.
23. Quels sont les inconvénients de l'héritage ?
Cela allonge et complique le processus d'exécution. Cela nécessite également de passer d'une classe à l'autre. Les classes parent et enfant sont toujours inextricablement liées.
Des modifications au programme nécessiteraient des révisions à la fois pour le parent et la classe de l'enfant. L'héritage doit être mis en œuvre avec soin, sinon les résultats seront erronés.
24. Qu'est-ce qu'une exception exactement ?
Une exception est un incident qui interfère avec le fonctionnement habituel du code. Pour continuer l'exécution, vous pouvez gérer ces exceptions en Java. En Java, il existe de nombreuses sortes d'exceptions prédéfinies, et la gestion des exceptions est fournie pour contrôler les exceptions déclenchées à l'aide de blocs try-catch.
25. En quoi consiste exactement la gestion des exceptions et quels sont ses avantages ?
La méthode la plus importante en Java pour gérer les échecs d'exécution inattendus est la gestion des exceptions. Il vous permet de contrôler les erreurs d'exécution qui surviennent pendant l'exécution du programme.
Les avantages de la gestion des exceptions incluent la possibilité de conserver un flux de programme régulier tout en gérant les exceptions. Par exemple, si une erreur se produit dans une section du programme, elle n'aura aucun effet sur le reste du programme si nous gérons l'exception avec des blocs try-catch.
26. Que sont exactement les fonctions virtuelles ?
Les fonctions virtuelles sont également incluses dans les fonctions de la classe parent et sont remplacées par la sous-classe. Ces routines aident à la réalisation du polymorphisme d'exécution.
27. Qu'est-ce que la fonction ami exactement ?
Une fonction amie est une fonction qui appartient à une classe et qui est autorisée à accéder à ses données publiques, privées ou protégées. Si la fonction est définie en dehors de la classe, il n'est pas possible de récupérer ces données. Les mots clés de contrôle d'accès private, public et protected n'ont aucune incidence sur une déclaration d'ami, qui peut être faite n'importe où dans la déclaration de classe.
28. Qu'est-ce que la récupération de place exactement ?
Garbage collection (GC) est un élément des langages de programmation comme C# et Java qui sert de système de récupération de mémoire. Un moteur de récupération de place (GC) est un composant d'un langage de programmation qui permet la libération automatisée d'espace mémoire pour les objets que l'application n'utilise plus.
29. Qu'est-ce que le couplage précisément ?
Il fait référence à des situations dans lesquelles différentes classes s'appuient les unes sur les autres et partagent des connaissances. Un lien fort se produit lorsqu'une classe a une connaissance détaillée d'une autre classe. Vous pouvez spécifier la visibilité des classes, des méthodes ou des variables à l'aide de modificateurs d'accès. Les interfaces sont utilisées pour fournir un couplage plus faible.
30. Qu'est-ce que la cohésion précisément ?
La façon dont un composant accomplit une certaine activité est appelée sa cohésion. Une approche forte et cohérente effectuera simplement la tâche définie, tandis qu'une méthode faible et cohérente diviserait la tâche unique en plusieurs tâches plus petites, puis les terminerait.
Le package Java.io est assez cohérent, mais le package java.util ne l'est pas.
31. Décrivez un bloc try/catch.
Lorsqu'un programme rencontre une erreur due à un code ou à des données incorrects, "try" et "catch" indiquent comment le gérer. Un bloc try est le nom de la partie du code lorsque des exceptions se produisent. Un bloc catch est utilisé pour capturer et traiter les exceptions des blocs try.
32. Décrivez un dernier bloc.
La partie de code de travail du mot-clé try est indiquée en dernier. Il désigne le code qui est toujours exécuté immédiatement après l'essai et tous les blocs catch avant la fin de la méthode. Le dernier bloc est toujours exécuté, qu'une exception soit levée ou interceptée.
33. Qu'est-ce qu'une interface exactement ?
Une interface est une combinaison de méthodes abstraites et d'un type de données défini par l'utilisateur. Une classe implémente une interface, héritant des fonctions abstraites de l'interface.
Une classe représente les propriétés et les comportements d'un objet, tandis qu'une interface inclut les comportements qu'une classe implémente. L'interface représente « quoi », tandis que la classe indique « comment ».
34. Qu'est-ce que la composition exactement ?
La composition peut être utilisée pour réaliser une connexion. Il démontre un lien d'objet fort entre les objets dépendants et indépendants, par opposition à l'agrégation. L'objet dépendant n'existe pas dans ce cas et sera supprimé si l'objet parent est effacé.
35. Qu'est-ce que le chaînage du constructeur ?
Le chaînage de constructeurs est une technique permettant d'appeler un constructeur à partir d'un autre par rapport à la référence d'objet actuelle. Il y a deux options :
- Le constructeur de la classe actuelle peut être référencé à l'aide du mot-clé "this".
- Le mot-clé "super" sera utilisé pour invoquer le constructeur à partir de la classe de base.
Conclusion
La programmation orientée objet nécessite de réfléchir à la structure du programme et de se préparer à l'avance. Examiner comment diviser les exigences en classes de base réutilisables qui peuvent être utilisées pour créer des instances de choses.
Dans l'ensemble, adopter la POO permet d'améliorer structures de données et la réutilisation, ce qui fait gagner du temps à long terme. Voir Série d'interviews de Hashdork pour une aide à la préparation des entretiens.
Soyez sympa! Laissez un commentaire