0% ont trouvé ce document utile (0 vote)
27 vues15 pages

Java 3

Transféré par

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

Java 3

Transféré par

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

Bien sûr !

Voici un **cours détaillé et clair** sur les notions de **"État et comportement des objets"**,
**"Instances en Java"** et **"Notation pointée (dot notation)"**, basé sur ce que tu as partagé.

---

# 📚 Cours détaillé : État, Comportement, Instances et Notation Pointée en Java

---

## 1️⃣ État et comportement des objets

### Qu’est-ce qu’un objet en Java ?

* En Java, une **classe** est un modèle qui décrit un type d'objet.

* Un **objet** est une **instance** (exemplaire) d’une classe.

* Chaque objet possède un **état** (des données) et un **comportement** (des actions).

---

### Exemple simple : la classe `Person`

```java

public class Person {

// État de l'objet (variables d'instance)

int age;

String name;
// Comportement de l'objet (méthodes)

public void set_value() {

age = 20;

name = "Robin";

public void get_value() {

[Link]("Age is " + age);

[Link]("Name is " + name);

public static void main(String[] args) {

Person p = new Person(); // création d'un objet Person

p.set_value(); // on modifie son état

p.get_value(); // on affiche ses données

```

---

### Explications

* **État** : ce sont les données que possède l'objet, ici `age` et `name`.
* **Comportement** : ce sont les méthodes qui agissent sur ces données, comme `set_value()` et
`get_value()`.

Quand on fait `Person p = new Person();`, on crée un objet `p` qui a ses propres `age` et `name`.

Quand on appelle `p.set_value();`, on modifie l'état de `p` (ici `age` devient 20 et `name` devient
"Robin").

---

## 2️⃣ Instances en Java

### Qu’est-ce qu’une instance ?

* Une **instance** est un objet concret créé à partir d’une classe.

* Chaque instance a **ses propres copies** des variables d’instance.

### Exemple avec constructeur

```java

public class Person {

int age;

String name;

// Constructeur pour initialiser les données

public Person(int age, String name) {


[Link] = age;

[Link] = name;

public static void main(String[] args) {

Person Bob = new Person(31, "Bob");

Person Alice = new Person(27, "Alice");

```

---

### Explications

* `Bob` et `Alice` sont deux **instances** distinctes de la classe `Person`.

* Chacun a sa propre `age` et `name`.

* Le **constructeur** initialise les valeurs dès la création.

---

## 3️⃣ Notation pointée (dot notation)

### Comment accéder aux variables et méthodes d’un objet ?


* En Java, on utilise la notation pointée, c’est-à-dire un **point (.)** entre le nom de l’objet (ou classe) et
la variable ou méthode.

### Syntaxe générale

```java

[Link]

[Link]()

```

### Exemple

```java

public class Person {

int age;

public static void main(String[] args) {

Person p = new Person();

[Link] = 20; // accéder et modifier l'attribut age

[Link]("Age is " + [Link]); // accéder pour afficher

```

---
### Pourquoi la notation pointée ?

* Elle permet d’accéder à **l’état** (variables) et au **comportement** (méthodes) de **cet objet


précis**.

* Chaque objet a ses propres variables, donc on utilise l’objet avant le point pour préciser lequel on
utilise.

---

## 🔑 Récapitulatif rapide

| Concept | Description | Exemple |

| ---------------- | ---------------------------------------------- | --------------------------------------------- |

| Classe | Plan (modèle) pour créer des objets | `class Person { ... }` |

| Objet (Instance) | Objet concret créé à partir d'une classe | `Person p = new Person();` |

| État | Variables qui décrivent les données de l'objet | `int age; String name;` |

| Comportement | Méthodes qui définissent les actions | `set_value(), get_value()` |

| Constructeur | Méthode spéciale qui initialise un objet | `public Person(int age, String name)
{ ... }` |

| Notation pointée | Accès aux variables et méthodes de l'objet | `[Link]`, `p.get_value()`

* Un **objet** a un **état** (données) et un **comportement** (méthodes).

* Une **instance** est un objet concret basé sur une classe.

* Le **constructeur** permet d’initialiser l’état dès la création.

* On utilise la **notation pointée (.)** pour accéder aux variables et méthodes d’un objet.

Bien sûr, voici une **série d’exercices 3** sur les notions d’**état, comportement, instances et notation
pointée** en Java, du facile au difficile, avec corrections à la fin.
---

