0% ont trouvé ce document utile (0 vote)
4 vues5 pages

Programmation Orientée Objet en Java

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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues5 pages

Programmation Orientée Objet en Java

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 PDF, TXT ou lisez en ligne sur Scribd

******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(); // Dans 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 // dehors package ni plus accesible // private ,
protected // accebile par class fille même s'elle dehors de package

A la place d’étoile on aura une classe 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 plus rapide
3la dial LinkedList !!!

--> Généricité : Vector<Point> v new vector<>(); // foreach--> for(Point p : v) {[Link]();}

--> Définition d'un tableau : Que ls tableaux dynamique : type t[];

Instanciation d'un tableau : int t[] = new int[5] // les tableaux cas particulier des objets ;

--> remplir un tableau aléatoirement : t[i] = (int)([Link]() *900) +100; //entre 100 et 1000;

--> ajouter un élément à un tableau : on utilise vector qui le gère implicitement

-->Instancier 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 après on met t[i]=new LinkedList<>(); --> t[0].add(new
Point);

--> Stringt[]=new String

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

--> Méthode non définie : Partiellement abstraite(abstract) : des méthodes abstraites et des
méthodes contraites //
:Classe Entièrement(totalement) abstraite , ne peut pas contenir des donnes(sont
automatiqmt des constantes) : "Interface": public interface

--> LayoutManager est une interface :

// On utilise les interfaces :

1: Pour déléguer des taches ,

2: Lorsque le comportement est abstrait ,

3: n'avons pas des structures de données connus.

--> Jpanel content (JPanel)etContentPane(); // BorderLayout

--> Une classe implémente une interface(classe interface),Par contre une interface peut étendre une
interface(interface interface).

--> Fournir une implémentation : ActionListner

--> Rendre les boutons réactifs : ** a chaque Button un écouteur(Listner) diffèrent :** 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 implémenter 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 pour 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()) ---->


west center East South

--> Accelerer : public class ButtonPanle extends JPanel { public ButtonPanel(int x


,[Link]([Link]());g ...labels) // ... ;nbre de parametre //

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

--> Alignement, espacement vertical, espacement horizontal :


setLayout(FlowLayout([Link].20.0);

--> Donner une taille préferée a notre Jframe(Bricolage): setResizable(false);

--> BoxLayout : 2 paramètres --> 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);)

--> Récupère la zone de texte : getcompenent(..);

--> Bordure : [Link]([Link]());

--> Combinaison de bordure et un titre : this();


[Link]([Link]([Link]([Link]),ti
tle));

--> 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 structure de donne qui nous permettre de crée tous à la même 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