Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(appunti): [Anno1] Programmazione orientata agli oggetti #75

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

toita86
Copy link

@toita86 toita86 commented Nov 22, 2023

Questi sono i miei appunti di programmazione orientata agli oggetti, al momento la cartella contiene tutti gli argomenti suddivisi per cartelle. Mi scuso in anticipo se non sono appunti della più fine qualità ma avevo appena iniziato a usare il sistema di note taking e il mark down.

@ncvescera ncvescera added the nuovo materiale Aggiunta di nuovi appunti/dispense per un esame label Nov 23, 2023
@ncvescera ncvescera changed the title [Anno1] Appunti programmazione orientata agli oggetti feat(appunti): [Anno1] Programmazione orientata agli oggetti Nov 23, 2023
@ncvescera
Copy link
Member

@toita86 Grazie mille per il tuo contributo 🚀

Anche qui, appena posso ricontrollo e leggo tutto.
Ho comunque alcune domande:

  1. Anche per questi appunti hai un modo per esportarli tutti in un unico PDF ?
  2. In che ordine, sia le cartelle che i file, vanno letti ?
  3. Ho commentato un file che contiene del codice Java che non capisco dove vada

@toita86
Copy link
Author

toita86 commented Nov 25, 2023

  1. In che ordine, sia le cartelle che i file, vanno letti ?

C'è il file P.O.O. in cui c'è l'ordine di lettura per ogni argomento.

  1. Ho commentato un file che contiene del codice Java che non capisco dove vada

Non ha un luogo preciso dove essere messo sta li giusto per avere una visione generale del codice sfrontato a lezione.

@ncvescera
Copy link
Member

  1. In che ordine, sia le cartelle che i file, vanno letti ?

C'è il file P.O.O. in cui c'è l'ordine di lettura per ogni argomento.

  1. Ho commentato un file che contiene del codice Java che non capisco dove vada

Non ha un luogo preciso dove essere messo sta li giusto per avere una visione generale del codice sfrontato a lezione.

Perfetto, chiarito tutto 🚀 Grazie mille.
Per l'esportazione in PDF invece ?

@toita86
Copy link
Author

toita86 commented Nov 26, 2023

Per l'esportazione in PDF invece ?

Come faccio? Meglio uno unico che contiene tutto oppure uno per ogni argomento?

@ncvescera
Copy link
Member

Per l'esportazione in PDF invece ?

Come faccio? Meglio uno unico che contiene tutto oppure uno per ogni argomento?

Se hai la possibilità di scelta meglio un inico PDF.
Avere oltre al markdown un pdf ci aiuta molto sia nella lettrua che nella condivisione e portabilità degli appunti.

Copy link
Member

@ncvescera ncvescera left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ho letto tutti i file Markdown ed ho trovato alcune imprecisione che ho segnalato.

Ho anche qualche dubbio su alcune frasi e concetti che ho sempre riportato tra i vari commenti.

In generale bene, gli apunti sono abbastanza stringati ed essenziali, con alcune frasi un po' difficili da capire ad una prima e veloce lettura. Manca anche la punteggiatura in alcune frasi che aiuterebbe molto a rendere più scorrevole il tutto.

A parte ciò direi che va abbastanza bene, correggi gli errori riportati e carica il PDF così possiamo capire meglio la struttura del documento (ci semplifica anche la vita quando riscriveremo tutto in LaTex) e prendere le foto che non sono state caricate 🦧


- [[Classi e Metodi Abstract]]

## Incapsulazione
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Incapsulazione
## Incapsulamento

@@ -0,0 +1,38 @@
# Overloading di metodi
>È una tecnica usata per varie ragioni, per limitare gli input possibili da dare alle funzioni, incaso di funzioni che usano sempre lo stesso argomento con l'overloading abbiamo la possibilità di fare chiamate di metodo senza usare argomenti
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
>È una tecnica usata per varie ragioni, per limitare gli input possibili da dare alle funzioni, incaso di funzioni che usano sempre lo stesso argomento con l'overloading abbiamo la possibilità di fare chiamate di metodo senza usare argomenti
>È una tecnica usata per varie ragioni, per limitare gli input possibili da dare alle funzioni, in caso di funzioni che usano sempre lo stesso argomento con l'overloading abbiamo la possibilità di fare chiamate di metodo senza usare argomenti

