Domanda Esercizio di un test HelpMe

elcondor

Utente Bronze
28 Settembre 2020
48
13
3
24
date le due classi:

class Document {
private String type = "dummy";
private byte[] data;
//inserire get e set//

public classTestClass{
public static void main(String[] args){
Document d = new PdfDocument();
System.out.prinln(d.getType());

Scriver il codice per la classe PdfDocument in modo che Test Class stamperà "pdf" quando eseguito.

??????
HELP ME HEL ME
 
Penso sia anche sbagliata la consegna..
Hai due classi (suppongo) PdfDocument (l'oggetto che contiene il pdf da stampare) e TestClass (classe eseguibile che sfrutta l'oggetto PdfDocument).

E' un esercizio semplicissimo di programmazione ad oggetti. Definisci l'oggetto PdfDocument

Quindi, come sta scritto nel commento, dovrai settare l'enviroment in questo modo..
Java:
public class PdfDocument {

    private String type;

    private byte[] data;

 

    public PdfDocument(Strint type, byte[] data)

    {

        // Costruttore dell'oggetto

    }

 

    public String getType()

    {

        // ritornare il Type

    }

 

    public byte[] getData()

    {

        // ritornare i dati

    }

 

    public void setType(String type)

    {

        // setti il type

    }

 

    public void setData(byte[] data)

    {

        // setti il data

    }



    public void printPdf()
   
    {
        // stampi il pdf (non so come intendi ma ci sono mille guide sul web per questo)

    }

}

E poi, in TestClass, dovrai creare una istanza di PdfDocument che richiamerà il metodo per "stampare" il pdf.

Ti lascio scrivere il codice rimanente che permetterà di eseguire le task che ti ho specificato nei commenti (se sai la programmazione ad oggetti dovrebbe essere molto fast).

MP

EDIT: Rileggendo meglio forse richiede l'ereditarietà (PdfDocument è un Documento). Non so se hai fatto un copia-incolla estrapolando il resto del codice o hai copiato male la consegna.
 
  • Mi piace
Reazioni: elcondor
Ultima modifica:
Ciao, grazie. La traccia si è quella precisa così come l'ho postata. Si la classe PdfDocument estende la classe document.
E' facile ma lo vedo un pò strano l'esercizio. Il get e set si potrebbe fare anche nella classe Document. Poi la classe PdfDocument estende Document. Giusto?
 
Quale parte non ti è chiara? Sembra essere un esercizio piuttosto semplice che non dovrebbe richiedere più di 2 minuti del tuo tempo.
Ereditarietà e system.out.println sono tuoi amici.
 
  • Mi piace
Reazioni: elcondor
Penso che lo scopo sia proprio farti usare l'ereditarietà. Ipotizzo che l'idea è quella di modellare più Document, e quindi richiamando il metodo getType() su un'istanza di PdfDocument, ti torna "pdf".

Pubblica il tuo codice, così vediamo come l'hai realizzato.
 
Ultima modifica da un moderatore:
il pdfDocument
Java:
public class PdfDocument extends Document {
    @override
    public String getType() {//Override del metodo in Document
        return "PDF";
    }
}
e il test:
Java:
public class TestClass {

    public static void main(String[] args) {
        Document d = new PdfDocument();
        System.out.println(d.getType());
    }
}

class Document {
    private String type = "dummy";//dummy viene sovrascitto dalla classe PdfDocument
    private byte[] data;
   
    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public byte[] getData() {
        return data;
    }

    public void setData(byte[] data) {
        this.data = data;
    }
}
 
A me sembra corretta come implementazione.

L'array data presumo siano i dati "raw" del PDF o comunque del file in questione.
Il testo integrale dell'esercizio è quello che hai pubblicato sopra?
 
Ok ottimo allora la mia intuizione dell'EDIT era giusta.

La tua implementazione mi sembra corretta.
Attenzione: Essendo un esercizio da "beginner", ricordati che è meglio creare un costruttore from scratch. Che poi Java si arrangi a farlo è un altro discorso.

MP