Programmering
  1. Teori
  2. Data
  3. Indkapsling
  • Eksamen
  • Projektarbejde
  • Synopsis
  • Cheatsheets
    • Python cheatsheet
    • Rust cheatsheet
    • Kodningsplatforme
  • Opsætning
    • Git
    • Python
    • Rust
    • VScode
  • Teori
    • Arbejdsproces
      • Abstraktion
      • Fejlfinding
      • Generalisering
      • Git
      • Kommentarer
      • Moduler
      • Pakker
    • Data
      • Datastrukturer
      • Datatyper
      • Ejerskab og referencer
      • Enum
      • Hukommelse og pointers
      • Indkapsling
      • Polymorfi
      • Struct
    • Diagrammer
      • Brugerhistorier
      • Klassediagrammer
      • Rutediagrammer
      • Tegneprogrammer
    • Logik
      • Anonyme Funktioner
      • Fejlhåndtering
      • Grådig algoritme
      • Metaprogrammering
      • Samtidig programmering
  • Studieområdet
    • Forslag til emner
    • Empiri
    • Metoder i Programmering

På denne side

  • Begrænset adgang
  1. Teori
  2. Data
  3. Indkapsling

Indkapsling

Teori

Udgivet

30. marts 2026

Indkapsling forbindes ofte med objektorienteret kodning, men det kan bruges indenfor alle programmeringsparadigmer.

In software systems, encapsulation refers to the bundling of data with the mechanisms or methods that operate on the data. It may also refer to the limiting of direct access to some of that data, such as an object’s components. – wiki

En klasse/struct giver netop mulighed for at samle data med tilhørende metoder.

Begrænset adgang

Man bruger ordene privat og offentlig til at betegne om elementer udenfor en indkapsling kan anvende fx variabler og funktioner indenfor indkapslingen.

I Python kan en klasses medlemmer indikeres (men ikke håndhæves) som private vha. _ eller __. Sidstnævnte vil gøre adgangen mere unik vha. name mangling (navneforvrængning).

I Rust er alt som udgangspunkt privat, men kan gøres offentligt vha. pub nøgleordet. Se moduler, [1] og Rust reference: Visibility and privacy.

Tilbage til toppen

Referencer

[1]
S. Klabnik og C. Nichols, “18. Object-Oriented Programming Features of Rust”, i The Rust Programming Language, No Starch Press. Tilgængelig hos: https://doc.rust-lang.org/book/ch18-00-oop.html

ZBC Slagelse HTX

Senest redigeret d. 30. marts 2026

JACS