<div class="page">
<div class="cover text-center">
<img class="mx-auto" src=/itb/images/logo_mislata.png alt="logo">
# Documentació Vehicle
<div class="text-end fit-content ms-auto my-3 mt-auto pt-3">
<p><strong>Autor:</strong> Joan Puigcerver Ibáñez</p>
<p><strong>Correu electrònic:</strong> j.puigcerveribanez@edu.gva.es</p>
<p><strong>Curs:</strong> 2024/2025</p>
</div>
<div>
<p class="fw-bold mb-0">Llicència: BY-NC-SA</p>
<p class="d-none d-md-block">(Reconeixement - No Comercial - Compartir Igual)</p>
<a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.ca" target="_blank">
<img class="mx-auto" src="/itb/images/license.png" alt="Licence"/>
</a>
</div><!--license-->
</div><!--cover-->
</div><!--page-->
{:toc}
## Objectius
Apendre a documentar eficaçment un conjunt de classes i interfícies en Java utilitzant Javadoc,
incloent la documentació de classes, mètodes, paràmetres, valors de retorn, excepcions,
enllaços interns i referències a altres parts de la documentació (`@see`, `@link`).
## Introducció
En aquest exercici anem a generar la documentació d'un conjunt
de classes que modelen diferents tipus de vehicles.
Posteriorment, aquesta documentació serà publicada mitjançant GitHub Pages.
## Especificacions
1. __Classe base__: `Vehicle`
- __Descripció__: Una classe abstracta que serveix com a base per a tots els vehicles.
- __Atributs comunis__: `matricula` (String), `marca` (String), `model` (String), `any` (int), `velocitat` (double)
- __Mètodes abstractes__: `accelerar`, `frenar`
2. __Interfície__: `Electric`
- __Descripció__: Interfície que modela vehicles elèctrics.
- __Mètodes__: `carregarBateria`, `descarregarBateria`
3. __Interfície__: `Combustio`
- __Descripció__: Interfície que modela vehicles amb motor de combustió.
- __Mètodes__: `omplirDeposit`, `buidarDeposit`
4. __Classe base__: `Cotxe`
- __Descripció__: Una classe abstracta que modela un cotxe.
- __Atributs__: `portes` (int), `places` (int)
- __Mètodes__: `obrirPorta`, `tancarPorta`
3. __Classes derivades__: `CotxeDiesel`, `CotxeElectric` i `Camio`.
- __Descripció__: Classes que hereten de `Vehicle` o `Cotxe` i que modelen vehicles concrets.
- __Atributs específics__:
- `CotxeDiesel`: `consum` (double), `capacitat_deposit` (int),`nivell_deposit` (double)
- `CotxeElectric`: `capacitat_bateria` (int), `nivell_bateria` (double)
- `Camió`: `pes_maxim` (int)
- __Mètodes específics__:
- `Camió`: `carregar`, `descarregar`
## Documentació
1. Documenta totes les classes i interfícies amb Javadoc.
2. Utilitza les etiquetes de Javadoc per a documentar els mètodes, paràmetres, valors de retorn, excepcions.
3. Utilitza enllaços interns per a referenciar altres parts de la documentació. Aprofundeix en les etiquetes `@see` i `@link`.
4. Genera la documentació i comprova que es visualitza correctament.
5. Publica la documentació a GitHub Pages.