Buongiorno,
non so se il titolo "down cast" sia corretto, ora vi spiego il mio problema.
Io desidero realizzare due classi, una figlia dell'altra. Poniamo quindi che A sia la superclasse e B sia la sottoclasse.
Ok, ora appunto lo scopo di B è estendere la classe A. Io quindi vorrei che l'unico modo di generare un oggetto di tipo B sia passargli un oggetto di tipo A e di "trasformarlo" in un oggetto di tipo B. Uhm, tutto questo può sembrare contorto, posso provare a spiegare meglio con un esempio:
La superclasse è ModelloMacchina, e la sottoclasse è Macchina. ModelloMacchina ha quindi molti meno dettagli (metodi e attributi) di Macchina, ma Macchina a sua volta si può generare solo da un ModelloMacchina.
Ora, come realizzo questo concetto in java? come posso imporre di poter creare un oggetto di tipo B da un oggetto di tipo A utilizzando L'ereditarietà?
un mio tentativo sarebbe il seguente. E' corretto?
public class A{
}
public class B extends A{
public B(A oggetto){
super=oggetto;
//+ altre cose...
}
}