Update Python Object Oriented Programming

2025-03-18 07:29:09 +01:00
parent a876640f1f
commit 563eb29c83

@@ -10,7 +10,7 @@ Dette gøres med en speciel metode **\__init__(self):**
Denne methode køres, med de parametre der nu er defineret, til at indgå i oprettelsen af et objekt af klassen.
Opret en ny fil.
```python
class firkant:
class Firkant:
def __init__(self, lg: int, br: int):
self.laengde = lg
self.bredde = br
@@ -21,7 +21,7 @@ I **\__init__(self, lg: int, br: int)** metoden, opretter vi 2 variabler (*self.
Nu laver vi en ny metode, til udregning af arealet for en firkant.
```python
class firkant:
class Firkant:
def __init__(self, lg: int, br: int):
self.laengde = lg
self.bredde = br
@@ -31,7 +31,7 @@ class firkant:
```
```python
class firkant:
class Firkant:
def __init__(self, lg: int, br: int):
self.laengde = lg
self.bredde = br
@@ -39,7 +39,7 @@ class firkant:
def areal(self):
return self.laengde * self.bredde
min_firkant = firkant(10, 10)
min_firkant = Firkant(10, 10)
print("Arealet er:", min_firkant.areal())
```
Gem filen som firkant.py
@@ -48,4 +48,23 @@ Kør skriptet.
> python firkant.py
Arealet er: 100
>
```
```
## Inheritance (nedarving)
Python klasser kan arve hinandens funktionalitet - d.v.s. at den nye klasse får forældreklassens variabler og metoder.
Vi vi nu lave en klasse - **kube** som arver fra **firkant**. På samme tid vil vi begynde at se på import, og vigtigheden af at kontrollere hvornår python udfører kode.
Vi starter med en ny fil - **kube.py**
```python
import firkant # Vi importerer firkant.py filen
class Kube(Firkant): # Vi opretter en ny klasse - **kube**, som arver **firkant**'s funktionalitet.
def __init__(self, lg:int, br:int ho: int):
Super.__init__(lg, br) # Vi initialiserer **firkant**, med værierne *lg* og *br*. Dette gøres med den specielle funktion **Super**, som refererer til den arvede klasse.
self.hojde = ho
def rumfang(self):
return self.laengde * self.bredde * self.hojde
min_kube = Kube(10, 10, 10) # De 3 værdier er **lg**, **br**, **ho** - Alle sat til 10.
print("Rumfang :", min.kube.rumfang)
```