Differenza tra costrutto e metodo

di il
5 risposte

Differenza tra costrutto e metodo

Ciao a tutti chi mi spiega cosa è un costrutto? Perchè viene definito un costrutto? E la differenza con il metodo

5 Risposte

  • Re: Differenza tra costrutto e metodo

    Sicuro che il termine sia costrutto e non costruttore?
  • Re: Differenza tra costrutto e metodo

    In effetti mi chiedevo quale fosse il nesso ...
  • Re: Differenza tra costrutto e metodo

    migliorabile ha scritto:


    Sicuro che il termine sia costrutto e non costruttore?
    Madò scusatemi purtroppo ragazzi stò imparando da qualche mese a programmare e devo ancora familiarizzare con i termini.

    Era costruttore e volevo sapere se ad esempio scrivo dopo aver dichiarato la classe : autoveicoli fiat= new autoveicoli() volevo sapere "autoveicoli ()" indica il costruttore ed autoveicoli davanti a fiat indica il tipo di dato? Spero mi chiariate la sintassi grazie e p.s. giacchè ci siete se volete ed avete pietà di me se volete dirmi cosa è un costrutto vi prego ho fatto tanta fatica per arrivare a capire le basi della programmazione fino a giungere alla programmazione ad oggetti.
  • Re: Differenza tra costrutto e metodo

    La fatica e' inversamente al numero di libri usati.

    Se stai tentando di imparare a programmare solo con YouTube e con quello che trovi su Internet, e' certo che troverai difficolta' anche maggiori.

    Comunque ...

    Il termine metodo e' un approssimativamente un sinonimo di funzione e procedura (termini della programmazione procedurale), usato nella programmazione ad oggetti.

    Un metodo differisce da una funzione (o da una procedura) per il fatto che e' sempre e neccessariamente associato ad un oggetto.

    Scrivere:
    
    risultato = oggetto.funzione(arg1, arg2)
    
    e' piu' o meno equivalente a scrivere
    
    risultato = funzione(oggetto, arg1, arg2)
    
    Il piu' o meno ha a che fare con alcuni concetti specifici della programmazione ad oggetti: l'ereditarieta tra classi e l'override di un metod di una classe padre in una classe figlia.

    Ma questo e' un'altro discorso.

    Il costruttore e' un metodo speciale perche' e' responsabile della creazione dell'oggetto. Il suo duale e' il distruttore responsabile della sua distruzione.

    Il costruttore e' sempre presente in tutti i linguaggi di programmazione ad oggetti. Invece il distuttore e' presente in modo esplicito solo in alcuni linguaggi, come il C++, mentre in altri linguaggi, come Java, Python, basati su garbage collector, non e' direttamente accessibile al programmatore (ci sono altri meccanismi per gestire la distruzione)

    Il problema che il costruttore risolvere e' il seguente:

    quando si scrive
    
    autoveicoli fiat = new autoveicoli()
    
    il runtime del liguaggio deve:

    1) allocare lo spazio (un certo numero di byte) necessario per contenere un oggetto del tipo indicato

    2) inizializzare le strutture interne dell'oggetto, necessarie a supportare la programmazione ad oggetti, come ad esempio il puntatore verso un'altro oggetto che rappresenta la classe a cui l'oggetto appena creato appartiene (e che contiene l'informazione relativa all'implementazione dei metodi associati a quella classe)

    3) inizializzare i campi di cui l'oggetto di quella classe e ' composta.

    4) ritornare il puntatore all'oggeto al codice chiamante

    E' ovvio che prima della chiamata del costruttore l'oggetto non esiste, e durante l'esecuzione del costruttore, l'oggetto e' parzialmente creato. Solo al termine dell'esecuzione del costruttore, l'oggetto puo' considerarsi completamente inizializzato e pronto per essere utilizzato.

    Naturalmente c'e' molto altro da dire ...

    Per questo ci sono interi capitoli, nei libri ...


    Il termine costrutto (di controllo) e' un sinonimo di struttura (di controllo).
  • Re: Differenza tra costrutto e metodo

    Capito beh diciamo che dal punto dell'informatica di base mi sono basato su videolezioni della uninettuno e devo dire che rispecchia quanto scritto sui libri tra l'altro anche consigliati dai prof. stessi.

    Sulla programmazione ad oggetti effettivamente un libro mi ci vorrebbe se ne hai in mente qualcuno e vorresti consigliarmelo ti ringrazio e colgo l'occasione per augurarti buon anno.

    Grazie per la disponibilità
Devi accedere o registrarti per scrivere nel forum
5 risposte