33 lines
1.1 KiB
Markdown
33 lines
1.1 KiB
Markdown
---
|
|
aliases:
|
|
- objet de première classe
|
|
- entité de première classe
|
|
- valeur de première classe
|
|
---
|
|
up:: [[programmation]]
|
|
#s/informatique
|
|
|
|
> [!definition] objet de première classe
|
|
> Un citoyen (ou entité, ou objet, ou valeur) de première classe est une entité qui peut être utilisée *sans restrictions*, c'est-à-dire qu'elle peut être traîtée comme les autres objets ou valeurs du langage.
|
|
^definition
|
|
|
|
> [!example] Implications dans différents langages
|
|
> - être expressible comme valeur anonyme littérale
|
|
> - être affecté à des variables ou dans des [[structure de données|structures de données]]
|
|
> - avoir une identité intrinsèque
|
|
> - être comparable (pour l'égalité ou l'identité)
|
|
> - pouvoir être passé comme paramètre à une procédure / fonction
|
|
> - pouvoir être renvoyé par une procédure ou une fonction
|
|
> - pouvoir être constructible lors de l'exécution
|
|
|
|
> [!smallquery]+ Sous-notes de `$= dv.el("span", "[[" + dv.current().file.name + "]]")`
|
|
> ```breadcrumbs
|
|
> type: tree
|
|
> collapse: false
|
|
> mermaid-direction: LR
|
|
> mermaid-renderer: elk
|
|
> show-attributes: [field]
|
|
> field-groups: [downs]
|
|
> depth: [0, 1]
|
|
> ```
|