ECLIPSE Tutorial IDE JAVA - Créer des relations entre les classes


Bien que non lié à la suite du dernier exercice est un élément qui doit être mentionné. Nous avons vu plusieurs occasions où ECLIPSE code généré. Dans le commentaire de code:

// TODO généré automatiquement stub constructeur




être inclus. Comme commentaire ne semble pas très important, mais ne ont pas un usage particulier. Le mot TODO déclenche Eclipse pour créer un rappel que plus de travail doit être fait au point dans le code suivant il. ECLIPSE TODO utilisé pour générer une tâche inachevée. Pour afficher les activités vont à Fenêtre> Afficher la vue> Tâches.

Les développeurs peuvent créer des rappels de tâches pour eux-mêmes. Dans une tâche prochain tutoriel sera couvert détails administratifs.

Le but de TODO Commentaire

Le Groupe Voir

Prequel to Tutorial

Ce tutoriel est basé sur le travail effectué dans les didacticiels

  • "IDE Eclipse -" premières méthodes d'essai "- Introduction à Testez Driven Design (TDD)"
  • "Eclipse - Tutorial Ajout d'une classe pour le paquet après la création de l'épreuve."

Résumé de référence d'application

agence de location de voitures Chipmunk a un certain nombre de voitures qui peuvent être loués à tout d'un certain nombre d'entreprises clientes. Pour savoir quelle entreprise a quelle voiture nous nous appuyons sur la relation entre le nom de la société de classe et la classe billingAddress modèle de voiture.

Nous continuons d'utiliser l'CarRentalTest. Démarrage du projet ouvrir le projet, allez dans le dossier de test et ouvrez le CarRentalTest.

À partir d'un test, testGetCompanyName, qui vise à obtenir le nom de la société de louer une voiture de Chipmunk, il existe quelques méthodes pour créer.

La méthodologie "premier test" nécessite le codage de deux méthodes:

  • Procédé setBillingAddress, et

  • Procédé getBillingAddress

Procédé setBillingAddress et méthodes getBillingAddress. ECLIPSE "solution rapide" peut rendre la création de ces méthodes dans la voiture de classe.

modificateurs d'accès: que signifient-ils?

Les modificateurs d'accès:

public - toute catégorie peut utiliser la méthode

privé - que cette classe a accès

personne - l'accès est limité aux méthodes de l'emballage dans lequel elle est contenue

Une relation a été créée entre la classe de voiture et le billingAddress de classe.

