from github to this gitea

This commit is contained in:
oscar.plaisant@icloud.com
2023-10-23 23:09:51 +02:00
commit a2ee0fa5ca
2898 changed files with 307871 additions and 0 deletions

46
java héritage.md Normal file
View File

@@ -0,0 +1,46 @@
---
alias: "héritage"
---
up::[[java]], [[paradygme programmation orientée objet|OOP]]
#informatique
----
> [!définition]
> - création d'une nouvelle classe **dérivée** à partir d'une **classe de base**
> - la classe dérivée _hérite_
> - des attributs
> - des méthodes
> - on peut ajouter / modifier ces attributs hérités
on utilise `extends` pour faire hériter une classe :
```java
/* a Square is a Shape
* so it inherits from Shape */
public class Square extends Shape {
/* [...] */
}
```
> [!note] accès aux attributs
> une méthode de classe dérivée n'a pas accès aux attributs privés (`private`) de sa classe de base
> [!définition] super
> `super` désigne la classe parent au sein d'une classe héritée
> [!definition] Constructeur
> Pour redéfinir le constructeur d'une classe héritée :
> - On utilise le même nom
> - On appelle `super([args])` en première ligne pour d'abord appeller le constructeur de la méthode parent
> [!note] redéfinition d'une méthode héritée
> - la **redéfinition** doit conserver la signature de la méthode parente
> - Si la signature change --> _surcharge_
> [!note] la classe `Object`
> - toute classe dérive implicitement de `Object`
> - `Object` contient 2 méthodes par défaut (toutes les classes en héritent)
> - `toString` : adresse de l'objet (comme `string`)
> - `Equals` : comparaison des adresses