Rechercher : dans
Par :

[java] methode clone()

Dernière réponse le 26 mai 2005 à 14:25:35 karine, le 25 mai 2005 à 16:39:00 
 Signaler ce message aux modérateurs

Bonjour,

J'essayes d'utiliser la méhode clone() sur un InputStream et j'ai que des erreurs !

J'ai essayé en écrivant une classe NInputStream, en écrivant une classe qui redéfinit clone, y a rien qui marche.

Est-ce qu'il y aurait quelqu'un d'assez gentil pour m'expliquer cette ****** méthode ? et comment l'utiliser ?

Merci beaucoup !

Meilleures réponses pour « [java] methode clone() » dans :
Java: Les méthodes Voir La notion de fonction et de méthode On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instruction par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs...
Inverser les éléments d'un tableau -Récursivité- VoirVoici une procédure récursive qui permet d’inverser les éléments d’une partie d’un tableau compris entre la position p et n : Procedure Inverser (Var t : Tab; p, n : Integer); Var aux : Real; Begin If p < n Then ...
Java - Premier programme VoirPremière application avec Java La première chose à faire est de créer un simple fichier texte (sans mise en forme) et de taper les quelques lignes suivantes : // Votre premiere application en Java class FirstApp { public static void main...
Méthode PERT VoirMéthode PERT La méthode PERT est une technique permettant de gérer l'ordonnancement dans un projet. La méthode PERT consiste à représenter sous forme de graphe, un réseau de tâches dont l'enchaînement permet d'aboutir à l'atteinte des objectifs...
Java - L'accessibilité VoirLa notion d'accessibilité Le concept d'accessibilité (généralement appelé encapsulation) définit la possibilité qu'a le concepteur d'une classe de restreindre l'accès à certaines données, ou plus généralement à certains éléments (méthodes, classes,...

1

jebok, le 25 mai 2005 à 18:48:59

Lorsque tu redéfinis la classe NInputStream il faut écrire :

public class NInputStream extends InputStream implements Cloneable

Ensuite, lorsque tu as un objet in1 de type InputStream, tu fais :

NInputStream in2 = ((NInputStream) in1).clone();

Si ca ne fonctionne pas, essaie cela :

NInputStream in2 = (NInputStream)(((NInputStream) in1).clone());

Bonne chance et tiens moi au courant

Répondre à jebok

2

karine, le 26 mai 2005 à 09:47:03

Bonjour jebok !

J'ai créé la classe NInputStream, mais qu'est-ce que je mets dedans?
J'ai une erreur
Sources/NInputStream.java:4: NInputStream is not abstract and does not override abstract method read() in java.io.InputStream
public class NInputStream extends InputStream implements Cloneable {
^


merci

Répondre à karine

7

 jebok, le 26 mai 2005 à 14:25:35

Rajoute une méthode read() dans la classe NInputStream sans rien mettre à l'intérieur :

public int read() {
}


ou éventuellement :

public int read() {
try{
} catch (IOException e){}
}


Et si vraiment il n'accepte pas, alors déclare ta classe NInputStream en tant que fille non pas de la classe InputStream mais de la classe FileInputStream ou éventuellement de la classe ObjectInputStream.
Ces 2 dernières ne sont pas abstraites donc pas besoin de réécrire la méthode read()

Tiens moi au courant.
Bonne chance

Répondre à jebok

3

mamiemando, le 26 mai 2005 à 11:16:15

D'après ce qu'il dit tu as créé une méhode read. Et tu ne peux pas la remplacer. Trouve lui un autre nom comme "lire". Tu n'aimes pas mettre des noms de fonction en français ?

Répondre à mamiemando

4

karine, le 26 mai 2005 à 11:18:18

Non, au contraire, j'aime bien mettre les noms en français ;-)

J'ai créé aucune méthode read(), dans la classe NInputStream, j'ai rien mis du tout.

Répondre à karine

5

Pool Orion, le 26 mai 2005 à 13:19:41

Salut,

Désolé mais tu ne pourras jamais réaliser un clone d'une class abstraite.

Par définition, le clone est réalisé sur un objet et comme il est impossible d'instantier une class abstraite ...
Pool Orion

Répondre à Pool Orion

6

karine, le 26 mai 2005 à 13:30:51

Merci Pool Orion, je vais essayer autre chose alors.

Répondre à karine