killahbeez68
Messages postés23Date d'inscriptionmercredi 8 novembre 2000StatutMembreDernière intervention12 avril 2005
-
4 mars 2005 à 10:24
killahbeez68
Messages postés23Date d'inscriptionmercredi 8 novembre 2000StatutMembreDernière intervention12 avril 2005
-
4 mars 2005 à 12:07
Hello tlm,
J arrive pas a saisir la diférence entre Importer une class (d'un autre package of course) et heriter d'une classe ( qui se trouve forcement dans le meme package? je sais plus)
Tout ceci dans le but de pouvoir acceder au methode public...
Ex :
Jai un class A qui se sert des methode de la classes B
1 cas) J importe la class B avec Import class_path.B;
Et j utilise la methode dans la classe A comme cela : B.methode()
->La jai une erreur , la methode() de la class B n est pas statique, je comprends pas ce ke ca ve dire...
2 cas)J fais un public class A extends B {
en utilisant directement la methode() de la class B et la tout ce pass nikel !
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 200611 4 mars 2005 à 11:32
Salut
Une fois un objet instancié tu peux l'utiliser comme tu le souhaite !!!
Tu peux aussi le passer en tant qu'arguments à une autre méthode pour
qu'elle puisse l'utiliser à son tour ...
"Heritage" ekivo a "import + instanciation de la class importé"
methode()
objet.methode()
En fait héritage et import ne sont pas du tout lié !!!! L'héritage est
simplement le fait de spécialiser un objet autrement dit d'hériter
d'une classe mère.
L'import et la notion de package en revanche vont de paire ! La package
est la représentation en Java de la notion de namespace en C++ ou C#.
Cela permet d'éviter les conflits de noms et également de structurer un
code en module pour s'y retrouver plus facilement. La réprésentation
physique d'un package est un répertoire ... Si tu crées une classe
Window en Java tu verras qu'elle existe déjà (package java.awt je
crois), hors si tu veux quand même créer une classe nommée Window tu
vas avoir un problème ... comment dire au compilateur que c'est ta
classe Window et non celle de l'API java AWT que tu veux utiliser ???
Simplement tu crées ta classe dans un package (ex : abc.def.Window) et
pour dire au compilateur que c'est ta classe qu etu veux utiliser tu
vas mettre :
import abc.def.Window;
et lorsque tu vas faire :
Window w = new Window();
w.display();
Tu vas utiliser ta classe et non celle de AWT ...
J'espère que tu as mieux compris maintenant ...
Pour résumer, le fait de faire un import est comme le #include du C,
c'est de dire au compilateur que tu utilises tel classe et pas une
autre.
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 200611 4 mars 2005 à 10:38
Salut
A mon avis, tu as encore à un peu de chose apprendre (le terme
assimiler me paraît plus approprier !) car je crois que tu n'as pas
bien compris la POO (Programmation Orienté Objet) dont l'héritage, les
modificateurs Java (static, fianl, private, ..), les mots clé (import,
extends, ..)
Le mot clé import sert simplement à dire que tu veux utiliser une
classe issu d'un autre package (si ta classe est dans le même package,
pas besoin de faire import sauf si cela t'amuses !).
Le mot clé extends sert à dire qu'une classe hérité d'une autre (la
classe mère) et que donc par conséquent celle-ci est appelée classe
fille.
Ensuite t'as plus grosse c'est de n'avoir pas bien compris les objets :
pour pouvoir appeler une méthode d'une objet il te faut l'avoir créé
auparavant avec le mot clé new :
MaClasseA obja = new MaClasseA();
obja.uneMethode();
or tu fais directement :
MaClasseA.uneMethode(); sur un objet qui n'existe pas ...
Avec le mot clé statique cela sera différent mais avant d'utiliser le
mot clé static, regarde un peu les tutoriaux de bases su rle langage
Java ou mieux achète toi un livre dont je te recommande : 'Au coeur de
Java volume 1'