Maison développement back-end Tutoriel C#.Net Comparez les différences entre la syntaxe orientée objet en C# et JAVA

Comparez les différences entre la syntaxe orientée objet en C# et JAVA

Sep 06, 2017 pm 02:01 PM
.net java

L'orientation objet est une idée de développement. La chose la plus importante à retenir est que tout est un objet. Afin de rendre le programme mieux compris et écrit, les manières et les idées de décrire les choses dans la vie réelle y sont intégrées, ce qui devient une pensée orientée objet. Pour intégrer les choses de la vie dans un programme, une description est nécessaire. La description est divisée en deux aspects : les caractéristiques et le comportement. Les caractéristiques et les comportements des différentes catégories d'objets présentent d'énormes différences afin de mieux formuler une manière de décrire chaque type de choses. , alors Le concept de classe extrait du monde de la programmation est équivalent au concept de type dans la vie. Chaque chose devrait avoir un type. Ensuite, si les choses de la vie sont classées selon différents aspects, elles peuvent être classées dans différentes catégories. Tous les cours de programmation sont également des choses que tout le monde considère comme raisonnables et qui comportent une incertitude et un caractère aléatoire considérables.

La composition d'une classe :

Une classe en Java contient des attributs et des méthodes. Les attributs sont des variables dans une classe, qui peuvent être divisées en variables statiques, variables d'instance (variables globales) et variables locales (existant dans les méthodes, et le cycle de déclaration est limité à la phase d'appel de la méthode)

Les classes en C# incluent des champs, des propriétés et des méthodes. Les champs correspondent aux attributs en Java. Les objets d'attribut en C# et les accesseurs get et set en Java sont des encapsulations de champs. Les méthodes sont les mêmes et décrivent toutes deux les comportements.

Invocation des membres de la classe :

Les membres de l'instance sont appelés par des objets. Les membres statiques sont appelés par classes. Cependant, en Java, les membres statiques peuvent également être appelés par des instances, ce qui signifie que chaque étudiant de la classe peut contrôler les frais de cours à volonté, ce qui est un très gros problème. C# est strictement limité à cet égard. Les membres statiques ne peuvent être appelés que par classes.

Trois fonctionnalités principales - Encapsulation

Encapsulation : un moyen de masquer les détails d'implémentation internes et d'obtenir les effets de protection de la sécurité des données et de réutilisation du code.

L'encapsulation est partout, apparemment simple mais extensible à l'infini. Il n'y a pas de mot-clé explicite pour l'encapsulation. Puisqu’il s’agit d’une idée et d’une méthode, il n’y a aucune différence grammaticale entre Java et C#. C'est juste que lorsqu'ils utilisent des modificateurs d'accès pour obtenir l'effet d'encapsulation, les modificateurs d'accès des deux langages sont différents.

En Java :

private : privé, accessible uniquement en interne

dufault : par défaut, accessible en interne dans le même package.

Protégé : protégé, accessible dans le même package ou dans des sous-classes de packages différents.

Public : Public, accessible de n'importe où.

Caractéristiques : il existe une relation de propriété de taille claire : private < default < protected < mais C'est un regroupement logique, qui est différent du regroupement physique de packages en Java. Un assemblage est similaire à un projet) :

privé : privé, accessible uniquement en interne.

internal : interne, accessible au sein du même assembly, identique à celui par défaut.

Protégé : protégé, accessible dans les sous-classes, ce qui est différent de protégé en Java. La portée ici est plus petite et les non-sous-classes du même assembly ne peuvent pas y accéder.

Interne protégé : C'est l'union des étendues d'accès internes et protégées.

Public : Public, accessible de n'importe où.

Caractéristiques : il n'y a pas de relation de propriété claire en termes de taille, et la taille de la portée d'accès interne et protégée n'est pas claire.



Trois fonctionnalités majeures - héritage  
Héritage : le but est de permettre à une classe d'avoir les attributs et les méthodes d'une autre classe.

