Vous êtes sur la page 1sur 5

NDAYISENGA Eric LE 27 MAI 2022

INSTITUT UNIVERSITAIRE LA CENTRALE D’AFRIQUE A/A 2021-2022


ELECTRONIQUE ET MAINTENANCE INFORMATIQUE
CLASSE : BAC2

TRAVAIL DE PROGRAMMATION ORIENTE OBJET EN JAVA

1) Manipulation des chaînes de caractères

Trois classes chaîne de caractères : String, StringBuffer et StringBuilder.

 La classe String est une classes dont les objets sont immuables : ils ne
peuvent pas changer de valeur.
 Les classes StringBuffer et StringBuilder produisent des objets qui peuvent
changer de valeur. Ces deux classes ont exactement les mêmes méthodes.
o Les méthodes de la classe StringBuffer sont synchronisées, et peuvent
être utilisées par plusieurs thread sur une même chaîne de caractères.
o Les méthodes de la classe StringBuilder ne sont pas synchronisées,
elles sont donc plus rapides que celle de la classe StringBuffer, mais ne
sont pas «thread safe».

1 String

Les chaînes de caractères littérales de Java (par exemple "abc"), sont


représentées comme des instances de cette classe.

La classe String est une classe spéciale :

 les chaînes de caractères peuvent se concaténer à l’aide de l’opérateur +, ou


à l'aide de la méthode concat. Ces deux concaténations ne sont pas
équivalentes lorsque l'opérande de droite vaut null.
 les instances peuvent ne pas être créées explicitement String s = "abc" ; au
lieu de String s = new String("abc") ;

String(char[] value)</td
String() Construit la chaîne vide
Construit une chaîne de caractères à
String(byte[] bytes)
partir d’un tableau d’octets
String(byte[] bytes, int offset, int Construit une chaîne de caractères à
length) partir d’une partie de tableau d’octets
Construit une chaîne de caractères à
String(byte[] bytes, int offset,
partir d’une partie de tableau d’octets,
int length, String enc)
et d’un encodage
Construit une chaîne de caractères à
String(byte[] bytes, String enc) partir d’un tableau d’octets, et d’un
encodage
Construit une chaîne de caractères à
String(char[] value, int offset, int count) partir d’une partie de tableau de
caractères
Construit une chaîne à partir d’une
String(String value)
autre chaîne.
Construit une chaîne à partir d’une
String(StringBuffer buffer)
autre chaîne de type StringBuffer.

Remarque

La classe String maintient un pool de chaînes de caractères. Dans ce pool sont


représentées :

 les chaînes littérales "..."


 les chaînes pour lesquelles on a fait un appel à le méthode native intern()

C'est pour celà que la comparaison avec l'opérateur == fonctionne pour les chaines
de caractères du pool !
String s1 = "abcde";
String s2 = "abcde";
String s3 = new String (s2);
String s4 = s3.intern();
System.out.println(s1==s2);// true les deux sont dans le pool
System.out.println(s1==s3);// false
System.out.println(s1==s4);// true les deux sont dans le pool

2 )StringBuffer, StringBuilder

Les StringBuffer sont utilisés pour compiler l’opérateur + de la classe String. Par
exemple :

x = "a" + 4 + "c"
est compilé en :
x = newStringBuffer().append("a").append(4).append("c").toString()
Ces deux classes ont deux attributs :

 char [] value : le tableau dans lequel sont représentés les caractères de la


chaîne. La taille de ce tableau est la capacité de la chaîne de caractères.
 int count : le nombre de caractères présents dans le tableau value.

StringBuffer() Construit une chaîne vide de capacité


initiale de 16 caractères.
StringBuffer (int l) Construit une chaîne vide de capacité
initiale de l caractères.
StringBuffer (String s) Construit une chaîne de caractères à
partir de la chaîne s

2) La notion d'héritage

L'héritage est un mécanisme permettant de créer une nouvelle classe à partir


d'une classe existante en lui proférant ses propriétés et ses méthodes. Ainsi, pour
définir une nouvelle classe, il suffit de la faire hériter d'une classe existante et de
lui ajouter de nouvelles propriétés/méthodes.
Le concept d'héritage est un des concepts les plus importants de
la programmation orientée objet, car il conditionne irréversiblement la façon
selon laquelle un code Java est écrit. L'héritage est un mécanisme permettant de
créer une nouvelle classe à partir d'une classe existante en lui proférant ses
propriétés et ses méthodes.
Ainsi, pour définir une nouvelle classe, il suffit de la faire hériter d'une classe
existante et de lui ajouter de nouvelles propriétés/méthodes.

De cette façon, les classes héritées forment une hiérarchie descendante, au


sommet de laquelle se situe la classe de base (superclasse). On appelle également
la classe héritée la sous-classe et la classe parente la super-classe.

Avec Java, l'arborescence est stricte, c'est-à-dire qu'une classe donnée ne peut
possèder qu'une seule superclasse (l'héritage est dit simple contrairement à des
langages comme le C++, pour lesquels un héritage dit multiple est possible). Par
contre, une classe peut possèder un nombre illimité de sous-classes.

Lors de l'instanciation d'une classe, celle-ci hérite de (cela signifie qu'elle reçoit)
l'ensemble des propriétés et des méthodes de sa superclasse, qui elle-même
hérite d'une éventuelle superclasse, etc.
Par conséquent le travail principal du programmeur Java consiste à concevoir une
hiérarchie de classe, c'est-à-dire organiser les classes de telles façon que les
propriétés et méthodes communes à plusieurs classes soient placées dans une
superclasse.

Grâce à ce système organisationnel, il est aisé de réutiliser des composants


existants et de leur ajouter un comportement. De plus, la modification de la
superclasse implique la modification automatique de toutes les sous-classes. Pour
plus d'informations sur l'héritage, consulter la section "programmation orientée
objet"

L'héritage avec Java

Une classe se définit tout simplement grâce au mot-clé class de la manière


suivante par exemple :

class Ccm {
// Corps de la classe
}
Par défaut une classe hérite de la "super-superclasse" nommée Object. Pour faire
hériter une classe d'une superclasse, Java fournit le mot-clé extends, c'est-à-dire
que les quelques lignes de code ci-dessus sont équivalentes à:
class Ccm extends Object {
// Corps de la classe
}

Le mot-clé super

Au même titre que le mot-clé this permet de faire référence à l'objet en cours, le
mot-clé super permet de désigner la superclasse, c'est-à-dire qu'à l'aide du mot-
clé super, il est possible de manipuler les données membres et les méthodes de la
superclasse.

Pour manipuler une proriété de la superclasse, il suffit d'utiliser la syntaxe


suivante :

super.nom_de_la_propriete

De la même façon, pour manipuler une méthode de la superclasse, il suffit


d'utiliser la syntaxe suivante :

super.nom_de_la_methode()

Enfin, il est possible de faire appel au constructeur de la classe parente en


fournissant des arguments au mot-clé super de la façon suivante :

super(parametre1,parametre2,...)

Vous aimerez peut-être aussi