La classe de voiture est dit dépendent de la billingAddress de classe, depuis le billingAddress est désigné comme un type au sein de la classe Car (comme la valeur de retour de getBillingAddress, billingAddress et la valeur passée à Ba2 setBillingAddress.

Le rapport est considéré comme l'un-à-un à partir d'une voiture peut être loué par une entreprise à la fois.

Démarrage de la méthode d'essai - testGetCompanyName ()

Êtres méthode de test avec le code que nous avons vu auparavant. Nous créons deux objets un objet de voitures et un objet billingAddress comme on le voit dans le fragment de code suivant.

Voitures et billingAddress Création d'objets

Quelles actions sont tests

La figure montre les actions suivantes que la prochaine exécution:

  • nous avons besoin de créer une méthode pour définir le nom de la société qui loue la voiture et ajouter cette information à la voiture de classe
  • obtenir les informations (nom de l'entreprise) sur la base du nom de la location de voiture
  • Enfin, nous avons les assertEquals qui vérifie la valeur actuelle du nom de la société contre le nom de la société prévu.

Nous avons utilisé la «solution rapide» pour créer ces méthodes deux stub dans la classe de voitures. Maintenant va ouvrir la classe de voitures.

Essentiellement, l'encodage des CarRentalTest est complète à l'exception d'un code d'amélioration qui sera achevé à la fin de ce tutoriel.

Le code complet pour les tests

Achèvement des méthodes de la classe Voiture de codage

L'ouverture du fichier classe Car commencer codant pour les deux méthodes, deux sont assez simples mais illustrent plusieurs points importants.

Le réglage du nom de la société dans le domaine des soins par la méthode setBillingAddress est la suivante:

public void setBillingAddress (billingAddress BA2) {

this.billingAddress = BA2;

Remarque TAHT billingAddress ne est pas défini comme un champ dans la classe de voitures. ECLIPSE "solution rapide est utilisé pour créer ce domaine.

Vous avez créé un privé, car il n'a utilisé dans cette classe. Avis dans le ECLIPSE généré déployer le nom de classe commence par une lettre majuscule, tandis que le nom de domaine commence par une lettre minuscule:

BillingAddress billingAddress privé;

Ce est la façon dont il est une bonne pratique de toujours commencer les classes avec une majuscule, tandis que les champs et les méthodes devraient toujours commencer par une lettre minuscule.

Un autre point sur le l'accès aux modificateurs , puisque nous voulons que tous les champs définis pour être accessible à cette classe et depuis ont été définis en tant que modificateurs privés ou publics Aceess sommes pas nécessaire. Ils peuvent être laissés.

Plus le nom de la société ne est de retour la valeur de ce champ, l'adresse de facturation:

publique billingAddress getBillingAddress () {
billingAddress revenir;

Le code pour les deux méthodes

Succès!

Après avoir enregistré le fichier, passez à CarRentalTest et sélectionnez Exécuter> Exécuter en tant que> test JUnit. Le test est effectué correctement.

test JUnit de sortie

il existe une relation entre les classes

Dans cet exemple, nous avons créé une relation entre la classe de voiture et le billingAddress de classe.

Formellement, il semble que la classe Car est ça dépend billingAddress de classe comme billingAddress est désigné comme un type dans la classe de voitures, l'companyName de terrain.

Le rapport est également dit être entre deux personnes depuis une machine peut avoir qu'une seule société à un moment de la location.

Un code d'amélioration

Nous voyons la méthode testGetCompanyName.

Nous utilisons deux lignes de code pour obtenir le nom de la société. Ce est inutile.

// Retourne le nom de la société qui loue la voiture

BillingAddress testBillingAddress c2.getBillingAddress = ();
Chaîne testCompanyName testBillingAddress.getCompanyName = ();

Les deux déclarations précédentes peuvent être combinées en une seule. Mais, vous pourriez dire, ce est un programme de travail! Sont affreaid que si je change de toute façon je ne me souviens pas comment le changer si quelque chose se passe mal. Je aimerais être en mesure de comparer avec ce code, si je ai besoin de déboguer mon changement.

Eh bien, vous pouvez toujours copier et coller le code pour remplacer un fichier temporaire, mais ECLIPSE a une meilleure méthode.

Il suffit de sélectionner le code pour être modifié pour utiliser contrôle de bouton de fourmi (CNTL) avec la barre oblique (/) et Eclipse va changer les instructions dans les commentaires.

Cette combinaison de touches peut être activé. Un autre élément CNTL-/commentaires seraient en retrait aux états.

Ensuite, regardez le changement de code.


Le projet de Code Changer

Le champ de testBillingAddress est vraiment inutile.

Si vous commencez à taper comme une déclaration, une fois que vous tapez un point à la fin de la méthode terme getBillingAddress (). ECLIPSE présente un panneau qui inclut la méthode de suggestion GetCompanyName (). La déclaration qui résulte est:

Chaîne testCompanyName c2.getBillingAddress = () GetCompanyName ().

qui peut être interprété comme suit:

utiliser la méthode c2.getBillingAddress () pour obtenir un objet BillinAddress puis utiliser la méthode GetCompanyName pour récupérer le champ Nom.

Conseils pour Eclipse Déclaration d'achèvement

Wrap Up and What Next

Dans ce tutoriel, nous avons créé une relation entre deux classes et "premier test" la méthodologie utilisées dans notre création de test.

Introduit de nouveaux concepts: méthode d'accès, la dépendance de la classe.

L'idée que la // TODO commentaire a des implications pour la création d'actifs identifiables a été mentionné ci-dessus. Il y aura plus sur les activités d'exercices futurs.

Une éclipse de truc, "CNTL-/a été présenté comme un moyen de passer le code dans une source extérieure.

Quoi de neuf sur Suivant. .nous apprendre à gérer toutes les preuves dans un test d'invocation.

La plupart du prochain exercice se concentrera sur les listes, des listes d'objets dans lesquels le nombre d'objets est connue à l'avance. Dans notre location de voiture économique, nous ne pouvons pas vraiment déterminer le nombre maximum de voitures ou des clients peuvent avoir. Eclipse fournit une classe Java pour créer et manipuler des listes.

Noter cette Tutorial pour plus de clarté et d'exhaustivité, merci!

Évaluez-moi! 1 2 3 4 5 Votre vote pour ce tutoriel

(0)
(0)

Commentaires - 0

Sans commentaires

Ajouter un commentaire

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Caractères restants: 3000
captcha