J'ai cherché des infos sur les classes (?) interface, j'ai du mal à
comprendre à quoi ca sert ?
j'ai un programme qui doit utiliser une fonction de traitement du signal (
je luis passe une dizaine de variables et en retour je récupère une valeur
Cette fonction est dans une classe java ( j'ai pas la source
CalculTherm.java ni CalculTherm.class), j'ai un fichier CalculThermInterface
qui possède une méthode public float CalculerThermo(int a, int b, string
zone, .......);
je peux faire quoi avec ? comment puis je créer mon programme main ?
merci
Vincent
ps : j'ai trouvé un exemple d'un programme composé de 3 classes ( main,
interface et definition de l'interface)
du genre somme(int a, int b); pourquoi utiiser une interface et pas
une classe normale ? y pas de rmi ou truc de ce genre
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
julien balas
bonjour,
J'ai cherché des infos sur les classes (?) interface, j'ai du mal à comprendre à quoi ca sert ?
l'interface defini un contrat
si tu ecris
public interface Animal { public void cri() ; }
ca dit que toute les classe qui veulent etre des "Animal" doivent implementer la methode "cri"
si tu cree des classes chiens et chats, tu indique que ce sont des animaux
public class Chien implements Animal { public void cri() { System.out.println("Ouaf!"); } } public class Chat implements Animal { public void cri() { System.out.println("Miaou!"); } }
ca te permet ensuite dans ton programme de manipuler des "Animal" sans avoir besoin de savoir si ce sont des chiens ou des chats, comme ils implements tous les deux l'interface "animal", tu est CERTAIN (et le compilo refuse de compiler si ca n'est pas le cas) que TOUS les obj de type animal auront la methode "cri"
Ce qui te permet d'ecrire ensuite de choses du genre
public class Test {
public static void main(String[] args) { List<Animal> tablo = new ArrayList<Animal>();
tablo.add(new Chien()); tablo.add(new Chat());
for(Animal current : tablo) { current.cri(); } } } Et que ca produise comme resultat Ouaf! Miaou!
au passage, c'est le même mecanisme avec "List" et "ArrayList", "Set" et "Hashset"
Si demain je veut remplacer mon "ArrayList" par un "Vecctor" ou une "LinkedList", je suis sur que ca fonctionnera sans pb. Car toutes ces classes suivent l'interface "List".
Pour revenir a ton exemple, j'imagine qu'il faut que tu ecrive une classe qui implemente "CalculThermInterface"...
-- JB
bonjour,
J'ai cherché des infos sur les classes (?) interface, j'ai du mal à
comprendre à quoi ca sert ?
l'interface defini un contrat
si tu ecris
public interface Animal {
public void cri() ;
}
ca dit que toute les classe qui veulent etre des "Animal" doivent
implementer la methode "cri"
si tu cree des classes chiens et chats, tu indique que ce sont des animaux
public class Chien implements Animal {
public void cri() {
System.out.println("Ouaf!");
}
}
public class Chat implements Animal {
public void cri() {
System.out.println("Miaou!");
}
}
ca te permet ensuite dans ton programme de manipuler des "Animal" sans
avoir besoin de savoir si ce sont des chiens ou des chats, comme ils
implements tous les deux l'interface "animal", tu est CERTAIN (et le
compilo refuse de compiler si ca n'est pas le cas) que TOUS les obj de
type animal auront la methode "cri"
Ce qui te permet d'ecrire ensuite de choses du genre
public class Test {
public static void main(String[] args) {
List<Animal> tablo = new ArrayList<Animal>();
tablo.add(new Chien());
tablo.add(new Chat());
for(Animal current : tablo) {
current.cri();
}
}
}
Et que ca produise comme resultat
Ouaf!
Miaou!
au passage, c'est le même mecanisme avec "List" et "ArrayList", "Set" et
"Hashset"
Si demain je veut remplacer mon "ArrayList" par un "Vecctor" ou une
"LinkedList", je suis sur que ca fonctionnera sans pb. Car toutes ces
classes suivent l'interface "List".
Pour revenir a ton exemple, j'imagine qu'il faut que tu ecrive une
classe qui implemente "CalculThermInterface"...
J'ai cherché des infos sur les classes (?) interface, j'ai du mal à comprendre à quoi ca sert ?
l'interface defini un contrat
si tu ecris
public interface Animal { public void cri() ; }
ca dit que toute les classe qui veulent etre des "Animal" doivent implementer la methode "cri"
si tu cree des classes chiens et chats, tu indique que ce sont des animaux
public class Chien implements Animal { public void cri() { System.out.println("Ouaf!"); } } public class Chat implements Animal { public void cri() { System.out.println("Miaou!"); } }
ca te permet ensuite dans ton programme de manipuler des "Animal" sans avoir besoin de savoir si ce sont des chiens ou des chats, comme ils implements tous les deux l'interface "animal", tu est CERTAIN (et le compilo refuse de compiler si ca n'est pas le cas) que TOUS les obj de type animal auront la methode "cri"
Ce qui te permet d'ecrire ensuite de choses du genre
public class Test {
public static void main(String[] args) { List<Animal> tablo = new ArrayList<Animal>();
tablo.add(new Chien()); tablo.add(new Chat());
for(Animal current : tablo) { current.cri(); } } } Et que ca produise comme resultat Ouaf! Miaou!
au passage, c'est le même mecanisme avec "List" et "ArrayList", "Set" et "Hashset"
Si demain je veut remplacer mon "ArrayList" par un "Vecctor" ou une "LinkedList", je suis sur que ca fonctionnera sans pb. Car toutes ces classes suivent l'interface "List".
Pour revenir a ton exemple, j'imagine qu'il faut que tu ecrive une classe qui implemente "CalculThermInterface"...
-- JB
Laurent Courtin
Bonjour,
J'ai trouvé ça un jour sur ce groupe et je l'ai trouvé intéressant :