e-commerce84
31-05-2009, 16:33
Ciao,
qualche domanda per vedere se ho capito bene il significato del tipo Vector.
Praticamente la classe Vector definisce un insieme di operazioni utili su di una collezione dinamnica di oggetti astraendo dal tipo effettivo degli elementi che ci posso mettere dentro (quindi serve a fare un'atrazione polimorfica), giusto?
In parole povere se io dichiaro una variabile di tipo Vector, per esempio: Vector V stò dichiarando una collezione di oggetti e dentro V (dopo aver costruito la collezione mediante l'invocazione del costruttore) ci potrò andare a mettere dentro quello che mi pare.
Ad esempio se ho un tipo Rettangoli potrò popolare la mia collezione V di Rettangoli mettendoceli dentro.
Se invece ho 2 tipi di dato non omogenei, come ad esempio Rettangoli ed Animali posso mettere dentro Vector entrambi gli elementi e realizzare così una collezione non omogenea?
Se si...praticamente la grossa differenza tra un Vector ed un vettore del C stà nel fatto che in un vettore C il compilatore vuole che il vettore abbia un tipo preciso (ad esempio int) ed il vettore viene allocato in maniera tale che ogni cella ha la dimensione adatta per contenere quel tipo di dato.
Mentre Vector di Java che fà? Usa i puntatori? (nel senso che è come se si allocasse un vettore di puntatori ed in ogni cella ci mette il riferimento ad un certo oggetto e quindi posso avere un Vector che rappresenterà collezioni non omogenee)
Ho capito bene?
Grazie
Andrea
qualche domanda per vedere se ho capito bene il significato del tipo Vector.
Praticamente la classe Vector definisce un insieme di operazioni utili su di una collezione dinamnica di oggetti astraendo dal tipo effettivo degli elementi che ci posso mettere dentro (quindi serve a fare un'atrazione polimorfica), giusto?
In parole povere se io dichiaro una variabile di tipo Vector, per esempio: Vector V stò dichiarando una collezione di oggetti e dentro V (dopo aver costruito la collezione mediante l'invocazione del costruttore) ci potrò andare a mettere dentro quello che mi pare.
Ad esempio se ho un tipo Rettangoli potrò popolare la mia collezione V di Rettangoli mettendoceli dentro.
Se invece ho 2 tipi di dato non omogenei, come ad esempio Rettangoli ed Animali posso mettere dentro Vector entrambi gli elementi e realizzare così una collezione non omogenea?
Se si...praticamente la grossa differenza tra un Vector ed un vettore del C stà nel fatto che in un vettore C il compilatore vuole che il vettore abbia un tipo preciso (ad esempio int) ed il vettore viene allocato in maniera tale che ogni cella ha la dimensione adatta per contenere quel tipo di dato.
Mentre Vector di Java che fà? Usa i puntatori? (nel senso che è come se si allocasse un vettore di puntatori ed in ogni cella ci mette il riferimento ad un certo oggetto e quindi posso avere un Vector che rappresenterà collezioni non omogenee)
Ho capito bene?
Grazie
Andrea