0% ont trouvé ce document utile (0 vote)
127 vues4 pages

Java CHENFOUR

Transféré par

ayat.malak365
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
127 vues4 pages

Java CHENFOUR

Transféré par

ayat.malak365
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd

11:34 05/01/2017******Programmation oriente objet******** :

---> Invoquer un constructeur de class Mere avec parametres :


ExtendedPoint::Extended(....):Point(x,y){.....}
---> Utilisation une methode Deja dans Classe mere : void Extended::print()
{.....Point::print();....}
---> Affectation entre objet de meme type(meme classe): static : Normal--> Point
p2=p1; [Link](); // Dynamique : Génere un constructeur de copie : Point(Point
&p);
---> Affectation : Fille-->Mére : STATIC :ExtendedPoint p1(10,20,30); Point
p2=p1; // les donnes de fille sont perdus.
Fille-->Mére : DYNAMIQUE :..*();..*p2=p1//Donns conserve

***Declaration de la méthode comme : virtual void print(); // Daans


classe Mére//****

---> Affectation : Mére-->Fille : STATIC :Casting(ca maarche pas)/+Surcharge de


l'operateur=(Possible !!) + constructeur de copie // Dans classe fille !!
Mére-->Fille : DYNAMIQUE :n'est possible si on utilise le
casting.

******JAVA (Affectation)*****:

EN java les affectations entre classe mere et fille :


--> Fille -->Mére : Fille f=new Fille(..); Mére m=f;
--> Mére -->Fille : //Transtypage(casting),Objet Mére pointe effectivement un
objet Fille// Fille f1=new Fille(..); Mére m=f1//objet mére pointe fille; Fille
f2=(Fille)m;

****TYPES PRIMITIVES**** :
entiers : byte 10 , short 2 ,int 4, long 8
reel: float 4 ,double 8
char: 2
4 niveau de visibility :: public , default public // dehohrs package ni plus
accesible// , private , protected // accebile par class fille meme s'elle dehors de
package
A la place d'etoile on aura une clasee String dans JAva!!
Préférable d'utiliser double par float !!
Des solutions :
private float pu =20.5f // ....pu=(float)20.5 // Ou utilisons des doubles
!!
--> LE role de compilateur s'est d'agir la classe crée par default , il intervient
pour cree un lien par classe Object , definie dan package Lang !!
--> Possibilite de concatener n'importe qoui avec une chaine exp : String s =
"Produit : " +p1 ;
--> ToSTring(): il retourne une forte de chaine , il retourne le visage de l'objet
, intervenir par defaut par la classe mére Object !!
--> Si ceci nous nous plait pas on doit redéfinir ToString()
--> La classe Object nous intervenir des methodes et des definitions par defaut
mais on peut redefinir des autres !!
--> @Override :// anotation implemente dans JDK5// il nous dit que nous entrain de
redefinir correctement !!
--> Mettre une propriete associer a beaucouup de methodes on doit le declarer
comme Globale , Propriete de Classee :D !!
--> private static '...': sotcker dans la classe mére !! ----> il peut etre
accessible sur La classe ---> donne static son acceseur ca va mieux d'etre
static !!
--> Classe n'est pas instanciable : Constructeur de la classe privée(Private) !!
--> public final double MAX-VALUE = 20 ; //constante intouchable !!//
--> Methode static ne peut pas acceder a des autres non static "pas de this"!!
--> Constructuer jamais ma3mero yqed ykon static !!
--> Une solution pour ne peut avoir tt static : utilisons "new" !

*****L' HERITAGE****** :
--> Pour manipuler l'heritage : " public static Extendedpoint extends Point"
--> Invoquer au moins un constructeur de la classe mére par défaut c'est : super()
// appel expilicite !! // Le premier comme instruction dans le constructeur//
--> La légature est tjrs realisé dynamiquement pas de virtuel dans java !!
--> Affectation fille-->MEre : "Point p1 = new ExtendedPoint(20,30,[Link]);"
"ExtendedPoint f = new....(10,20,new
Color(10,0,1508));
"Point m = f;" " [Link]();"
--> Possibilite de connaitre tous dynamiquement , tous les infos sur nos objets et
nos classes, c'est l'introspection : "[Link]" getClass........" !!
--> Affectation mére-->fille : " PAs d'affectation : f1 = m1 "; Java nous offre un
controleur de type static : il verifie que le type est coherant , controleur de
type dynamiq : lors d'execution il verifie s'elle est correcte!!
Solut : On peut l'avoir par 2 condition : semantique(l'objet caste
doit etre caste paar l'objet qui se pass) et syntaxique(casting) !!
--> TOus est un objet dans java sauf les types primitives !!
--> Donne primitive (les 8 :) : On l'associe par des classes Wrappers : Ex :
Integer p = new Integer(20); //L'autoboxing //
--> Vector v = new vector(); [Link]("une chaine"); //equivalence// [Link](new
String("une autre chaine"));
--> Ex : int i = new Integer(50); //L'inboxing//

******Les Tableaux en java******** :

