Mini projet POO [Fermé]

Signaler
Messages postés
5
Date d'inscription
dimanche 20 décembre 2015
Statut
Membre
Dernière intervention
6 janvier 2016
-
Messages postés
5
Date d'inscription
dimanche 20 décembre 2015
Statut
Membre
Dernière intervention
6 janvier 2016
-
Bonjour ,svp j'ai besoin des exemples des mini-projets POO java

2 réponses

Messages postés
279
Date d'inscription
dimanche 9 novembre 2014
Statut
Membre
Dernière intervention
3 janvier 2017
17
Le plus courant, pour utiliser/apprendre le polymorphisme de la POO, c'est de faire un programme qui gère un zoo.
Par exemple :
Tu as une classe abstraite Terrain, qui représente tout ce dont tu as besoin pour un terrain, par exemple sa taille, sa forme, etc...
et elle se fait étendre (extends) par des terrains que tu créés, par exemple :
public class Marecages extends Terrain{
public Marecage(int tailleX, int tailleY, String nom){
super(tailleX,tailleY,nom);
}
}


et d'autres classes, par exemple Animaux, Nourriture, Magasins... dans le même style.

Après je ne sais pas ton niveau en java, et si tu souhaites une interface graphique ou non.
J'espère t'avoir été utile, et je suis tout ouvert à d'éventuelles questions de ta part.

Personnellement, je pense que le Zoo est la façon d'apprendre la base de la POO (le polymorphisme), et étant en DUT informatique, on a déjà eu de nombreux projets de style zoo, et on en aura encore !
Messages postés
5
Date d'inscription
dimanche 20 décembre 2015
Statut
Membre
Dernière intervention
6 janvier 2016

Merci beaucoup; je suis débutante en java ; dans le mini-projet je dois obligatoirement utiliser l'héritage et au moins trois classes en plus d’une classes exécutable
Messages postés
279
Date d'inscription
dimanche 9 novembre 2014
Statut
Membre
Dernière intervention
3 janvier 2017
17
Salut, alors c'est l'idéal, pour commencer tu pourrais faire un executable, dans lequel il y a une classe (Animal par exemple) qui est abstraite(public abstract class Animal et contient de ce fait minimum une méthode abstraite (public abstract void affiche()) par exemple.
Ce que tu dois savoir :
une classe abstrait ne peut pas être instanciée, donc pas de Animal a = new Animal();
tu dois faire une autre classe, par exemple Chat
public class Chat extends Animal{
@Override
public void affiche()[
System.out.println("coucou je suis un chat");
}
public int getDix(){
return 10;
}
}

Comme tu peux le remarquer, cette classe étend la classe Animal, de ce fait elle récupère toutes les méthodes qui sont définies dans Animal, et aussi les attributs.
La méthode affiche étant abstraite dans la classe Animal, tu es obligée de la définir dans la classe Fille (définir = la déclarer et lui donner un code), sinon, bah ça compile pas :p

Si tu as un constructeur spécial pour la classe Animal, par exemple : public Animal(String nom, boolean aFaim)
Tu peux l'utiliser dans la classe Fille (ici Chat) comme ceci:
public Chat(){
super("Le minou", true);
}

Comme tu peux le voir, tu utilise le constructeur de la classe Mère (Animal) avec le mot clé super
Ce mot clé doit être obligatoirement à la première ligne du constructeur de la classe Fille.

Bref, le polymorphisme, soitla base de la POO, consiste à utiliser les classes Meres.
Je te donne un exemple rapide, prenons deux classes:
public class Chat extends Animal
public class Chien extends Animal

tu peux faire ceci :
Chat chat = new Chat();
chient chien = new Chient();
System.out.println(chat.getDix());

Mais comme ces classes étendent Animal, tu peux maintenant faire ceci,
Animal chat = new Chat();
chat.affiche(); // est possible
/* TU NE PEUX PLUS FAIRE */
System.out.println(chat.getDix());
/* car cette méthode appartient à la classe Chat, et non à la classe Animal */
Animal chien = new Chient);

Sache que les méthodes accessibles lorsque le type est Animal, sont seulement celle de la classe Animal, et les abstraites bien sûr.
Alors que les méthodes accéssibles lorsque le type est Chat, sont celles de la classe Animal, et celles de la classe Chat.
Tu peux aussi faire ceci :
Animal chat = new Chat();
Chat c = (Chat) chat;

System.out.println(c.getDix());
OUBLIE QUE CA EXISTE, ça rend le code incompréhensible.

Pour le point culture :
Tu ne peux faire qu'un seul extends de classe en Java, et autant d'implements d'interfaces que tu veux. En C++ tu as la possibilité d'en faire autant que tu veux.
Tu peux toujours faire un extends d'extends cependant (ce que je te déconseille pour ce projet si c'est la première fois que tu fais des extends)


Hésite pas à poser des questions si tu as des soucis ! Et Désolé du roman :p
Messages postés
5
Date d'inscription
dimanche 20 décembre 2015
Statut
Membre
Dernière intervention
6 janvier 2016

Bonjour ,
Svp je suis en train de préparer un mini-projet sous le thème '' gestion d'un magasin des vêtements prêt à porter ''
j'ai déjà crée la classe mère nommée ''Articles''
avec un constructeur dont les arguments sont:(type article,prix d'achat, prix de vente, fournisseur, )
j'aimerais bien que vous m'aidiez pour développer cette proposition afin d'ajouter des classes filles .
merci .