Update Python Object Oriented Programming

2025-03-18 08:42:41 +01:00
parent 93e008d22c
commit 327c84bb77

@@ -56,14 +56,14 @@ Vi starter med en ny fil - **kube.py**
```python
import firkant # Vi importerer firkant.py filen
class Kube(firkant.Firkant): # Vi opretter en ny klasse - **kube**, som arver **Firkant**'s funktionalitet, fra filen *firkant.py*.
class Kube(firkant.Firkant): # Vi opretter en ny klasse - **Kube**, som arver **Firkant**'s funktionalitet, fra filen *firkant.py*.
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.
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())
```
@@ -122,14 +122,14 @@ Hvis vi så kører kube.py istedet.
Rumfang: 1000
>
```
Som vi nu kan se, har værdien af '__name__' ændret sig, når filen bliver importeret.
Vi vil nu ændre *kube.py*, på samme måde.
Som vi nu kan se, har værdien af '\_\_name\_\_' ændret sig, når filen bliver importeret.
Vi vil nu ændre *kube.py*, på samme måde. Samtidig tilføjer vi udskrivning af 'Areal', for at vise at **Kube** har arvet metoden **areal()** fra **Firkant**.
```python
import firkant # Vi importerer firkant.py filen
class Kube(firkant.Firkant): # Vi opretter en ny klasse - **kube**, som arver **Firkant**'s funktionalitet, fra filen *firkant.py*.
class Kube(firkant.Firkant): # Vi opretter en ny klasse - **Kube**, som arver **Firkant**'s funktionalitet, fra filen *firkant.py*.
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.
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):
@@ -138,8 +138,9 @@ class Kube(firkant.Firkant): # Vi opretter en ny klasse - **kube**, som arver **
if __name__ == "__main__":
min_kube = Kube(10, 10, 10) # De 3 værdier er **lg**, **br**, **ho** - Alle sat til 10.
print("Rumfang:", min_kube.rumfang())
print("Grundareal:", min_kube.areal())
```
Ligeledes vil vi udkommentere udskrivning af '__name__' værdien, i *firkant.py*.
Ligeledes vil vi udkommentere udskrivning af '\_\_name\_\_' værdien, i *firkant.py*.
```python
class Firkant:
def __init__(self, lg: int, br: int):
@@ -155,3 +156,10 @@ if __name__ == "__main__":
min_firkant = Firkant(10, 10)
print("Arealet er:", min_firkant.areal())
```
Når vi nu kører **kube.py**, får vi følgende.
```console
> python kube.py
Rumfang: 1000
Grundareal: 100
>
```