Skip to content

Commit d1d75eb

Browse files
author
martipatgra
committed
Deployed 6b64ee4 with MkDocs version: 1.4.2
1 parent 25d9c10 commit d1d75eb

File tree

3 files changed

+50
-8
lines changed

3 files changed

+50
-8
lines changed

search/search_index.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

sitemap.xml.gz

0 Bytes
Binary file not shown.

ud3/8pojo/index.html

Lines changed: 49 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1093,13 +1093,27 @@
10931093
</li>
10941094

10951095
<li class="md-nav__item">
1096-
<a href="#constructores-record" class="md-nav__link">
1097-
Constructores Record
1096+
<a href="#constructores-de-un-record" class="md-nav__link">
1097+
Constructores de un Record
10981098
</a>
10991099

1100-
<nav class="md-nav" aria-label="Constructores Record">
1100+
<nav class="md-nav" aria-label="Constructores de un Record">
11011101
<ul class="md-nav__list">
11021102

1103+
<li class="md-nav__item">
1104+
<a href="#canonical-constructor-constructor-canonico" class="md-nav__link">
1105+
Canonical constructor - Constructor canónico
1106+
</a>
1107+
1108+
</li>
1109+
1110+
<li class="md-nav__item">
1111+
<a href="#constructor-personalizado" class="md-nav__link">
1112+
Constructor personalizado
1113+
</a>
1114+
1115+
</li>
1116+
11031117
<li class="md-nav__item">
11041118
<a href="#compact-constructor" class="md-nav__link">
11051119
Compact constructor
@@ -2294,13 +2308,27 @@
22942308
</li>
22952309

22962310
<li class="md-nav__item">
2297-
<a href="#constructores-record" class="md-nav__link">
2298-
Constructores Record
2311+
<a href="#constructores-de-un-record" class="md-nav__link">
2312+
Constructores de un Record
22992313
</a>
23002314

2301-
<nav class="md-nav" aria-label="Constructores Record">
2315+
<nav class="md-nav" aria-label="Constructores de un Record">
23022316
<ul class="md-nav__list">
23032317

2318+
<li class="md-nav__item">
2319+
<a href="#canonical-constructor-constructor-canonico" class="md-nav__link">
2320+
Canonical constructor - Constructor canónico
2321+
</a>
2322+
2323+
</li>
2324+
2325+
<li class="md-nav__item">
2326+
<a href="#constructor-personalizado" class="md-nav__link">
2327+
Constructor personalizado
2328+
</a>
2329+
2330+
</li>
2331+
23042332
<li class="md-nav__item">
23052333
<a href="#compact-constructor" class="md-nav__link">
23062334
Compact constructor
@@ -2435,7 +2463,7 @@ <h3 id="record-header">Record header</h3>
24352463
<li>Un constructor con los mismos argumentos y en el mismo orden descritos dentro de la cabecera de record.</li>
24362464
<li>Java genera un método toString que imprime cada atributo formateado.</li>
24372465
</ul>
2438-
<h3 id="constructores-record">Constructores Record</h3>
2466+
<h3 id="constructores-de-un-record">Constructores de un Record</h3>
24392467
<p>Si queremos generar un constructor, dentro de la clase record podemos hacer click botón derecho del ratón -&gt; constructor:</p>
24402468
<p><img alt="POJO" src="../../img/ud3/pojo4.png" /></p>
24412469
<p>IntelliJ me ofrece tres opciones para generar un constructor:</p>
@@ -2446,6 +2474,8 @@ <h3 id="constructores-record">Constructores Record</h3>
24462474
<li><strong>Constructor personalizado</strong> (custom constructor): es un constructor sobrecargado. Su primera sentencia debe ser una llamada al canónico.</li>
24472475
<li><strong>Constructor compacto o corto</strong> (compact constructor): solo se utiliza en los records. Es una forma concisa de declarar un constructor canónico.</li>
24482476
</ol>
2477+
<h4 id="canonical-constructor-constructor-canonico">Canonical constructor - Constructor canónico</h4>
2478+
<p>Es el constructor con todos los parámetros o componentes. En el siguiente ejemplo se ha creado un constructor canónico que <strong>NO es necesario crear porque ya se crea de manera implícita. Crearlo es redundante</strong>. El constructor canónico solo tiene sentido crearlo cuado quiero añadir alguna validación en algún campo, es decir, cuando le voy a dar un comportamiento diferente al de por defecto.</p>
24492479
<div class="highlight"><span class="filename">JavaStudent.java</span><pre><span></span><code><span class="kd">public</span><span class="w"> </span><span class="kd">record</span> <span class="nc">JavaStudent</span><span class="p">(</span><span class="n">String</span><span class="w"> </span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">dateOfBirth</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
24502480
<span class="w"> </span><span class="c1">//Canonical constructor</span>
24512481
<span class="w"> </span><span class="c1">//Hacer esto no tiene sentido, porque ya está implícito cuando poner los componentes en la cabecera</span>
@@ -2464,6 +2494,18 @@ <h3 id="constructores-record">Constructores Record</h3>
24642494
<span class="w"> </span><span class="p">}</span>
24652495
<span class="p">}</span>
24662496
</code></pre></div>
2497+
<h4 id="constructor-personalizado">Constructor personalizado</h4>
2498+
<p>Es lo que conocemos como constructor sobrecargado. Creamos constructores personalizados con un número menor de elementos que el constructor canónico. El único requisito con este constructor es, <strong>que la primera línea tiene que ser una llamada al constructor canónico para que se inicialicen los campos o componentes</strong>.</p>
2499+
<div class="highlight"><pre><span></span><code><span class="kd">public</span><span class="w"> </span><span class="kd">record</span> <span class="nc">JavaStudent</span><span class="p">(</span><span class="n">String</span><span class="w"> </span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">dateOfBirth</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
2500+
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="nf">JavaStudent</span><span class="p">(</span><span class="n">String</span><span class="w"> </span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">name</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
2501+
<span class="w"> </span><span class="k">this</span><span class="p">(</span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="kc">null</span><span class="p">);</span>
2502+
<span class="w"> </span><span class="p">}</span>
2503+
2504+
<span class="w"> </span><span class="kd">public</span><span class="w"> </span><span class="nf">JavaStudent</span><span class="p">(</span><span class="n">String</span><span class="w"> </span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="n">String</span><span class="w"> </span><span class="n">dateOfBirth</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
2505+
<span class="w"> </span><span class="k">this</span><span class="p">(</span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w"> </span><span class="n">dateOfBirth</span><span class="p">);</span>
2506+
<span class="w"> </span><span class="p">}</span>
2507+
<span class="p">}</span>
2508+
</code></pre></div>
24672509
<h4 id="compact-constructor">Compact constructor</h4>
24682510
<ul>
24692511
<li>No se pueden tener ambos constructores, el compact más el canónico explícito.</li>

0 commit comments

Comments
 (0)