Maison  >  Article  >  Quel langage de programmation convient au développement de logiciels de bureau ?

Quel langage de programmation convient au développement de logiciels de bureau ?

Guanhui
Guanhuioriginal
2020-06-03 15:58:299662parcourir

Quel langage de programmation convient au développement de logiciels de bureau ?

Quel langage de programmation est adapté au développement de logiciels de bureau ?

Le langage de programmation adapté au développement de logiciels de bureau est C#. C# est un langage de programmation orienté objet dérivé du C et du C++ publié par Microsoft. Il fonctionne sur « .NET Framework » et « .NET Framework ». ". NET Core" et possède de puissantes capacités opérationnelles, une syntaxe élégante et des fonctionnalités de langage innovantes.

Structure du langage C#

Classe : une classe C# de base contient des données membres, des propriétés, des constructeurs et des méthodes. Les propriétés peuvent être des membres statiques ou d’instance. La déclaration de classe en C# est très similaire à C++ et Java. Cependant, contrairement au C++, les structures et classes C# ne prennent pas en charge l’héritage de plusieurs classes parents. Cependant, comme Java, une structure peut implémenter une interface. Le mot-clé Java import a été remplacé par using, qui sert le même objectif.

Les classes peuvent être abstraites et non héritables : une classe déclarée comme abstraite ne peut pas être instanciée, elle ne peut être utilisée que comme classe de base, le verrou par mot clé C# est comme le mot clé Java final, il déclare qu'une classe n'est pas abstrait, mais il ne peut pas être utilisé comme interface de classe de base pour une autre classe : tout comme en Java, une interface est une définition abstraite d'un ensemble de méthodes. Lorsqu'une classe ou une structure implémente une interface, elle doit implémenter toutes les méthodes définies dans l'interface. Une seule classe peut implémenter plusieurs interfaces, et il pourrait y avoir des différences subtiles à l'avenir, mais cette fonctionnalité semble rester inchangée par rapport à Java.

Opérations booléennes : le résultat de l'expression conditionnelle est un type de données booléen. Le type de données booléen est un type de données indépendant dans ce langage. Il n'y a pas de processus de conversion directe des types booléens vers d'autres types. true et false est un mot-clé en C#. Gestion des erreurs : comme en Java, le processus de gestion des erreurs est géré en lançant et en interceptant des objets d'exception.

Gestion de la mémoire : récupération automatique de la mémoire par le framework .NET sous-jacent.

Interface : est un type de référence que d'autres types implémentent pour garantir qu'ils prennent en charge certaines opérations. Les interfaces ne sont jamais créées directement et n'ont aucune représentation réelle ; les autres types doivent être convertis en types d'interface.

Une interface définit un contrat. Une classe ou une structure qui implémente une interface doit adhérer à son contrat. Les interfaces peuvent contenir des méthodes, des propriétés, des indexeurs et des événements en tant que membres.

Type fort : C# est un langage fortement typé. Certains de ses types numériques peuvent être implicitement convertis, tandis que d'autres doivent être explicitement convertis. Les types convertis implicitement ne peuvent être convertis qu'en types longs avec des longueurs courtes. peut être converti en long, float, double, decimal, sinon il doit être converti explicitement.

Compilation : Le programme est directement compilé sous une forme exécutable binaire standard. Cependant, le programme source C# n'est pas compilé sous une forme exécutable binaire, mais dans un langage intermédiaire (IL), similaire au bytecode JAVA. Si le programme Hello World précédent est enregistré sous forme de fichier texte

et nommé Hello.cs, il sera compilé dans un programme exécutable nommé Hello.exe.

Le programme C# ne peut pas être directement compilé sous une forme exécutable binaire standard. Semblable à Java, il est compilé en code intermédiaire (Microsoft Intermediate Language), puis passé via la machine virtuelle du .NET Framework - appelé universel. Couche d'exécution du langage (Common Language Runtime, CLR) - exécution.

