OVH Cloud OVH Cloud

Self Learning - Interfaces & Classes

5 réponses
Avatar
Latyr_Dev
Bonjour

AudioClip est une interface de java.applet
Pourtant dans le code suivant qui est correct, AudioClip est utilis=E9=20
comme une classe.

Une mae charitable pourrait elle m'expliquer ?

Merci d'avance


********** Debut du code **********
// The ImageApplet application

import java.applet.*;
import java.awt.*;

public class ImageApplet extends Applet
{
=09private Image theImage;
=09private AudioClip theSound;
=09
=09public void init()
=09{
=09=09this.theImage =3D this.getImage(this.getDocumentBase(),=20
"javalogo.gif");
=09=09this.theSound =3D this.getAudioClip(this.getDocumentBase(),=20
"lol.au");
=09}
=09
=09public void start()
=09{
=09=09this.theSound.play();=09
=09}
=09
=09public void stop()
=09{
=09=09this.theSound.stop();=09
=09}
=09
=09public void paint(Graphics g)
=09{
=09=09g.drawImage(this.theImage,10,10,this);
=09}
}

5 réponses

Avatar
no.bcausse.spam
Latyr_Dev wrote:

Bonjour


Bonjour,


AudioClip est une interface de java.applet


ok,

Pourtant dans le code suivant qui est correct, AudioClip est utilisé
comme une classe.


comme un objet, stocké dans une variable d'instance de type AudioClip


Une mae charitable pourrait elle m'expliquer ?



ou est le probleme?

ne pas melanger objet applet qui implemente AudioClip
et un applet qui possede un AudioClip

Merci d'avance


de rien
--
bruno Causse
http://perso.wanadoo.fr/othello

Avatar
Latyr_Dev
In article <1gg7equ.1sk2bor10cq11cN%,
says...
AudioClip est une interface de java.applet
ok,


Pourtant dans le code suivant qui est correct, AudioClip est utilisé
comme une classe.
comme un objet, stocké dans une variable d'instance de type AudioClip

Je ne comprends pas ce point. Est il possible que vous soyez plus

explicite ?
Merci d'avance.

Latyr


Avatar
no.bcausse.spam
Latyr_Dev wrote:

Pourtant dans le code suivant qui est correct, AudioClip est utilisé
comme une classe.
comme un objet, stocké dans une variable d'instance de type AudioClip

Je ne comprends pas ce point. Est il possible que vous soyez plus

explicite ?


AudioClip est une interface, n'importe quel objet peut implementé cette
interface (pas seulement un objet applet).

this.getAudioClip(this.getDocumentBase(), "lol.au"); cree un objet que
l'on ne connait pas mais qui implemente l'interface AudioClip (c.a.d qui
defini les methodes de celle ci) et permet donc son utilisation en le
"typant" AudioClip

ai je ete clair?

--
bruno Causse
http://perso.wanadoo.fr/othello



Avatar
Latyr_Dev
In article <1gg8vrm.rjeufj61ac3kN%,
says...

AudioClip est une interface, n'importe quel objet peut implementé cette
interface (pas seulement un objet applet).

this.getAudioClip(this.getDocumentBase(), "lol.au"); cree un objet que
l'on ne connait pas mais qui implemente l'interface AudioClip (c.a.d qui
defini les methodes de celle ci) et permet donc son utilisation en le
"typant" AudioClip

ai je ete clair?




Je suis conscient de l'effort d'explication mais je dois être buté car
je ne saisi toujours pas tout.
Et plus particulièrement la nature de l'objet créé.
Sachant que j'ai une variable définie par
AudioClip monClipAudio;

Mzrci

Avatar
caussebruno
Latyr_Dev wrote:


Je suis conscient de l'effort d'explication mais je dois être buté car
je ne saisi toujours pas tout.
Et plus particulièrement la nature de l'objet créé.
Sachant que j'ai une variable définie par
AudioClip monClipAudio;

Mzrci


dans une hierachie d'objet (classe/interface)on n'est pas obligé de
connaitre la nature de l'objet pour utiliser les methodes de
l'interface.

ex: je monte dans un objet, qui implemente l'interface "conduite"

interface conduite = aller a droite /a gauche/ avance/ recule

donc je peux me deplacer avec l'objet. mais je ne connais pas cet objet.

un voiture? un jeu video? un caddie de golf ect...

on peut stocker un objet dans une variable d'un type de sa hierachie
(classe ou super classe) ou d'un type des ses interfaces.


bon je ne suis pas le meilleur pedagode :)

d'autres l'expliquent mieux que moi :)