Update Python Object Oriented Programming
@@ -17,7 +17,7 @@ class Firkant:
|
||||
```
|
||||
Vi starter med at definere en klasse, ved navn **firkant**. Denne klasse får en inititialiceringsmetode, som indeholde den specielle variabel **self**, samt de parametre som skal bruges til at oprette objektet.
|
||||
I dette tilfælde, *lg* og *br*, begge af typen **int** - Dette kaldes type hinting.
|
||||
I **\__init__(self, lg: int, br: int)** metoden, opretter vi 2 variabler (*self.laengde* og *self.bredde*), som tildeles værdierne fra *lg* og *br*.
|
||||
I **\_\_init\_\_(self, lg: int, br: int)** metoden, opretter vi 2 variabler (*self.laengde* og *self.bredde*), som tildeles værdierne fra *lg* og *br*.
|
||||
|
||||
Nu laver vi en ny metode, til udregning af arealet for en firkant.
|
||||
```python
|
||||
@@ -26,7 +26,7 @@ class Firkant:
|
||||
self.laengde = lg
|
||||
self.bredde = br
|
||||
|
||||
def areal(self):
|
||||
def areal(self) -> int:
|
||||
return self.laengde * self.bredde
|
||||
```
|
||||
|
||||
@@ -36,7 +36,7 @@ class Firkant:
|
||||
self.laengde = lg
|
||||
self.bredde = br
|
||||
|
||||
def areal(self):
|
||||
def areal(self) -> int:
|
||||
return self.laengde * self.bredde
|
||||
|
||||
min_firkant = Firkant(10, 10)
|
||||
@@ -61,7 +61,7 @@ class Kube(firkant.Firkant): # Vi opretter en ny klasse - **Kube**, som arver **
|
||||
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):
|
||||
def rumfang(self) -> int:
|
||||
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.
|
||||
@@ -98,7 +98,7 @@ class Firkant:
|
||||
self.laengde = lg
|
||||
self.bredde = br
|
||||
|
||||
def areal(self):
|
||||
def areal(self) -> int:
|
||||
return self.laengde * self.bredde
|
||||
|
||||
print("Værdien af '__name__' er:", __name__) # Vi udskriver her, hvad værdien af "__name__" er.
|
||||
@@ -132,7 +132,7 @@ class Kube(firkant.Firkant): # Vi opretter en ny klasse - **Kube**, som arver **
|
||||
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):
|
||||
def rumfang(self) -> int:
|
||||
return self.laengde * self.bredde * self.hojde
|
||||
|
||||
if __name__ == "__main__":
|
||||
@@ -147,7 +147,7 @@ class Firkant:
|
||||
self.laengde = lg
|
||||
self.bredde = br
|
||||
|
||||
def areal(self):
|
||||
def areal(self) -> int:
|
||||
return self.laengde * self.bredde
|
||||
|
||||
# print("Værdien af '__name__' er:", __name__) # Vi udskriver her, hvad værdien af "__name__" er.
|
||||
@@ -163,3 +163,21 @@ Når vi nu kører **kube.py**, får vi følgende.
|
||||
Grundareal: 100
|
||||
>
|
||||
```
|
||||
En sidste ting, vi kan gøre nemmere at læse, er at rette vores import. I stedet for at importere filen, ønsker vi kun at importere klassen *Firkant*.
|
||||
Vi retter kube.py.
|
||||
```python
|
||||
from firkant import Firkant # Vi importerer klassen Firkant, fra 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) -> int:
|
||||
return self.laengde * self.bredde * self.hojde
|
||||
|
||||
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())
|
||||
```
|
||||
Reference in New Issue
Block a user