Aiuto homework3 programmazione ad oggetti

FrancescoMauto (1000 points)
1 13 20
asked Dec 9, 2018 in Es2 by FrancescoMauto (1,000 points)
recategorized Dec 9, 2018 by andrea.sterbini
Cercando di svolgere gli esercizi 2 e 3 del terzo hw mi trovo in difficolta` con la programmazione ad oggetti.

Non riesco a capire come gestire l'istanza di una classe all'interno di un' altra classe. Oppure quando mi viene detto di inserire in Film un oggetto di classe Attore(es.3) non capisco,dopo averlo inserito,come interagirci negli altri metodi. Spero che qualcuno mi possa dare una mano con qualche suggerimento o consiglio. Io nel mentre sto cercando di studiare meglio l'argomento,sia con gli appunti presi a lezione,che con il libro e con nozioni prese da internet.

2 Answers

g
gvenanzi (1650 points)
1 2 11
answered Dec 9, 2018 by gvenanzi (1,650 points)
allora,

inserire in un oggetto Film un oggetto di classe Attore, significa inserire il riferimento all'oggetto di tipo attore nell'oggetto di tipo film

se scrivo:

cane = istanza di tipo attore

cane contiene il riferimento in memoria dell'oggetto di tipo attore e se volessi prendere qualche attributo dell'oggetto attore potrei fare:

cane.attributo_di_attore

quindi se inserisci cane in un altro oggetto quello che inserisci è sempre il riferimento all'oggetto attore

non ti devi fossilizzare a come hai chiamato la variabile ma quello che la variabile contiene

se inserisci delle istanze di un oggetto nella lista di in un altro oggetto, itera questa lista e considera l'elemento della di indice n-esimo come se fosse cane (la variabile di prima); perchè come prima quello che hai è il riferimento all'oggetto in memoria
FrancescoMauto (1000 points)
1 13 20
commented Dec 9, 2018 by FrancescoMauto (1,000 points)
Ti ringrazio molto, cercherò di sfruttare questo consiglio!
g
gianluca (1270 points)
1 12 19
commented Dec 9, 2018 by gianluca (1,270 points)
nel for dove scorro gli attori di ogni film che istruzione bisogna passare? bisogna richiamare la classe Film con argomento il dizionario catalogo_attori? scusate se non posto una nuova domanda ma l'argomento è quello più o meno
g
gvenanzi (1650 points)
1 2 11
commented Dec 9, 2018 by gvenanzi (1,650 points)
lista_incredibile[elemento n-esimo] questo è già un riferimento al all'oggetto

è come avere cane dell'esempio che ho fatto prima

cane o lista_incredibile[elemento n-esimo] non è altro che una etichetta con cui chiami quel riferimento in memoria
Xriuk (13590 points)
0 24 116
answered Dec 10, 2018 by Xriuk (13,590 points)

All'interno delle classi puoi avere diverse variabili (attributi) indicati con self.nome e queste variabili possono essere di qualsiasi tipo (quindi anche un'altra classe), per accedere ad attributi o metodi di un'altra classe da dentro una classe procedi in sequenza, ad esempio:

self.actor.nome()

Così accedi ad un ipotetico attributo actor (di tipo Attore) all'interno della tua classe, e richiami il suo metodo nome()

FrancescoMauto (1000 points)
1 13 20
commented Dec 10, 2018 by FrancescoMauto (1,000 points)
Grazie mille! Spero di riuscire a sfruttare al meglio i vostri consigli