Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179

    <dal c++ al java> classi e funzioni

    1° Volevo sapere quali differenze assumono le classi e le funzioni dal c++ e java perchè non riesco a capire come cambiano le cose...

    2° perchè inoltre java deve per forza incominciare con una classe e il main deve stare al suo interno. questo concetto mi è strano, visto che con il c++ una cosa del genere non l'avevo mai vista...

  2. #2
    1) La differenza principale e' che in Java le funzioni fanno sempre parte di una classe e (tranne quelle statiche) lavorano su un oggetto che e' il parametro "implicito", esattamente come le funzioni membro di C++.

    2) Perche C++ e' ibrido. Eredita la programmazione funzionale dal C e vi aggiunge le classi. In Java ci sono solo le classi. Il tuo programma _E'_ una classe.
    Non esiste niente al di fuori delle classi.
    Non nominare il nome delle classi invano...
    Ehm... Sto esagerando...
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  3. #3
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    ma in java il prototipo non esiste, la funzione ha corpo e prototipo insieme vero?

  4. #4
    A cosa servirebbe avere il prototipo?
    Il metodo (cioe' la funzione) appartiene alla classe.
    E la classe e' completamente contenuta nel file .class che la rappresenta.
    Insomma, non puoi "dichiarare" il metodo di una classe in un file e poi scriverne il corpo in un altro...
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  5. #5
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    Quindi se ho capito bene,le funzioni prendono il nome di metodi, e a differenza del c++ queste funzioni che diventono metodi appunto non hanno prototipi ma solo corpo, perchè chiuso comunque in una classe, ma allora il java deve contenere una classe che racchiude tutto?

  6. #6
    Considera che il compilatore java e' parecchio "brillante". Molte cose le fa da solo. Inoltre, la filosofia di base e' di eliminare o limitare le possibili cause di errore nella programmazione (in part. ad oggetti)
    Pretendere dall'utente il prototipo di una funzione puo' essere causa di errore, se per esempio si specificano i parametri nell'ordine sbagliato.

    il java deve contenere una classe che racchiude tutto?
    In che senso? Piu' propriamente, il tuo programma deve contenere una classe che racchiude tutto.
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  7. #7
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    sto parlando del main... scusa mi sono espresso male.
    e comunque tutto le funzioni sono eliminate, solo metodi, (quindi niente più problemi di prototipi!! )

  8. #8
    In realta' ogni tua classe puo' avere un metodo main. Questo ti consente di testare una classe senza dover scrivere per forza un programma che la utilizzi.
    Non e' cmq una cosa da abusare...
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.