# Voiture
declaration: package: partie4, class: Voiture

Package partie4

# Class Voiture

java.lang.Object
partie4.Voiture

public class Voiture extends Object
La classe `Voiture` possède une liste statique interne de voiture. Pour créer une voiture il suffit de donner une `vitesse` d'origine. Attention à modifier la puissance, elle est réglée à 10 à la création de la classe. Ce qui peut empêcher une accélération trop brutale. Le nom et la date de création ne sont pas initialisée au début. La voiture est à l'arrêt à sa création

## Constructor Summary

Constructors
Constructor
Description
`Voiture(double v)`
Permet de construire une voiture avec une `vitesse` v donnée.

## Method Summary

Modifier and Type
Method
Description
`void`
`accelere(double a)`
Permet d'augmenter la `vitesse` de +`a`.
`void`
`demarre()`
Permet démarrer la `Voiture`.
`void`
`demarre(int v)`
Permet de démarrer la `Voiture`, mais cette fois-ci avec une vitesse donnée.
`Date`
`getDate()`
Retourne la `date` (Date) de la `Voiture`
`static ArrayList<Voiture>`
`getListeVoitures()`
Retourne la liste statique de `Voitures`
`String`
`getNom()`
Retourne le `nom` (String) de la `Voiture`
`int`
`getPuissance()`
Retourne la `puissance` (int) de la `Voiture`
`double`
`getVitesse()`
Retourne la `vitesse` (double) de la `Voiture`
`boolean`
`isDemarre()`
Retourne `true` si la `Voiture` est démarrée, `false` sinon.
`void`
`setDate(Date d)`
Permet de choisir la `date` de création de la `Voiture`
`void`
`setNom(String n)`
Permet de régler le `nom` (String) de la `Voiture`.
`void`
`setPuissance(int p)`
Permet de régler la `puissance` (int) de la `Voiture`.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### Voiture

public Voiture(double v)
Permet de construire une voiture avec une `vitesse` v donnée.

Parameters:
  `v` - (vitesse)

## Method Details

### getVitesse

public double getVitesse()
Retourne la `vitesse` (double) de la `Voiture`

Returns:
  vitesse
See Also:
  - `accelere(double)`

### getPuissance

public int getPuissance()
Retourne la `puissance` (int) de la `Voiture`

Returns:
  puissance
See Also:
  - `setPuissance(int)`
  - `accelere(double)`
  - `demarre(int)`

### getListeVoitures

public static ArrayList<Voiture> getListeVoitures()
Retourne la liste statique de `Voitures`

Returns:
  liste de voitures

### getNom

public String getNom()
Retourne le `nom` (String) de la `Voiture`

Returns:
  nom
See Also:
  - `setNom(String)`

### isDemarre

public boolean isDemarre()
Retourne `true` si la `Voiture` est démarrée, `false` sinon.

Returns:
  estDémarrée
See Also:
  - `demarre()`

### getDate

public Date getDate()
Retourne la `date` (Date) de la `Voiture`

Returns:
  date
See Also:
  - `setDate(Date)`

### setPuissance

public void setPuissance(int p)
Permet de régler la `puissance` (int) de la `Voiture`.

Parameters:
  `p` - (puissance)
See Also:
  - `accelere(double)`
  - `demarre(int)`

### accelere

public void accelere(double a)
Permet d'augmenter la `vitesse` de +`a`.
Il faut que l'accélération + la vitesse soit inférieur à la `puissance`

- Si elles sont inférieures ou égales à la puissance, alors la `vitesse` sera modifiée
- Dans le cas contraire, le programme renverra une erreur à la sortie.

Parameters:
  `a` - (acceleration)

### setNom

public void setNom(String n)
Permet de régler le `nom` (String) de la `Voiture`.

Parameters:
  `n` - (nom)

### demarre

public void demarre()
Permet démarrer la `Voiture`. Force la valeur `estDemarre` à `true`.
Il est possible de démarrer avec une vitesse donnée.

See Also:
  - `demarre(int)`

### demarre

public void demarre(int v)
Permet de démarrer la `Voiture`, mais cette fois-ci avec une vitesse donnée. La vitesse ne doit pas dépasser la puissance donnée.

Parameters:
  `v` - (vitesse initiale)
See Also:
  - `accelere(double)`
  - `demarre()`

### setDate

public void setDate(Date d)
Permet de choisir la `date` de création de la `Voiture`

Parameters:
  `d` - (date)