Comment on lines +6 to +14
static double pi = 3,14;

private static double circonferenza(double r,double pi){...}

//funzione di overloading
public double circonferenza(double r){
return circonferenza(r,pi);
}

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
static double pi = 3,14;
private static double circonferenza(double r,double pi){...}
//funzione di overloading
public double circonferenza(double r){
return circonferenza(r,pi);
}
```java
static double pi = 3,14;
private static double circonferenza(double r,double pi){...}
//funzione di overloading
public double circonferenza(double r){
return circonferenza(r,pi);
}

Comment on lines +19 to +34
private static void visualizzaR(Elemento e){

if(e == null)
return;
else{
System.out.print(e.n + " ");
visualizzaR(e.next);
}

}

//funzione di overloading
public void visualizzaR(){
visualizzaR(testa);
}

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
private static void visualizzaR(Elemento e){
if(e == null)
return;
else{
System.out.print(e.n + " ");
visualizzaR(e.next);
}
}
//funzione di overloading
public void visualizzaR(){
visualizzaR(testa);
}
```java
private static void visualizzaR(Elemento e){
if(e == null)
return;
else{
System.out.print(e.n + " ");
visualizzaR(e.next);
}
}
//funzione di overloading
public void visualizzaR(){
visualizzaR(testa);
}

@@ -0,0 +1,48 @@
# Overrinding
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# Overrinding
# Ovverriding

}

I punti 1. e 3. posono essere eseguiti direttamente.
I punit 2. e 4. sono equivalenti al problema iniziale avendone però diminuito la dimensione (cioè il numero di dischi), e la funzione dei tre pioli S, I e D.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
I punit 2. e 4. sono equivalenti al problema iniziale avendone però diminuito la dimensione (cioè il numero di dischi), e la funzione dei tre pioli S, I e D.
I punti 2. e 4. sono equivalenti al problema iniziale avendone però diminuito la dimensione (cioè il numero di dischi), e la funzione dei tre pioli S, I e D.

Comment on lines +30 to +38
private void hanoi(int N, String S, String I, String D){
if(N == 1)
trasferisci(1,S,D);
else{
hanoi(N-1,S,D,I);
trasferisci(N,S,D);
hanoi(N-1,I,S,D);
}
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
private void hanoi(int N, String S, String I, String D){
if(N == 1)
trasferisci(1,S,D);
else{
hanoi(N-1,S,D,I);
trasferisci(N,S,D);
hanoi(N-1,I,S,D);
}
}
```java
private void hanoi(int N, String S, String I, String D){
if(N == 1)
trasferisci(1,S,D);
else{
hanoi(N-1,S,D,I);
trasferisci(N,S,D);
hanoi(N-1,I,S,D);
}
}

Comment on lines +42 to +44
private void trasferisci (int N, String S, String D) {
System.out.println("Sposta il disco "+N + " da "+S+" a "+D);
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
private void trasferisci (int N, String S, String D) {
System.out.println("Sposta il disco "+N + " da "+S+" a "+D);
}
```java
private void trasferisci (int N, String S, String D) {
System.out.println("Sposta il disco "+N + " da "+S+" a "+D);
}

Comment on lines +48 to +50
public void hanoi (int N) {
hanoi (N, "sorgente", "intermedio", "destinazione");
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
public void hanoi (int N) {
hanoi (N, "sorgente", "intermedio", "destinazione");
}
```java
public void hanoi (int N) {
hanoi (N, "sorgente", "intermedio", "destinazione");
}

Ogni procedura richiama due procedure sullo stesso numero di nodi meno uno.
La procedura _hanoi(N)_ richiamerà ricorsivamente due volte _hanoi(N-1)_. Ciascuna delle _hanoi(N-1)_ richiamerà due volte _hanoi(N-2)_ e così via:

>![[Pasted image 20220622141520.png]]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stesso discorso per questa foto

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
nuovo materiale Aggiunta di nuovi appunti/dispense per un esame
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants