HTML Tutorials |
|
XML Tutorials |
|
Browser Scripting |
|
Server Scripting |
|
.NET (dotnet) |
|
Multimedia |
|
Web Building |
|
Java Tutorials |
|
Programming Langauges |
|
Soft Skills |
|
Database Tutorials |
|
Operating System |
|
Software Testing |
|
SAP Module |
|
Networking Programming |
|
Microsoft Office |
|
Accounting |
|
|
Objets, classes, et interfaces de Java |
Voici que vous apprendrez comment cr�er et d�truire les objets, comment cr�er la classe et la sous-classe des classes, comment �crire les m�thodes, et m�me comment cr�er et employer les interfaces. Ce chapitre couvre tout de la fa�on prot�ger un objet contre d'autres objets et m�thodes de d�passement, pour cr�er les classes de calibre employant les classes et les m�thodes d'abstrait et le patriarche de la hi�rarchie d'objet de Java--java.lang. Classe d'objet.
|
Cycle de vie de l'objet
|
un objet est un module qui a l'�tat et le comportement. L'�tat d'un objet est contenu dans les variables de membre et le comportement est mis en application par ses m�thodes. Les programmes de Java que vous �crivez cr�eront beaucoup de diff�rents objets par le calibre, ces calibres sont connus comme classes. Les objets cr��s agissent l'un sur l'autre les uns avec les autres en envoyant des messages. En raison de messag, la m�thode est invocated qui effectuera une certaine action ou elle peut �galement modifier l'�tat d'objet qui re�oit le message. Par des ces l'interaction des objets, votre code de Java peut mettre en application une interface utilisateur graphique, courir des animations, ou peut �galement envoyer et recevoir l'information au-dessus du r�seau. Une fois que l'objet termine les travaux qu'il a �t� cr�� pour, il est d�truit et toutes ressources assign�es � lui sont r�utilis�es pour l'usage, par quelques autres objets.
|
Cr�er les classes
|
Une classe est un calibre qui peut �tre employ� pour cr�er beaucoup d'objets. L'ex�cution de classe comporte de deux composants : d�claration de classe et corps de classe.
|
classDeclaration
{
. . .
classBody
. . .
}
|
|
D�claration de classe
|
La d�claration de classe, d�clare le nom d'une classe avec quelques autres attributs comme les superclass de la classe, et si la classe est finale, public, ou abstrait. La d�claration de classe devrait contenir le mot-cl� de classe et le nom de la classe que vous d�finissez. Par cons�quent la d�claration minimum de classe ressemblera � ceci :
|
class NameOfClass
{
. . .
}
|
|
Corps de classe |
Le corps de classe suit la d�claration de classe et est toujours enfonc� dans les croisillons boucl�s {et} suivant les indications de l'exemple ci-dessus. Le corps de classe contient des d�clarations pour les variables qui sont des membres de la classe, des d�clarations de m�thodes et des implemenatations de la classe. Nous discuterons maintenant deux m�thodes sp�ciales que vous pouvez d�clarer dans un corps de classe : Les constructeurs et m�nent () la m�thode � bonne fin.
|
Constructeurs
|
Ce sont certaines des r�gles sur des constructeurs :
- � priv� � utilis� par mot-cl� priv� de constructeurs () -, personne instantiate de bidon la classe comme objet. Mais peut encore exposer des m�thodes statiques publiques, et ces m�thodes peuvent construire l'objet et le renvoyer, mais personne d'autre peuvent faire ceci.
-
les constructeurs de paquet () - aucune de elles en dehors de votre paquet peuvent construire un exemple avec de votre classe. C'est utile quand vous voulez avoir des classes en votre paquet qui peut faire de nouveaux yourClass () et ne veut pas a laiss� autrement n'importe qui faire ceci.
-
le mot-cl� prot�g� de constructeurs () - a employ� � prot�g� � seulement les sous-classes de votre classe peut se servir de ce paquet.
-
le � public � utilis� par mot-cl� public de constructeurs () - le constructeur g�n�rique emploiera ces derniers.
|
D�claration des variables de membre
|
Un objet maintient son �tat par les variables d�finies dans cette classe. Ces variables sont connues comme variables de membre. Tout en d�clarant les variables de membre pour la classe, vous pouvez indiquer une foule de diff�rents � attributs � au sujet de ces variables : son nom, son type, autorisation d'acc�s lui a assign�, et ainsi de suite. La d�claration variable de membre ressemble � ceci :
|
[accessSpecifier] [static] [final] [transient] [volatile] type variableName
The items in the square brackets are optional. The words inside the bracket are to be
replaced by names. or keywords.
|
|
Les mots indiqu�s � l'int�rieur de la parenth�se d�finit les aspects suivants des variables :
- accessSpecifier d�finit cela que toutes autres classes ont acc�s � la variable de tahat
- la charge statique indique que la variable avou�e est variable de membre de classe par opposition aux variables de membre d'exemple.
- la finale indique que la variable est constante.
- les variables passag�res ne sont pas une partie de l'�tat persistant de l'objet.
- le moyen volatil la variable est modifi� asynchronously.
|
Inscription d'une m�thode
|
Dans Java nous d�finissons des m�thodes dans le corps d'une classe pour laquelle il met en application le comportement. Nous d�clarons habituellement des m�thodes apr�s ses variables dans le corps de classe bien que non requis. Semblable � l'ex�cution de classe, une ex�cution de m�thode se compose �galement de deux parts : d�claration de m�thode et corps de m�thode.
|
methodDeclaration
{
. . .
methodBody
. . .
}
|
|
D�claration de m�thode
|
Au minimum, le composant de d�claration de m�thode a un type de retour qui indique le type de donn�es de valeur retourn� par la m�thode, et le nom de la m�thode.
|
returnType methodName()
{
. . .
}
|
|
Cosider par exemple, le code suivant d�clare une m�thode simple appel�e isEmpty () dans la classe de pile qui renvoie la valeur bool�enne (vrai ou faux).
|
class Stack
{
. . .
boolean isEmpty()
{
. . .
}
}
|
|
La d�claration de m�thode montr�e dans l'exemple ci-dessus est tr�s de base. Les m�thodes ont beaucoup d'autres attributs comme le contr�le d'acc�s, arguments et ainsi de suite. Cette section couvrira ces mati�res.
|
Le corps de m�thode
|
Dans le corps de m�thode que toute action d'une m�thode a lieu, le corps de m�thode contient toutes les instructions l�gales de Java qui applique la m�thode. Par exemple, voici une classe de pile avec l'ex�cution pour () la m�thode isEmpty.
|
class Stack
{
static final int STACK_EMPTY = -1;
Object stackelements[];
int topelement = STACK_EMPTY;
. . .
boolean isEmpty()
{
if (topelement == STACK_EMPTY)
return true;
else
return false;
}
}
|
|
Dans le corps de m�thode, vous pouvez faire l'utilisation � ceci � de se r�f�rer l'objet courant.
|
Quels sont des sous-classes, Superclasses, et transmission ? |
En tant que d'autres langages de programmation orient�s objectivement dans Java, une classe peut �tre d�riv�e de l'autre classe. Par exemple, vous supposer hav une classe appel�e MouseEvent qui repr�sente l'�v�nement quand l'utilisateur appuie sur le bouton de souris dans l'environnement de fen�tre de GUI. Plus tard, alors que l'application se d�veloppante, vous se rendent compte que vous avez besoin d'une classe pour repr�senter l'�v�nement quand pression d'utilisateur une clef sur le clavier. Vous pouvez �crire la classe de KeyboardEvent � partir de z�ro, mais puisque MouseEvent et les classes de KeyboardEvent partagent certains �tats et comportements comme lesquels le bouton ou la clef de souris a �t� serr�, le temps que l'�v�nement s'est produit, et ainsi de suite, nous peut aller pour reproduire la classe de MouseEvent plut�t que de r�inventer la roue, vous pouvez profiter de subclassing et de transmission. .and ainsi vous cr�ez un �v�nement de classe dont MouseEvent et KeyboardEvent peuvent �tre d�rivent
|
L'�v�nement est maintenant des superclass des classes de MouseEvent et de KeyboardEvent. MouseEvent et KeyboardEvent s'appellent maintenant les sous-classes de l'�v�nement de classe. L'�v�nement contient tous �tats et comportement qui sont communs aux �v�nements de souris et aux �v�nements de clavier. Les sous-classes, MouseEvent et KeyboardEvent, h�ritent de l'�tat et du comportement des superclass. Consid�rer par exemple, MouseEvent et KeyboardEvent tous les deux h�rite de l'attribut de timbre de temps de l'�v�nement superbe de classe.
|
Comment cr�er une sous-classe
|
Vous d�clarez qu'une classe est sous-classe d'une autre classe dans la d�claration de classe. Supposer que vous avez voulu cr�er une sous-classe appel�e � ImaginaryNumber � de la � classe de nombre �. (o� la classe de nombre est une partie de paquet de java.lang et est classe basse pour des flotteurs, des nombres entiers et d'autres nombres.). Vous pouvez maintenant �crire :
|
class ImaginaryNumber extends Number
{
. . .
}
|
|
Cette ligne d�clare ImaginaryNumber comme sous-classe de classe de nombre
|
�crire une classe finale
|
Java nous permet de d�clarer notre classe en tant que finale ; c'est-�-dire, la classe avou�e comme finale ne peut pas �tre subclassed. Il y a deux raisons pour lesquelles on veut faire ceci : but de s�curit� et de conception.
|
- S�curit� : Pour renverser des syst�mes, un des intrus de m�canisme emploient est, cr�e des sous-classes d'une classe et substitue leur classe � l'original. La sous-classe regarde m�mes que la classe originale mais elle ex�cutera des choses �norm�ment diff�rentes, endommageant ou entrant dans l'information priv�e probablement. Pour emp�cher cette subversion, vous devriez d�clarer votre classe comme finale et emp�cher les sous-classes l'unes des d'�tre cr��.
- Conception : Une autre raison nous de d�clarer une classe comme finale est raison orient�e objectivement de conception. Quand nous estimons que notre classe est � perfectionner � et ne pas devoir avoir des sous-classes plus loin. Nous pouvons d�clarer notre classe en tant que finale.
|
Pour indiquer que la classe est une classe finale, nous devrions employer le mot-cl� � finale � avant le mot-cl� de classe dans la d�claration de classe. Si nous voulons d�clarer la classe d'ImaginaryNumber en tant que calss finals, sa d�claration devrait ressembler � ceci :
|
final class ImaginaryNumber extends Number implements Arithmetic
{
. . .
}
|
|
Si des tentatives suivantes sont faites � la sous-classe ImaginaryNumber, elle aura comme cons�quence une erreur de compilateur en tant que ce qui suit :
|
Imagine.java:6: Can't subclass final classes: class ImaginaryNumber
class MyImaginaryNumber extends ImaginaryNumber {
^
1 error
|
|
Cr�er une m�thode finale
|
Si cr�er la classe finale semble lourd pour vos besoins, et vous voulez juste prot�ger certaines des classes que les m�thodes �tant overriden, vous pouvez employer le mot-cl� final dans la d�claration de m�thode pour indiquer le compilateur que la m�thode ne peut pas �tre d�pass�e par des sous-classes.
|
Inscription des classes abstraites
|
Parfois vous pouvez vouloir modeler seulement des concepts abstraits mais ne voulez pas cr�er un exemple de la classe. Comme discut� plus t�t la classe de nombre en paquet de java.lang repr�sente seulement le concept abstrait des nombres. Nous des num�ros de type de bidon dans un programme, mais lui ne semblerons aucun raisonnable de cr�er un objet g�n�rique de nombre. Au lieu de cela, la classe de nombre se comporte en tant que des superclass aux classes de nombre entier et de flotteur qui font la caisse sp�cifique d'instruments de nombres. Les classes aiment le nombre, celui met en application seulement les concepts abstraits et ne devrait pas �tre ainsi instantiated, s'appellent les classes abstraites. Une classe abstraite est une classe qui peut seulement �tre subclassed et ne peut pas �tre instantiated.
|
Pour d�clarer la classe comme classe abstraite nous employons le mot-cl� � abstrait � devant la classe de mot-cl� dans la d�claration de classe :
|
abstract class Number
{
. . .
}
|
|
Si n'importe quelle tentative est faite � l'instantiate une classe abstraite, la volont� de compilateur montre l'erreur comme montr� ci-dessous et refuse de compiler le programme :
|
AbstractTest.java:6: class AbstractTest is an abstract class.
It can't be instantiated.
new AbstractTest();
^
1 error
|
|
Inscription des m�thodes abstraites
|
Une classe abstraite peut contenir des m�thodes abstraites, des m�thodes abstraites sont les m�thodes, sans l'ex�cution. Par cons�quent une classe abstraite peut d�finir toute son interface de programmation et fournir ainsi ses sous-classes les d�clarations de m�thode pour toutes m�thodes qui sont n�cessaires pour mettre en application l'interface de programmation. Cependant, une classe abstraite peut laisser des d�tails d'ex�cution des m�thodes aux sous-classes.
|
Vous d�clareriez une classe abstraite, GraphicObject, qui fournit les variables et les m�thodes de membre qui sont partag�es par toutes les sous-classes. GraphicObject peut �galement d�clarer des m�thodes abstraites pour les m�thodes, telles que l'aspiration (), qui doit �tre mise en application par les sous-classes, mais des mani�res enti�rement diff�rentes. La classe de GraphicObject ressemblerait � ceci :
|
abstract class GraphicObject
{
int x, y;
. . .
void moveTo(int newX, int newY)
{
. . .
}
abstract void draw();
}
|
|
Une classe abstraite n'est pas d'avoir une m�thode abstraite dans elle. Mais la classe l'une des qui ont une m�thode abstraite dans elle ou dans les superclasses l'uns des devrait �tre d�clar�e comme classe abstraite. Chaque sous-classe non-abstraite de GraphicObject, tel que le cercle et le rectangle, shoul fournissent une ex�cution pour la m�thode d'aspiration ().
|
class Circle extends GraphicObject
{
void draw()
{
. . .
}
}
class Rectangle extends GraphicObject
{
void draw()
{
. . .
}
}
|
|
Comment cr�er et employer des interfaces
|
Les interfaces fournit un m�canisme pour permettre les classes hi�rarchiquement ind�pendantes appliquent le m�me ensemble de m�thodes. Une interface est la collection de d�finitions de m�thode et des valeurs de constante qui est exempte de la d�pendance sur une classe sp�cifique ou une hi�rarchie de classe. Les interfaces sont utiles pour le but suivant :
|
- d�clarant les m�thodes qu'un ou plusieurs qu'une classe sont pr�vus pour mettre en application
- indiquant l'interface de programmation de l'objet sans indiquer sa classe (les objets comme ces derniers les objets anonymes appel�s et sont utiles tout en embarquant un paquet des classes aux autres r�alisateurs)
- capturant les similitudes entre les classes ind�pendantes sans forcer le rapport de classe
|
Cr�er une interface
|
Cr�er une interface est semblable � celui de cr�er une nouvelle classe. Une d�finition d'interface se compose de deux composants : d�claration d'interface et corps d'interface.
|
interfaceDeclaration
{
interfaceBody
}
|
|
L'interfaceDeclaration d�clare de divers attributs au sujet de l'interface telle que son nom et s'il prolonge une autre interface. L'interfaceBody contient les d�clarations de constante et de m�thode dans l'interface.
|
Employer une interface
|
Une interface est employ�e quand la classe pr�tend mettre en application cette interface. Une classe d�clare toutes interfaces qui sont mises en application dans la d�claration de classe. Pour d�clarer que la classe met en application une ou plusieurs interfaces, se servir du mot-cl� � instruments � suivis de la liste virgule-d�limit�e des interfaces mises en application par la classe.
|
Supposer que nous �crivons une classe qui met en application une file d'attente de fifo. Puisque la classe de file d'attente de fifo est une collection d'objets (un objet qui contient d'autres objets) il doesnot sembler n'importe quel raisonnable de mettre en application le comptable connectent. La classe de FIFOQueue d�clarerait qu'elle font des instruments l'interface comptable comme montr� ci-dessous :
|
class FIFOQueue implements Countable
{
. . .
}
|
|
Et garantissant de ce fait qu'elle fournit des implemenations pour le currentCount (), l'incrementCount (), le setCount (), et les m�thodes de decrementCount ().
|
|
|
Keywords: java download, java games, javascript, sun java, download microsoft java virtual
machine, sun java free download, java chat rooms, java update, yahoo java
messenger, java certification
|
|
HTML Quizes |
|
XML Quizes |
|
Browser Scripting Quizes |
|
Server Scripting Quizes |
|
.NET (dotnet) Quizes |
|
Multimedia Quizes |
|
Web Building Quizes |
|
Java Quizes |
|
Programming Langauges Quizes |
|
Soft Skills Quizes |
|
Database Quizes |
|
Operating System Quizes |
|
Software Testing Quizes |
|
SAP Module Quizes |
|
Networking Programming Quizes |
|
Microsoft Office Quizes |
|
Accounting Quizes |
|
|