|
|
@@ -384,7 +384,7 @@ boolean | false puis true|</div>
|
|
|
<h5 id="instantiation">Instantiation</h5>
|
|
|
<p>Dans ce programme, nous avons utilisé le mot clef <code>new</code> qui permet d’<strong>instancier</strong> un objet à partir d’une classe:</p>
|
|
|
<div class="sourceCode" id="cb10"><pre class="sourceCode java"><code class="sourceCode java"><a class="sourceLine" id="cb10-1" data-line-number="1">Multiplication premierCalcul = <span class="kw">new</span> <span class="fu">Multiplication</span>();</a></code></pre></div>
|
|
|
-<p>Ce mot clef permet de faire appel au <strong>constructeur</strong> de la classe. Si aucun <strong>constructeur</strong> n’est explicitement déclaré dans une classe, le compilateur Java crée un constructeur par défaut, c’est-à-dire sans aucun paramètre.</p>
|
|
|
+<p>Ce mot clef <code>new</code> permet de faire appel au <strong>constructeur</strong> de la classe. Si aucun <strong>constructeur</strong> n’est explicitement déclaré dans une classe, le compilateur Java crée un constructeur par défaut, c’est-à-dire sans aucun paramètre.</p>
|
|
|
<p>La ligne ci-dessus stocke un <strong>pointeur</strong> vers l’instance créée dans la variable <code>premierCalcul</code>.</p>
|
|
|
<p>Cette variable est déclaré avec un type (la classe) <code>Multiplication</code>.</p>
|
|
|
<h5 id="appel-de-méthode">Appel de méthode</h5>
|
|
|
@@ -711,8 +711,8 @@ boolean | false puis true|</div>
|
|
|
<p>Instanciez cette classe à partir de la méthode <code>main(String[])</code> de <code>Exemple</code> et affichez cette instance avec un <code>System.out.println(String)</code>.</p>
|
|
|
<p>Que constatez-vous ?</p>
|
|
|
<p>Est-on limité par quelque chose ici ?</p>
|
|
|
-<h4 id="constructeur">Constructeur</h4>
|
|
|
-<p>Pour pouvoir créer cette classe, il existe un constructeur par défaut. Sauf qu’il ne permet pas de modifier les valeurs des attributs.</p>
|
|
|
+<h3 id="constructeur-avec-paramètres">Constructeur avec paramètres</h3>
|
|
|
+<p>Pour pouvoir créer la classe <code>Fleur</code>, il existe un constructeur par défaut. Son défaut est qu’il ne permet pas de modifier les valeurs des attributs.</p>
|
|
|
<p>Créer un nouveau constructeur sur le modèle suivant:</p>
|
|
|
<div class="sourceCode" id="cb33"><pre class="sourceCode java"><code class="sourceCode java"><a class="sourceLine" id="cb33-1" data-line-number="1"><span class="kw">public</span> <span class="fu">Fleur</span>(<span class="bu">String</span> nom, <span class="dt">int</span> identifiant){</a>
|
|
|
<a class="sourceLine" id="cb33-2" data-line-number="2"> <span class="kw">this</span>.<span class="fu">nom</span> = nom;</a>
|
|
|
@@ -720,5 +720,16 @@ boolean | false puis true|</div>
|
|
|
<a class="sourceLine" id="cb33-4" data-line-number="4">}</a></code></pre></div>
|
|
|
<p>Essayez d’utiliser ce constructeur et d’afficher l’instance depuis la méthode <code>main(String[])</code></p>
|
|
|
<p>Créez ainsi plusieurs instances de <code>Fleur</code> et affichez-les.</p>
|
|
|
+<h4 id="utilité-du-constructeur">Utilité du constructeur</h4>
|
|
|
+<p>Un constructeur permet d’instancier un objet.</p>
|
|
|
+<p>S’il est doté de paramètres, il permet de définir les valeurs des attributs (par exemple) au moment de l’instantiation.</p>
|
|
|
+<ul>
|
|
|
+<li>il sert donc à définir l’état <strong>initial</strong> de l’instance créée</li>
|
|
|
+<li>il permet de créer des objets:
|
|
|
+<ul>
|
|
|
+<li>d’une même classe</li>
|
|
|
+<li>ayant des états différents</li>
|
|
|
+</ul></li>
|
|
|
+</ul>
|
|
|
</body>
|
|
|
</html>
|