En Java : l'utilisation s'étend pour indiquer l'utilisation de l'héritage

Conditions requises pour la réécriture : a. Le nom de la méthode, le type de valeur de retour et les paramètres sont les mêmes ; le modificateur d'accès doit être supérieur ou égal à la classe parent Modificateur d'accès à la méthode ;

Accédez aux membres de la classe parent : utilisez le mot-clé super, vous pouvez utiliser super (paramètre pour spécifier une méthode constructeur de la classe parent); appelé dans le constructeur.

En C# : Utilisation : Indique l'utilisation de l'héritage

Conditions requises pour la réécriture : a. Le nom de la méthode, le type de valeur de retour, les paramètres et les modificateurs d'accès sont les mêmes ; la méthode est modifiée par virtual. La méthode de la sous-classe est modifiée par override

L'accès à la classe parent est réussi : utilisez le mot-clé base, utilisez : base (paramètre) après la méthode constructeur spécifier pour appeler le constructeur de la classe parent ; méthode, base ne peut pas être utilisée dans un environnement statique et ne peut pas être appelée membre statique de la classe parent.

Remplacer : utilisez le nouveau mot-clé. Introduisez le contenu de override en C# Pour la méthode non virtuelle de la classe parent, c'est-à-dire la méthode qui ne peut pas être substituée, l'utilisation de override peut remplacer la méthode de la classe parent. Mon point de vue sur l'écrasement est de compenser les problèmes qui peuvent découler de la limitation selon laquelle les méthodes doivent être modifiées par virtual afin d'être remplacées. Mais si vous ne pouvez pas l'utiliser, ne l'utilisez pas. , ou je n'ai pas vraiment réalisé le rôle et l'effet réels de l'écrasement. En cas d'utilisation, un expert peut commenter et dissiper tout doute.

La base pour juger si la réécriture est réussie : utilisez la référence de la classe parent pour pointer vers l'objet de la sous-classe. Si la méthode appelle la méthode de la classe parent, la réécriture échoue. est appelé, la réécriture échoue.

Trois caractéristiques majeures - le polymorphisme

Polymorphisme : formes d'existence multiples d'un même comportement. Les manifestations comprennent : la surcharge et la réécriture.

Exigences de surcharge : a. Dans la même classe ; b. Le même nom de méthode ; c. Différents paramètres (nombre, type, ordre des paramètres).

Lors de l'appel, déterminez quelle méthode appeler en fonction des paramètres transmis.

Classes et interfaces abstraites

Classes abstraites : Les classes modifiées avec abstract sont appelées classes abstraites.

Source : À mon avis, la source des cours abstraits mérite d'être soigneusement réfléchie pour aider à approfondir la compréhension. Il existe de nombreux problèmes de ce type dans la vie réelle, c'est-à-dire que nous savons que ce genre de choses fera cette action (méthode), mais nous ne savons pas comment le faire. Par exemple, nous savons tous que les animaux bougent, mais vous. Je ne sais pas comment chaque animal bouge. Lors de la définition de cette classe Animal à ce stade, vous avez besoin d'une méthode move. Elle n'a qu'un en-tête de méthode (décrivant ce qu'elle fera) et aucun corps de méthode (décrivant comment le faire). Ensuite, cette méthode est assez spéciale, nous marquons donc). comme méthode abstraite, utilisez la modification abstraite.

Il existe donc des méthodes abstraites dans la classe Animal Si vous instanciez la classe Animal, quels types de problèmes surviendront lorsque vous appellerez la méthode move ? Inconnu car il ne décrit pas comment procéder. Ainsi, afin d'éviter cette situation inconnue, par exemple, la classe Animal est définie comme une classe abstraite. La particularité notable est qu'elle ne peut pas être instanciée. Pour une classe qui ne peut pas être instanciée, ses membres non statiques ne peuvent pas être appelés. Alors, quelle est la signification de l'existence d'une telle classe ?

