Ho trovato due soluzioni funzionanti:
1)
Codice PHP:
class cSequence implements CharSequence {
public String frase;
public static void main(String[] args) {
cSequence miaFrase = new cSequence("ciao, questa è una prova");
System.out.println("Il terzo carattere della frase è " + miaFrase.charAt(3) + ".");
System.out.println("La lunghezza della frase è " + miaFrase.length() + ".");
System.out.println("Un pezzo della frase è " + miaFrase.subSequence(7, 19) + ".");
System.out.println("La frase è: " + miaFrase.toString() + ".");
}
public cSequence(String f) {
frase = f;
}
public char charAt(int pos) {
return frase.charAt(pos);
}
public int length() {
return frase.length();
}
public CharSequence subSequence(int sPos, int ePos) {
return frase.subSequence(sPos, ePos);
}
public String toString() {
return frase.toString();
}
}
2)
Codice PHP:
public class cSequenceExample {
public static void main(String[] args) {
cSequence miaFrase = new cSequence("ciao, questa è una prova");
System.out.println("Il terzo carattere della frase è " + miaFrase.charAt(3) + ".");
System.out.println("La lunghezza della frase è " + miaFrase.length() + ".");
System.out.println("Un pezzo della frase è " + miaFrase.subSequence(7, 19) + ".");
System.out.println("La frase è: " + miaFrase.toString() + ".");
}
}
class cSequence implements CharSequence {
public String frase;
public cSequence(String f) {
frase = f;
}
public char charAt(int pos) {
return frase.charAt(pos);
}
public int length() {
return frase.length();
}
public CharSequence subSequence(int sPos, int ePos) {
return frase.subSequence(sPos, ePos);
}
public String toString() {
return frase.toString();
}
}
Se tu dovessi scrivere questo programma quale useresti? Quello che mi interessa sapere è qual'è la logica "standard" della programmazione ad oggetti in questi casi.
Per quanto riguarda la seconda soluzione, inizialmente avevo usato:
public class cSequence implements CharSequence {
ma poi ho tolto il public perché non compilava, sai spiegarmi il perché?
Grazie ancora.