--> [Link](v) ; for(i)0;i<[Link]();i++){[Link]("-" +


[Link](i));}
--> La classe Vector add dialieha lent 3la la Classe linkedList , Par contre la
boucle d Vector pluuuuus rapide 3la dial LinkedList !!!
--> Genericité : Vector<Point> v new vector<>(); // foreach--> for(Point p : v)
{[Link]();}
--> Definition d'unn tableau : Que ls tableaux dynamiique : type t[];
Instanciation d'un tableau : int t[] = new int[5] // les tableaus cas particulier
des objets ;
--> remplir un tableau aleatoirement : t[i] = (int)([Link]() *900) +100;
//entre 100 et 1000;
--> ajouteer un elemet à un tableau : on utilise vector qui le gere implicitement
-->Insatancier et met des valeurs dedans : t = new int[]{12,14,15}
--> [Link] nbre de ligne num 1 , m[i].length:nbre de ligne numer 2
--> t = new LinkedList[3]; ---> une boucle apres on met t[i]=new LinkedList<>();
--> t[0].add(new Pointt);
--> Stringt[]=new String

*****Interfaces****** :

--> Methode non definie :Partielement abstraite(abstract): des mothodes absraites


et des methodes contraites //
:Classe Entieremnt(totalement) abstraite , ne peut po
contenir des donnes(sont automatiqmt des constantes) : "Interface": public
interface
--> LayoutManager est une interface : // On utilise les interfaces : 1: Pour
deliguer des taches ,
2: Lorqsue le comportemnt est
abstrait , 3: ne n'avons po des structures de donnes connus.
--> Jpanel content (JPanel)etContentPane(); // BorderLayout
--> Une classe implemente une inteface(classe inetrface),Par contre une interface
peut etendre une interface(interface interface).
--> Fournir une implementation : ActionListner
--> Rendre les bouttons reactifs : ** a chaque button un écouteur(Listner)
different :** Jbutton src = (Jbutton)[Link]();
[Link]([Link]()); **
** ensemble de button associe le meme ecouteur :
**[Link]("actionPerformed()"); **
--> public Class Test extends JFrame implements
ActionListener,MousseListener,.... : chaque class peut implementer une interface !
--> Associe un seul Listener pour rendre les buttons dans une classe operationel :
public void ActionListener(AcLisnr Listener) : for (... getcompenetcount) / Jbutton
b = ()getcompenet(i);/[Link](Listeenr); //public void
actionPerformed(ActionEvent e)
--> public void addActionlistner(String label,Acionlistn Listenr) { Jbutoon b =
buttons
--> Hashtable indexe par ce qu'on veut : "private Hashtable<String,Jbutton> buttons
Indexer les buttons par leur text !! //[Link]([Link](),b);
--> Evenement de clavier : ***KeyListener(Keyevent e) :
Keypresed,keyReleased,KeyTyped***
--> //Bloquer un caractere : setKeychar((char)0);
--> Un adapteur pour MouseListener && KeyLister (sans utiliser une
implementation) : KeyAdapter : public class ... extends Keyadapter
--> MouseListener : ** (Plus utilise)mouseclicked "moussepressed &&
mouseEntered" ,mouseEntered,mouseExited,moussepresssed,mousseReleased **

*******Les Interfaces : "composition et LayoutManager"******** !!


package [Link];
import [Link]
--> AWT abstract windowing 4 types de fenetres :
JFRame(fentre ordinaire pou l'utilisateur avec decort) , JDialogue(extrait de
JFrame : fenetre fille) , JWindow(fenetre plate vierge) , JApllet(fenetre non
autonome,Meme fct de JFrame)
--> Classe component Hérite DE CLasse Objet , et CLasse container hérite de classe
compenent , et container peut contenir des compenents (agregation) !!
--> Jcompenent La classe mere de tous les compenent dans "SWING" ,
--> Exit_On_CLOSE, setsize , setlocation , setbounds : definit dans la claase.....
--> JPanel :un panneau , JLabel : une etiquette , JTextField : zone de texte ,
JButton : Boutton , les composants d'un panneau : [Link]() ; accrocher un
panneau :setContentPane(p1);

North
--> LayoutManager : setLAyoutManager(new Gridelayout(nbligne,nbcolon)
/BorderLayout()) ----> wast center East

South
--> Accelerer : public class ButtonPanle extends JPanel { public ButtonPanel(int x
,[Link]([Link]());g ...labels) // ... ;n
bre de parametre //

*****FORMULAIRE***** :

--> Alignement,espacement vertical,espacementt horizontal :


setLayout(FlowLayout([Link].20.0);
--> Donner une taille préferée a notre Jframe(Bricolage): setResizable(false);
--> BoxLayout : 2 parametres --> le premier precis le panneau qu'on va se pointer ,
le deuxieme precis si c'est horizontlmnet ou verticalment : public Form()
{ setLayout(new BoxLayout(this,BoxLAyout.Y_AXIS));}
--> JLable l1 = new Jlabel(label); [Link](new DImension(arg0,arg1);)
--> Recupere la zone de texte : getcompenent(..);
--> Bordure : [Link]([Link]());
--> Combinaison de bordure et un titre : this();
[Link]([Link]([Link]
([Link]),title));
--> Pour faire un menu : **3 classes a faire** : Jmenu contient des menu et des
menus contient des Items // JMenuBAr=new JMenuBar(); // JMenu m1 = new
JMenu("File"); // UNE théme : JMenuItem i1 = new JMenuItem("New"); // Lors
d'execution on genere : setJMenuBar(m);
--> La strucutre de donne qui nous permettre de cree tous a la meme fois : String
labels[][]={ {"File","New",....},{"Edit","copy",...} }; // Menu m = new
Menu(labels);
--> Cree une icone : ImageIcon = new ImageIcon(iconFolder + t[i].toLowerCase() +
suffix);

Vous aimerez peut-être aussi