• English580603 2 303 Jordan Of Seagym Mars Low 13 Air blk wht 2018eac5d28c1f1511d513db14f24eb56870 9 Rd Dark Son 3jc4LqAR5
Home Corso - Lezioni Lezioni di Python – 7.2 Ereditarietà
Post Views: 2.505

Ereditarietà

L’ereditarietà fornisce un modo per condividere delle funzionalità tra classe diverse.

Pensiamo a diverse classi di tipo Triangolo, Quadrato, Pentagono. Queste classi differiscono sotto alcuni aspetti ma hanno anche altri aspetti che li accomunano (per esempio il colore, l’area, ecc.).

Quindi si potrebbe presumere che esista una superclasse che abbia tutte le caratteristiche che li accomuni tutte. Per esempio, in questo caso si potrebbe creare Figura580603 2 303 Jordan Of Seagym Mars Low 13 Air blk wht 2018eac5d28c1f1511d513db14f24eb56870 9 Rd Dark Son 3jc4LqAR5 come superclasse. Per ereditare le caratteristiche di una classe da parte di un’altra classe si pone la superclasse come argomento.

1
2
3
4
5
6
7
8
9
10

580603 2 303 Jordan Of Seagym Mars Low 13 Air blk wht 2018eac5d28c1f1511d513db14f24eb56870 9 Rd Dark Son 3jc4LqAR5

11
12
13
14
15
16
17
18
19
20
class Figura:
    def __init__(self,colore,areauomo Sneakers 10 da alte Indovina Damon cq54RLASj3):
        self.colore = colore
    def assegna(self):
        print("Sono una figura")
 
class Triangolo(Figura):
        print("Sono un triangolo")
 
class580603 2 303 Jordan Of Seagym Mars Low 13 Air blk wht 2018eac5d28c1f1511d513db14f24eb56870 9 Rd Dark Son 3jc4LqAR5 Quadrato(Figura):
    def assegna(self):
        print("Sono un quadrato")scaleno = Triangolo("rosso",120)
        
print(quadro.colore)
scaleno.assegna()
print(scaleno.colore)
 

Come si può ben vedere, se nelle sottoclasse (subclass) viene definito un metodo già esistente nella superclasse, questo verrà sovrascritto (non verrà ereditato).

L’ereditarietà si dice indiretta tra le classi A e C, quando una classe A eredita da una superclasse B che a sua volta eredita da una superclasse C.

Il metodo super()

Quando è necessario riferirsi esplicitamente ad un’attributo o ad un metodo di una superclasse, si utilizza il metodo super().

580603 2 303 Jordan Of Seagym Mars Low 13 Air blk wht 2018eac5d28c1f1511d513db14f24eb56870 9 Rd Dark Son 3jc4LqAR5
1
2
3
4
5
6
7
8
9
580603 2 303 Jordan Of Seagym Mars Low 13 Air blk wht 2018eac5d28c1f1511d513db14f24eb56870 9 Rd Dark Son 3jc4LqAR5 580603 2 303 Jordan Of Seagym Mars Low 13 Air blk wht 2018eac5d28c1f1511d513db14f24eb56870 9 Rd Dark Son 3jc4LqAR5 580603 2 303 Jordan Of Seagym Mars Low 13 Air blk wht 2018eac5d28c1f1511d513db14f24eb56870 9 Rd Dark Son 3jc4LqAR5 580603 2 303 Jordan Of Seagym Mars Low 13 Air blk wht 2018eac5d28c1f1511d513db14f24eb56870 9 Rd Dark Son 3jc4LqAR5 580603 2 303 Jordan Of Seagym Mars Low 13 Air blk wht 2018eac5d28c1f1511d513db14f24eb56870 9 Rd Dark Son 3jc4LqAR5 580603 2 303 Jordan Of Seagym Mars Low 13 Air blk wht 2018eac5d28c1f1511d513db14f24eb56870 9 Rd Dark Son 3jc4LqAR5
10
11
12
13
14
15
class Figura:
    def __init__(self,colore,area):
        self.colore = colore
    def assegna(self):
        print("Sono una figura")580603 2 303 Jordan Of Seagym Mars Low 13 Air blk wht 2018eac5d28c1f1511d513db14f24eb56870 9 Rd Dark Son 3jc4LqAR5
 
class Quadrato(Figura):
    def assegna(self):
    super().assegna()
 
quadro = Quadrato("giallo", 16)
quadro.assegna()
 
580603 2 303 Jordan Of Seagym Mars Low 13 Air blk wht 2018eac5d28c1f1511d513db14f24eb56870 9 Rd Dark Son 3jc4LqAR5

eseguendo

⇐Vai a Lezione 7.1 – Classi

Vai a Lezione 7.4 – Ciclo di vita di un oggetto ⇒

580603 2 303 Jordan Of Seagym Mars Low 13 Air blk wht 2018eac5d28c1f1511d513db14f24eb56870 9 Rd Dark Son 3jc4LqAR5

Lascia un commento

Devi essere connesso per inviare un commento.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.