Ce voyage contient quelques introductions concises : présentation des fonctions les plus couramment utilisées de Scala. Il est conçu pour aider les débutants à apprendre la langue.
Ceci n'est qu'une brève introduction, pas un tutoriel de langue complet. Si vous le pouvez, envisagez d'acheter ce livre ou de consulter d'autres ressources.
Scala est un langage de programmation multi-paradigme moderne conçu pour exprimer des modèles de programmation courants de manière concise, élégante et sécurisée. Il intègre en douceur les fonctionnalités des langages orientés objet et fonctionnels.
Scala est un langage purement orienté objet, dans un sens, toutes les valeurs sont des objets. Les types d'objets et les comportements sont décrits par des classes et des traits. Les classes sont étendues via des sous-classes et un mécanisme de composition flexible basé sur le mixin pour remplacer complètement l'héritage multiple.
Scala est aussi un langage fonctionnel Dans un sens, toutes les fonctions sont des valeurs. Scala fournit une syntaxe légère pour définir des fonctions anonymes, prend en charge les fonctions d'ordre supérieur, permet l'imbrication de fonctions et prend en charge le curry. Les exemples de classes de Scala et sa prise en charge intégrée des types algébriques de modèles de correspondance de modèles sont utilisés dans de nombreux langages de programmation fonctionnels. Les objets Singleton constituent un moyen pratique de regrouper des fonctions qui ne sont pas membres d'une classe.
De plus, les concepts de correspondance de modèles de Scala s'étendent naturellement au traitement des données XML en ignorant les bons modèles de séquence, via une extension générale via des objets extracteurs. Dans ce cas, l’outil de compréhension aide à formuler la requête. Ces fonctionnalités rendent Scala idéal pour développer des applications telles que des services Web.
Scala est équipé d'un système de type expression qui impose statiquement l'utilisation d'abstractions de manière sûre et cohérente. Plus précisément, le système de types prend en charge :
Classe générique
Annotation de déformation
Supérieur et inférieur limites de type
Classes internes et types abstraits en tant que membres d'objet
Types composites
Explicitement typés auto-référence
Paramètres implicites et conversions implicites
Méthodes polymorphes
Inférence de type signifie utilisateurs vous n'avez pas besoin d'annoter le code avec des informations de type redondantes. Ensemble, ces fonctionnalités constituent une base solide pour une réutilisation sécurisée des abstractions de programmation et une extension sécurisée des logiciels.
En pratique, le développement d'applications spécifiques à un domaine nécessite souvent des extensions de langage spécifiques à un domaine. Scala fournit une combinaison unique de mécanismes de langage qui facilitent l'ajout fluide de nouvelles constructions de langage sous forme de bibliothèques.
Dans de nombreux cas, cela peut être fait sans utiliser d'outils de métaprogrammation comme les macros. Par exemple :
Classes implicites : permettent d'ajouter des méthodes d'extension aux types existants.
Interpolation de chaînes : les utilisateurs peuvent l'étendre avec des interpolateurs personnalisés.
Scala est conçu pour bien interopérer avec les environnements d'exécution Java (JRE) populaires. En particulier, l'interaction avec le langage de programmation Java orienté objet traditionnel est aussi fluide que possible. Les fonctionnalités Java plus récentes telles que SAM, lambdas, annotations et génériques ont des analogues directs dans Scala.
Les fonctionnalités Scala qui n'ont pas d'analogues Java, telles que les paramètres par défaut et les paramètres nommés, sont compilées aussi près que possible de Java. Scala a le même modèle de compilation que Java (compilation séparée, chargement de classe dynamique) et permet d'accéder à des milliers de bibliothèques existantes de haute qualité.
TODO Une fois toutes les traductions terminées, les liens pertinents dans le texte seront remplacés
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!