Update Python Object Oriented Programming
@@ -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)
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user