Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    invocare un metodo su oggetti di una sottoclasse

    Principi di Java:

    In una classe C ho un metodo del tipo

    codice:
    public A nomeMetodo(A){...}
    ora ho una classe B sottoclasse della Classe A. La questione è: posso invocare il metodo C.nomeMetodo sulla sottoclasse B? Se si, la classe ritornata sarebbe di tipo A, quindi perderei tutte le "caratteristiche" in più che la sottoclasse B ha rispetto alla classe madre A?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Ma la classe C che relazione ha con B?

    Perchè, in linea di principio, se C estende B, allora non è "corretto" che B sappia dell'esistenza di C. Una classe (eccetto casi particolari) non dovrebbe sapere nulla delle sue sottoclassi (che possono essere infinite).

    Ad ogni modo, non perdi alcuna caratteristica (ci mancherebbe che gli oggetti si trasformassero: la cosa va abbastanza contro ogni logica). L'unica cosa è che devi forzare un cast per poter tornare a vedere le caratteristiche che non sono proprie della classe base.

    PS: ho spostato la discussione nel forum corretto... Java.


    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

  3. #3
    No no C non ha alcuna relazione con B ed A. Il dubbio era sul fatto che il metodo restituisce un oggetto della superclasse A e che quindi avrei perso tutte quelle proprietà definite nella sottoclasse B, però in effetti a rigor di logica è come dici, con gli opportuni cast funge tutto

    grazie

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