Une structure C# est similaire à une structure C++ dans le sens où elle peut contenir des déclarations de données et des méthodes. Cependant, contrairement à C++, les structures C# sont distinctes des classes et ne prennent pas en charge l'héritage. Cependant, comme Java, une structure peut le faire. implémenter une interface.

Précompilation : il existe des directives de précompilation en C# pour prendre en charge la compilation conditionnelle, les avertissements, le rapport d'erreurs et le contrôle de ligne de compilation. Les directives de précompilation disponibles sont : #define, #undef, #if, #elif, #else, #. endif, #avertissement, #erreur, #ligne.

Sans la directive #include, l'instruction #define ne peut plus être utilisée pour attribuer des valeurs aux symboles, il n'y a donc pas de concept de remplacement de code source - ces symboles ne peuvent être utilisés que dans le #if et Directives #elif. In Le numéro (et le nom facultatif) dans la directive #line peut modifier le numéro de ligne et le nom de fichier des résultats de sortie #warning et #error.

Surcharge d'opérateurs : Certains opérateurs peuvent être surchargés, tandis que d'autres ne le peuvent pas. En particulier, aucun opérateur d'affectation ne peut être surchargé. Les opérateurs unaires qui peuvent être surchargés sont : + - ~ ++ -- true false Le binaire. les opérateurs qui peuvent être surchargés sont : +, -, *, /, %, &, |, ^, <<, >>, ==, != , >, < ;=.

Type : les types en C# sont divisés en deux catégories, l'une est le type valeur (Value Type) et l'autre est le type référence (Reference Type). Les types valeur et les types référence se distinguent par la façon dont ils sont alloués dans la mémoire de l’ordinateur. Les types valeur incluent les structures et les énumérations, et les types référence incluent les classes, les interfaces, les délégués, etc. Il existe également un type de valeur spécial appelé type simple (Simple Type), tel que byte, int, etc. Ces types simples sont en fait des alias de types de bibliothèque de classes FCL. Par exemple, déclarer un type int revient en réalité à déclarer un Int32. Type de structure. Par conséquent, les opérations définies dans le type Int32 peuvent être appliquées au type int, telles que « 123.Equals(2) ».

Tous les types valeur héritent implicitement du type System.ValueType (notez que System.ValueType lui-même est un type de classe System.ValueType et tous les types référence héritent de la classe de base System.Object). Vous ne pouvez pas explicitement laisser une structure hériter d’une classe car C# ne prend pas en charge l’héritage multiple et les structures héritent déjà implicitement de ValueType.

REMARQUE : La pile est une structure de données dernier entré, premier sorti. En mémoire, les variables sont allouées sur la pile pour les opérations. Le tas est une zone mémoire utilisée pour allouer de l'espace aux instances de type (objets). Lorsqu'un objet est créé sur le tas, l'adresse de l'objet est transmise à la variable sur la pile (à son tour, la variable pointe vers cet objet, ou la variable fait référence à cet objet).

Code intermédiaire : Microsoft

laisse une grande marge de manœuvre lorsque les utilisateurs choisissent quand MSIL doit être compilé en code machine. Microsoft prend soin d'affirmer que MSIL n'est pas interprétatif ; Il comprend également que de nombreux programmeurs, sinon la plupart, pensent que les programmes Java sont inévitablement plus lents que tout ce qui est écrit en C. Cette implémentation détermine les programmes (c'est-à-dire les programmes écrits en C#, Visual Basic, "Managed C++" - une version conforme CLS de C++, etc.) surpassera le code Java « interprété ». Bien sûr, cela reste vrai, car C# et les autres compilateurs générant MSIL ne sont pas encore sortis. Mais l'omniprésence des compilateurs Java JIT rend Java et. C# est relativement équivalent en termes de performances. Comme "C# est un langage compilé et Java est interprété", des déclarations comme celle-ci ne sont que des techniques commerciales de Java et MSIL sont tous deux des langages de forme d'assemblage intermédiaires qui sont compilés en code machine au moment de l'exécution ou. d'autres fois.

Tutoriel recommandé : "C#"

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:
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
Article précédent:Unix est-il Linux ?Article suivant:Unix est-il Linux ?