Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219

    [java]polimorfismo parametrico

    Non ho capito una cosa sul polimorfismo parametrico.
    Se ad esempio ho una classe:
    codice:
    public class A<T>
    {
        T t;
        public A()
        {
            t=new T();
        }
        public T get()
        {
            return T;
        }
        public void set(T t)
        {
            this.t=t;
        }
    }
    Si può parlare di polimorfismo parametrico per l' intera classe o solo per campi o metodi?
    Nel senso che il campo t è parametrico,ma anche l' intera classe A si può considerare polimorfa parametricamente?
    E poi un' altra cosa che mi sfugge: un metodo è polimorfo parametricamente anche se il tipo di ritorno è parametrico? Forse è il nome che mi inganna, ma il polimorfismo parametrico si riferisce solo ai parametri del metodo anche al tipo di ritorno? Sia set che get sono polimorfi parametricamente?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [java]polimorfismo parametrico

    Originariamente inviato da ramy89
    codice:
    t=new T();
    No, questo non puoi farlo.

    Originariamente inviato da ramy89
    Si può parlare di polimorfismo parametrico per l' intera classe o solo per campi o metodi?
    Nel senso che il campo t è parametrico,ma anche l' intera classe A si può considerare polimorfa parametricamente?
    Il "polimorfismo parametrico" ha a che fare con la programmazione "generica", cioè il poter scrivere una classe o metodo/funzione in modo generico affinché possa trattare tipi di dati differenti ma senza dover sapere a priori quali saranno.
    In C++ il polimorfismo parametrico è rappresentato dai "template". In Java dai "generics", implementato tramite "erasure". In C# pure esiste ma non sono competente e non ti so dire nei dettagli.

    La tua classe A quindi certo puoi dire che usa il polimorfismo parametrico ma in genere è più semplice indicarla come "generica", cioè che usa i generics di Java.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.