? Classes Java définir des objets pour effectuer des tâches de l'application. Dans les projets Java , les programmeurs définissent ces objets en créant des déclarations de classe . Une déclaration de classe décrit les propriétés des instances d'objets de la classe auront , ainsi que des méthodes qu'il mettra en œuvre . Dans la plupart des cas, les programmes Java peuvent créer des objets de toutes les classes avec les déclarations de classe exposées . Toutefois , si une classe est abstraite, elle ne peut pas être instanciée. La mise en œuvre Normalement, lorsqu'un programme contient une déclaration de classe , un autre code peut créer des instances d'objets de la classe décrite en son sein. Lorsque cela arrive, l'objet résultant contiendra les données et mettre en œuvre des méthodes énumérées dans le déclaration de classe. Quand un programme déclare une classe comme abstraite , cela ne peut se produire, comme des objets de la classe ne peuvent pas être créés. L'exemple de code suivant montre déclarer une classe comme abstraite : public abstract class GreatHelper Contrairement aux classes non abstraites , le projet dans lequel ce code semble ne peut pas créer des instances d'objets " GreatHelper " < . br> héritage Bien que les programmes ne peuvent instancier les classes abstraites , ils peuvent les prolonger. Héritage Java permet aux programmeurs d'étendre les déclarations de classes existantes en utilisant la syntaxe suivante: public class SpecificHelper s'étend GreatHelper Quand une classe étend une autre classe, il hérite des méthodes et propriétés de la classe parente . Extension des classes peut également fournir des fonctionnalités supplémentaires en plus des variables et les méthodes héritées superclasse . L'héritage est donc un moyen de fournir une fonctionnalité spécialisée , avec les sous-classes spécialisées au sein d'un domaine de responsabilité plus généralement couvert par la classe parente . Avec une classe abstraite, ce principe d' héritage s'applique aussi , de manière sous-classes de classes abstraites peuvent être instanciés , bien que leur parent ne peut pas . But classes abstraites permettent aux programmeurs de créer des définitions pour des ensembles d'objets qui ont des propriétés communes , mais aussi quelques différences. Les classes abstraites généralement que partiellement mise en œuvre de leurs responsabilités, tandis que leurs sous-classes peuvent fournir une application plus détaillée adaptée à des circonstances spécifiques. Les classes abstraites peuvent contenir des méthodes abstraites et non abstraite . Les méthodes abstraites ne peuvent apparaître que dans les classes abstraites , avec l'exigence que les sous-classes mettront en œuvre ces méthodes , sauf si elles sont trop abstraite. Alternatives La principale alternative à la création abstraite classes Java est la création d'interfaces . Lorsqu'un programme comprend une interface , les déclarations de classes peuvent implémenter cette interface , plutôt que de l'étendre comme dans le cas d'une classe abstraite . Une des fonctions de l'interface , comme un contrat qui définit les méthodes que les classes d'exécution doit fournir, mais sans donner de détails de mise en œuvre lui-même. Une interface peut énumérer méthodes utilisant uniquement leurs contours , avec la mise en œuvre des classes fournissant les détails de la méthode. L'exemple de code suivant illustre une déclaration de classe implémente une interface : public class SomeHelper s'étend HelpfulOrganizer Dans la déclaration d'interface , méthode contours peuvent apparaître comme suit: getWords de chaînes publiques (); Contrairement aux classes abstraites , interfaces ne peut pas fournir tous les détails de mise en œuvre .
|