Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    143

    [Java] costruttore e sottoclasse

    Ciao, devo fare un piccolo esercizio in cui mi viene chiesto di estendere una classe, chiamiamola X, e quindi creo una classe Y. Questa classe Y deve avere un costruttore che riceve 2 parametri, un array di un certo tipo di oggetti, e un altro oggetto. Il mio problema è questo: la superclasse non ha un costruttore che riceve array di oggetti ma solo oggetti semplici, non strutture di dati tanto per intendersi. Nel costruttore della sottoclasse la prima riga che devo scrivere è

    [ CODE]
    super(parametro);
    [/ CODE]

    Ma se questo parametro non è accettato dal super costruttore come devo fare?
    L'unica soluzione che mi viene in mente è fare una classe che estende X e fornirla di costruttore come servirebbe, poi usarla come super classe di Y, ma credo che non sia ciò che viene richiesto....
    Idee in proposito?
    Grazie

  2. #2
    Scusa ma quell'array è un campo privato della superclasse o della sottoclasse?

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2004
    Messaggi
    143
    Questo non è specificato, soltanto che pensandoci poi verrebbe così:
    se i 2 parametri del costruttore della sottoclasse servono ad inizializzare 2 campi della sottoclasse stessa, quando faccio super() come prima riga di codice del costruttore della sottoclasse, non esiste il costruttore di default nella superclasse, il costruttore della superclasse si aspetta un oggetto, che è dello stesso tipo degli oggetti che formano l'array.

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326
    Bisogna vedere qual è il legame che c'è fra la superclasse e la sottoclasse.
    Se io estendo una classe X è perchè ad essa voglio aggiungere delle caratteristiche. Aggiungere significa che mantengo tutte le caratteristiche che aveva prima.
    Quindi, fra le due classi deve esserci un legame.
    Ad esempio, se il costruttore della superclasse vuole un solo parametro dello stesso tipo di oggetti che compongono l'array della sottoclasse, per quel che ne posso sapere io, al super() posso passargli uno qualsiasi degli oggetti contenuti nell'array.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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 © 2025 vBulletin Solutions, Inc. All rights reserved.