Annuncio

Collapse
No announcement yet.

Programmare in Java

Collapse
X
 
  • Filter
  • Ora
  • Show
Clear All
new posts

  • Programmare in Java

    Salve a tutti, apro questo topic per chiedere alcuni chiarimenti riguardo a particolari costrutti del linguaggio di programmazione Java.

    Mi sto preparando per l'esame di programmazione, che verte sul java.
    Sono arrivato a buon punto con lo studio, ma mi sono fermato alle interfaccie.

    La prime domande sono (stile Roscio):

    1)"Cosa sono le interfaccie?"
    2)"Cosa le differenzia dalle classi?"
    3) "Perchè utilizzare le interfaccie?"
    4) "L'interfaccia si definisce in file java a parte e poi si implementa?"

    A parte:

    1)"Che differenza c'è fra la ricorsione e l'iterazione?"


    Grazie per eventuali risposte...

    perchè lo hai detto tu che sei ogni sapiente

  • #2
    Originariamente Scritto da Smallman_647 Visualizza Messaggio
    1)"Che differenza c'è fra la ricorsione e l'iterazione?"
    Mi spiace, ma posso solo dirti cos'è l'iterazione
    Ad esempio se vuoi ripetere un operazione un determinato numero di volte, invece di riscrivere sequenzialmente l'istruzione corrispondente ti risulterà decisamente più comodo inserire in un ciclo l'istruzione che si ripete. Creando questo ciclo risparmierai molto tempo e spazio. La ricorsione, a intuito, credo sia l'opposto, cioè di scrivere tutte le istruzioni volta per volta.

    Noi il java non lo usiamo, tra un mese ho l'esame di programmazione ma stiamo usando il linguaggio C. Sono arrivato fino al capitolo dove parlava dei puntatori e a quel punto ho mandato tutto a putt***

    Comment


    • #3
      Originariamente Scritto da sssebi Visualizza Messaggio
      Mi spiace, ma posso solo dirti cos'è l'iterazione
      Ad esempio se vuoi ripetere un operazione un determinato numero di volte, invece di riscrivere sequenzialmente l'istruzione corrispondente ti risulterà decisamente più comodo inserire in un ciclo l'istruzione che si ripete. Creando questo ciclo risparmierai molto tempo e spazio. La ricorsione, a intuito, credo sia l'opposto, cioè di scrivere tutte le istruzioni volta per volta.
      Grazie innanzitutto per la risposta. Comunque, ho scritto male la domanda. Cioè, so già che cos'è l'iterazione e anche bene(l'ho fatta l'anno scorso in C e quest'anno in java); Intendevo "che cos'è la ricorsione?" E quali sono le differenze rispetto alla iterazione.

      Comunque, sicuramente non è scrivere un'istruzione per volta...
      Se non ho capito male, dovrebbe essere la ripetizione di un metodo, all'interno del metodo stesso.


      Noi il java non lo usiamo, tra un mese ho l'esame di programmazione ma stiamo usando il linguaggio C. Sono arrivato fino al capitolo dove parlava dei puntatori e a quel punto ho mandato tutto a putt***

      Si, lo so. I puntatori in C sono una delle cose più pallose al mondo...

      perchè lo hai detto tu che sei ogni sapiente

      Comment


      • #4
        Riutilizzo questo topic per un'altra piccola domanda.

        Praticamente, ogni tanto, sfoglio le API (librerie che illustrano tutti i metodi e le classi del pacchetto java) su internet e fin qui tutt'ok. Il problema è che ho letto che le API si possono scaricare sul computer, senza dover per forza accedere a internet, anche perchè non dispongo sempre di una connessione a internet. Da dove si scaricano?

        La pagina dovrebbe essere questa, ma non riesco a trovare il download.

        http://www.oracle.com/technetwork/ja...ads/index.html

        perchè lo hai detto tu che sei ogni sapiente

        Comment


        • #5
          Se non l'hai ancora trovato te lo dico, in fondo alla pagina nella tabella "additional resources" c'è il riquadro con scritto "java se 6 documentation", clicca sul pulsante "download zip" subito a destra...

          Steck Bratwurst in dein Sauerkraut!

          Comment


          • #6
            Originariamente Scritto da Kingofkings84 Visualizza Messaggio
            Se non l'hai ancora trovato te lo dico, in fondo alla pagina nella tabella "additional resources" c'è il riquadro con scritto "java se 6 documentation", clicca sul pulsante "download zip" subito a destra...
            Grazie. Che ciecato!
            Domani lo scarico con un'altra connessione per vedere se è quello che con la pennina della wind c'è il limite di mb.

            perchè lo hai detto tu che sei ogni sapiente

            Comment


            • #7
              Originariamente Scritto da Smallman_647 Visualizza Messaggio
              Salve a tutti, apro questo topic per chiedere alcuni chiarimenti riguardo a particolari costrutti del linguaggio di programmazione Java.

              Mi sto preparando per l'esame di programmazione, che verte sul java.
              Sono arrivato a buon punto con lo studio, ma mi sono fermato alle interfaccie.

              La prime domande sono (stile Roscio):

              1)"Cosa sono le interfaccie?"
              2)"Cosa le differenzia dalle classi?"
              3) "Perchè utilizzare le interfaccie?"
              4) "L'interfaccia si definisce in file java a parte e poi si implementa?"

              A parte:

              1)"Che differenza c'è fra la ricorsione e l'iterazione?"


              Grazie per eventuali risposte...
              1)Un' interfaccia è sostanzialmente una raccolta di dichiarazioni di metodi astratti.
              Quando tu implementi un'interfaccia in una classe sei costretto ad implementare tutti i suoi metodi.
              Ad esempio: Se tu implementi l'interfaccia ActionListener (se hai già messo le mani sulle interfaccie grafiche ne avrai già sentito parlare) sei costretto a realizzare anche il suo metodo ActionPerformed.
              Ti consiglio di scrivere una classe che implementi un'interfaccia per capire bene

              2)Un interfaccia, a differenza di una classe può contenere solo costanti e metodi astratti.
              Un'altra differenza è appunto che quando implementi un'interfaccia sei costretto a realizzare tutti i suoi metodi, se non lo fai avrai un errore di compilazione.

              3)E' utile perchè spesso capita che chi scrive le classi poi non sia l'unico che le debba utilizzare.
              Sempre riprendendo l'esempio di prima, quella di ActionListener, è utile che essa sia un'interfaccia perchè una volta implementata ti obbliga a realizzare il suo metodo ed usarlo secondo le tue esigenze. Ti ritroverai quindi ad avere già il metodo ActionPerformed con la giusta firma.

              Un altro esempio:
              Hai due classi, Triangolo e Quadrato, esse contengono attributi relativi ai valori dei lati ed angoli.
              Entrambe le classi dispongono di metodi necessari per il calcolo del perimetro e dell'area, calcolaPerimetro() e calcolaArea().
              Per evitare di riscrivere ogni volta le firme dei metodi (in questo caso le classi sono solo 2, ma potrebbero esserci anche Pentagono, Esagono ecc...), che potremmo o scordarci di farne uno, o magari sbagliarne la firma ci basta fare un interfaccia, ad esempio

              public Interface FiguraGeometrica{
              public void calcolaArea();
              public void calcolaPerimetro();
              }

              Ora, implementando questa interfaccia i due metodi dovranno essere scritti per forza nelle nostre classi, così facendo preverremo eventuali errori oltre che avere una scrittura del codice più veloce

              4)Sì, crei un nuovo File e selezioni al posto di una Java Class una Java Interface, almeno è così in NetBeans, ma non credo cambi con altri IDE.
              Poi questa interfaccia la dovrai implementare usando l'operatore implements.

              ------

              1)La ricorsione non ne ho la più pallida idea di cosa sia, mi spiace
              sigpic

              Comment


              • #8
                Originariamente Scritto da Smallman_647 Visualizza Messaggio

                A parte:

                1)"Che differenza c'è fra la ricorsione e l'iterazione?"
                Grazie per eventuali risposte...
                Di Java non so nulla ma ho affrontato ricorsione e iterazione in Matlab.
                Sostanzialmente la ricorsione è una tecnica di programmazione nella quale una funzione richiama sè stessa. Il metodo che ne sta alla base è quello induttivo.
                Una buona ricorsione deve presentare 2 parti:
                - un caso base, che consente di arrivare alla terminazione della ricorsione.
                - un caso ricorsivo, la parte del programma in cui la funzione richiama sè stessa.
                Per quanto quasi tutti i problemi ricorsivi possono essere risolti anche con l'iterazione, ve ne sono alcuni che risulterebbero troppo complicati con quest'ultimo metodo. Ti invito a cercare qualcosa sulla "Torre di Hanoi".
                Ti posto anche un esempio di funzione ricorsiva che calcola il fattoriale:
                function[f]=fattorialeRicorsivo(n)
                if (n==0)
                f=1
                else f=f*fattorialeRicorsivo(n-1)
                end
                Qua sopra, n==0 rappresenta il caso base che consente alla funzione di terminare, mentre la parte che segue l'else è quella della ricorsione.

                Comment


                • #9
                  Grazie a tutti per le risposte.

                  Peccato che dal 22 dicembre che ho postato le domande ad ora, sono riuscito a capire ricorsione, interfaccie, polimorfismi, grafica e tante altre cose...

                  perchè lo hai detto tu che sei ogni sapiente

                  Comment

                  Working...
                  X