# 🧪 Série d’exercices 3 — Objets, Instances, Constructeurs et Notation Pointée

---

## 🌟 Niveau Facile

### Exercice 1 — Créer un objet et accéder à ses données

1. Crée une classe `Person` avec deux attributs `int age` et `String name`.

2. Dans la méthode `main`, crée un objet `p` de la classe `Person`.

3. Avec la notation pointée, assigne `[Link] = 25` et `[Link] = "Emma"`.

4. Affiche ces valeurs avec `[Link]`.

---

### Exercice 2 — Ajouter une méthode pour afficher les infos

1. Ajoute une méthode `afficherInfos()` dans la classe `Person` qui affiche l’âge et le nom.

2. Dans `main`, crée un objet et appelle cette méthode.

---
## ⚙️Niveau Moyen

### Exercice 3 — Utiliser un constructeur pour initialiser l’objet

1. Modifie la classe `Person` pour ajouter un constructeur avec paramètres `(int age, String name)`.

2. Dans `main`, crée deux objets avec ce constructeur et affiche leurs infos avec la méthode
`afficherInfos()`.

---

### Exercice 4 — Modifier l’état via une méthode

1. Ajoute une méthode `anniversaire()` qui augmente l’âge de la personne de 1.

2. Dans `main`, appelle cette méthode sur un objet et affiche l’âge avant et après.

---

## 🔥 Niveau Difficile

### Exercice 5 — Comparer l’âge de deux personnes

1. Ajoute une méthode `compareAge(Person other)` dans `Person` qui compare l’âge de `this` avec
`other`.

2. Elle doit afficher qui est plus âgé, ou si les âges sont égaux.

---
### Exercice 6 — Créer un tableau d’objets et afficher les noms des majeurs

1. Dans `main`, crée un tableau de 4 `Person` avec âges et noms variés.

2. Parcours ce tableau et affiche les noms de ceux qui ont 18 ans ou plus.

---

# ✅ Corrections

---

### Correction Exercice 1

```java

public class Person {

int age;

String name;

public static void main(String[] args) {

Person p = new Person();

[Link] = 25;

[Link] = "Emma";

[Link]("Age: " + [Link]);

[Link]("Name: " + [Link]);


}

```

---

### Correction Exercice 2

```java

public class Person {

int age;

String name;

public void afficherInfos() {

[Link]("Nom: " + name + ", Age: " + age);

public static void main(String[] args) {

Person p = new Person();

[Link] = 25;

[Link] = "Emma";

[Link]();

```
---

### Correction Exercice 3

```java

public class Person {

int age;

String name;

public Person(int age, String name) {

[Link] = age;

[Link] = name;

public void afficherInfos() {

[Link]("Nom: " + name + ", Age: " + age);

public static void main(String[] args) {

Person p1 = new Person(30, "Sophie");

Person p2 = new Person(20, "Lucas");

[Link]();

[Link]();

}
}

```

---

### Correction Exercice 4

```java

public class Person {

int age;

String name;

public Person(int age, String name) {

[Link] = age;

[Link] = name;

public void anniversaire() {

age++;

public void afficherInfos() {

[Link]("Nom: " + name + ", Age: " + age);

}
public static void main(String[] args) {

Person p = new Person(29, "Emma");

[Link](); // Avant anniversaire

[Link]();

[Link](); // Après anniversaire

```

---

### Correction Exercice 5

```java

public class Person {

int age;

String name;

public Person(int age, String name) {

[Link] = age;

[Link] = name;

public void compareAge(Person other) {

if ([Link] > [Link]) {


[Link]([Link] + " est plus âgé que " + [Link]);

} else if ([Link] < [Link]) {

[Link]([Link] + " est plus jeune que " + [Link]);

} else {

[Link]([Link] + " et " + [Link] + " ont le même âge");

public static void main(String[] args) {

Person p1 = new Person(30, "Alice");

Person p2 = new Person(25, "Bob");

[Link](p2);

```

---

### Correction Exercice 6

```java

public class Person {

int age;

String name;
public Person(int age, String name) {

[Link] = age;

[Link] = name;

public boolean estMajeur() {

return age >= 18;

public static void main(String[] args) {

Person[] people = {

new Person(17, "Ali"),

new Person(22, "Sarah"),

new Person(16, "John"),

new Person(30, "Youssef")

};

for (Person p : people) {

if ([Link]()) {

[Link]([Link] + " est majeur.");

Vous aimerez peut-être aussi