Donc résumé : le sens de l'existence d'une classe abstraite doit être hérité. Des classes abstraites existent pour les méthodes abstraites. Elles ont des constructeurs mais ne peuvent pas être instanciées. Grammaticalement, Java et C# sont identiques à cet égard, je n'entrerai donc pas dans les détails.

Interface : un ensemble de règles et de spécifications formulées de manière à ce que toutes les classes d'implémentation répondent à ces règles et spécifications. Dans les applications pratiques, cela peut considérablement augmenter la flexibilité du programme. Ma compréhension de la programmation orientée interface n'est pas particulièrement approfondie et je ne peux pas l'expliquer clairement en une ou deux phrases seulement. Il existe des experts qui peuvent publier leur propre expérience et en tirer des leçons.

Différence : En C#, si la classe d'implémentation n'implémente pas toutes les méthodes de l'interface, elle peut se définir comme une classe abstraite et recopier les méthodes non implémentées et les définir comme méthodes abstraites.

Résumé

J'ai toujours été engagé dans le développement Java et je n'ai appris le C# que lorsque cela était nécessaire pour l'enseignement. Il y a des similitudes et je peux l'apprendre rapidement. Ici, nous nous concentrons uniquement sur la syntaxe. Les gros gars travaillent sur les protocoles et travaillent sur la couche inférieure, donc ils n'aiment pas ça.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Nombre parfait en Java Nombre parfait en Java Aug 30, 2024 pm 04:28 PM

Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

Weka en Java Weka en Java Aug 30, 2024 pm 04:28 PM

Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

Numéro de Smith en Java Numéro de Smith en Java Aug 30, 2024 pm 04:28 PM

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Questions d'entretien chez Java Spring Questions d'entretien chez Java Spring Aug 30, 2024 pm 04:29 PM

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Break or Return of Java 8 Stream Forach? Break or Return of Java 8 Stream Forach? Feb 07, 2025 pm 12:09 PM

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Horodatage à ce jour en Java Horodatage à ce jour en Java Aug 30, 2024 pm 04:28 PM

Guide de TimeStamp to Date en Java. Ici, nous discutons également de l'introduction et de la façon de convertir l'horodatage en date en Java avec des exemples.

Créer l'avenir : programmation Java pour les débutants absolus Créer l'avenir : programmation Java pour les débutants absolus Oct 13, 2024 pm 01:32 PM

Java est un langage de programmation populaire qui peut être appris aussi bien par les développeurs débutants que par les développeurs expérimentés. Ce didacticiel commence par les concepts de base et progresse vers des sujets avancés. Après avoir installé le kit de développement Java, vous pouvez vous entraîner à la programmation en créant un simple programme « Hello, World ! ». Une fois que vous avez compris le code, utilisez l'invite de commande pour compiler et exécuter le programme, et « Hello, World ! » s'affichera sur la console. L'apprentissage de Java commence votre parcours de programmation et, à mesure que votre maîtrise s'approfondit, vous pouvez créer des applications plus complexes.

Programme Java pour trouver le volume de la capsule Programme Java pour trouver le volume de la capsule Feb 07, 2025 am 11:37 AM

Les capsules sont des figures géométriques tridimensionnelles, composées d'un cylindre et d'un hémisphère aux deux extrémités. Le volume de la capsule peut être calculé en ajoutant le volume du cylindre et le volume de l'hémisphère aux deux extrémités. Ce tutoriel discutera de la façon de calculer le volume d'une capsule donnée en Java en utilisant différentes méthodes. Formule de volume de capsule La formule du volume de la capsule est la suivante: Volume de capsule = volume cylindrique volume de deux hémisphères volume dans, R: Le rayon de l'hémisphère. H: La hauteur du cylindre (à l'exclusion de l'hémisphère). Exemple 1 entrer Rayon = 5 unités Hauteur = 10 unités Sortir Volume = 1570,8 unités cubes expliquer Calculer le volume à l'aide de la formule: Volume = π × r2 × h (4

See all articles