Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Abbiamo provato per una settimana intera la Can-Am Origin, la Dual Sport elettrica del gruppo canadese BRP: ecco com'è andata tra città, autostrada e un primo assaggio di sterrato
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Nelle ultime settimane abbiamo provato il mouse Logitech G305, la tastiera G316 X 98 e le cuffie G325. Si tratta del setup entry-level di Logitech che ormai, di "entry-level" ha ben poco. Tastiera e mouse offrono prestazioni di livello competitivo con quasi nessuna rinuncia e un livello di personalizzazione estremamente elevato. Le cuffie, invece, hanno mostrato qualche debolezza, ma propongono un ventaglio di funzionalità completo che consente di abbandonare completamente i cavi
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio
POCO F9 Pro arriva sul mercato con l'obiettivo di portare prestazioni da smartphone top di gamma in una fascia di prezzo "più aggressiva", senza rinunciare a un comparto fotografico finalmente all'altezza. Dopo averlo testato sul campo, emerge uno smartphone molto più completo rispetto alla generazione precedente, ma anche con alcuni piccoli compromessi che diventano difficili da ignorare quando il prezzo di listino sfiora i 1.000 euro.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-04-2006, 11:51   #1
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Il topic della frustrazione

Codice:
		virtual bool		IsCloth() const { return false; }
Se vi vedo mai scrivere una cosa di questo tipo in Diamonds, cancello il repository :|

Dovrebbero istituire la patente per il programmatore e non darla a tutti soprattutto nella game industry...
fek è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2006, 11:53   #2
Ufo13
Senior Member
 
L'Avatar di Ufo13
 
Iscritto dal: Nov 2005
Messaggi: 1545
Ufo13 è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2006, 11:54   #3
cover
Senior Member
 
L'Avatar di cover
 
Iscritto dal: May 2002
Città: Milan
Messaggi: 572
chi è il pazzo che l'ha scritto ? :|
__________________
.:. NEONISI .:. a new island for online auctions. It's worldwide, safe, simple and free. Join Us!

Ultima modifica di cover : 27-04-2006 alle 21:25.
cover è offline   Rispondi citando il messaggio o parte di esso
Old 25-04-2006, 11:59   #4
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
fek è offline   Rispondi citando il messaggio o parte di esso
Old 26-04-2006, 07:15   #5
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da fek
Codice:
		virtual bool		IsCloth() const { return false; }
Se vi vedo mai scrivere una cosa di questo tipo in Diamonds, cancello il repository :|

Dovrebbero istituire la patente per il programmatore e non darla a tutti soprattutto nella game industry...
Adesso però dicci dove hai visto quest'abominio.
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 26-04-2006, 11:02   #6
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
E la frustrazione continua:

Codice:
virtual void SetScene(CScene *scene) {m_Scene = scene;}
E' C++
fek è offline   Rispondi citando il messaggio o parte di esso
Old 26-04-2006, 16:10   #7
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Ma allora non era una svista, e' proprio recidivo:

Codice:
virtual EMaterialType	GetType() const { return MATERIAL_TYPE_DEFAULT_MATERIAL; }
fek è offline   Rispondi citando il messaggio o parte di esso
Old 26-04-2006, 16:42   #8
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Prima della cura:

Codice:
			Material* p_material = NULL;
			if (src_material.GetType()==A_MATERIAL_TYPE)
			{
				const MyMaterial& my_material = (MyMaterial*) (src_material);
				p_material = new MyMaterial(my_material);
			}
			else
			{
                               // error
			}

			material_array[c_mat] = p_material;
Dopo la cura:

Codice:
  material_array[c_mat] = src_material.Clone();
Clone polimorfico. GetType() non serve, ecco perche' ve li faccio levare sempre
fek è offline   Rispondi citando il messaggio o parte di esso
Old 26-04-2006, 16:49   #9
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Usare un metodo GetType con la programmazione a oggetti è una vera e propria bestemmia: tanto vale rimanere alla programmazione strutturata e alle catene di switch/case.

Ultima modifica di cdimauro : 02-05-2006 alle 09:17. Motivo: Tolto di mezzo il nome del gioco. ;)
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2006, 00:35   #10
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Quote:
Originariamente inviato da cdimauro
Usare un metodo GetType con la programmazione a oggetti è una vera e propria bestemmia: tanto vale rimanere alla programmazione strutturata e alle catene di switch/case.
Non sono d'accordo...dipende da cosa si vuole fare.
Se si vuole andare ad introdurre un isistema a PLUG-IN addirittura hot-deployable....bhè, senza Refelction e GetType nn si fa molto
__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2006, 07:37   #11
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Non mi sono occupato come si deve delle problematiche alla creazione e all'uso di applicazioni che usano plug-in (da diversi anni ho in mente un progetto, ma non ho mai avuto il tempo per realizzarlo. ): perché sarebbe necessario un metodo GetType secondo te?
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2006, 09:20   #12
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da Bonfo
Non sono d'accordo...dipende da cosa si vuole fare.
Se si vuole andare ad introdurre un isistema a PLUG-IN addirittura hot-deployable....bhè, senza Refelction e GetType nn si fa molto
Usare GetType e' una vera bestemmia

Anche in caso di necessita' di persistenza degli oggetti, ci sono validissime alternative, quali creare delle metaclassi che contengono le informazioni, e magari i factory method per la creazione e clonazione degli oggetti.

Ma un GetType cosi' per selezionare il comportamento in base al tipo dell'oggetto e messo pure virtuale non ha alcun senso logico: il polimorfismo nasce proprio per non aver bisogno di quel metodo.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2006, 11:22   #13
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12113
chi mi ricorda a che servono i metodi virtuali???
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2006, 11:31   #14
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Codice:
class animale

  virtual verso()

  movimento()
    print 'movimento base!'

class gatto(animale)

  virtual verso()
    print 'miao!'

  movimento()
    print 'movimento felino!'


class cane(animale)

  virtual verso()
    print 'bau!'

class pitbull(cane)

  virtual verso()
    print 'MEGA BAU!!!'


var
  a: animale
  b: gatto

a = new gatto()
a.verso() # -> 'miao!'
a.movimento() # -> 'movimento base!'
b = gatto(a)
b.movimento() # -> 'movimento felino!'

a = new cane()
a.verso() # -> 'bau!'
a.movimento() # -> 'movimento base!'

a = new pitbull(cane)
a.verso() # -> 'MEGA BAU!!!'
a.movimento() # -> 'movimento base!'
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2006, 11:38   #15
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12113
ok... ricordavo che c'entravano con le classi astratte....
ma in java ci sono pure?
non me li ricordo proprio....
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2006, 11:41   #16
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da ^TiGeRShArK^
ok... ricordavo che c'entravano con le classi astratte....
ma in java ci sono pure?
non me li ricordo proprio....
In Java tutti i metodi sono virtuali se non dichiarati final (o la classe e' dichiarata final se ricordo bene).
fek è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2006, 11:46   #17
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12113
Quote:
Originariamente inviato da fek
In Java tutti i metodi sono virtuali se non dichiarati final (o la classe e' dichiarata final se ricordo bene).
quindi la parola chiave virtual non c'è...
xkè non me la ricordo proprio in java
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2006, 12:32   #18
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Quote:
Originariamente inviato da fek
Usare GetType e' una vera bestemmia

Anche in caso di necessita' di persistenza degli oggetti, ci sono validissime alternative, quali creare delle metaclassi che contengono le informazioni, e magari i factory method per la creazione e clonazione degli oggetti.

Ma un GetType cosi' per selezionare il comportamento in base al tipo dell'oggetto e messo pure virtuale non ha alcun senso logico: il polimorfismo nasce proprio per non aver bisogno di quel metodo.
Ecco quando io userei GetType().
Io ho una applicazione che utilizza degli oggetti. L'utente li vede divsi per categoria.

Ora supponiamo che io voglio fare in modo che sia possibile aggiungere nuove categorie o nuovi tipi di oggetti senza dover ricompilare l'applicazione o dovendo modificare delle libreire e addirittura senza toccaremanco un file di configurazione.

Io faccio i nuovi oggetti rispettando le interfaccie dovute o estendendo una classe base. A quelpunto rilascio una DLL o un JAR.
L'applicazione può leggerseli all'avvio, o addirittura mentre è già in esecuzione e dandare a cercare le calsssi che implementino quell'interfaccia o che estendano la calsse base (Uso di getType() ), istanzio se c'è nè bisogno, lo casto senza problemi avendo controllato il tipo e poi lo uso.

BAZZA Così si che si estende unì'applicazione conm Plug-In in modo facile e snello

Addirittura se non tutti gli oggetti hanno il metodo pincopallo che serve solo se l'oggetto vuole fare certe cose, io senza sapere nulla posso attraverso la Refelction capire se ha quel metodo e invocarlo.

In realtà io vedo in GetType un'arma a doppio taglio....se non si usano correttamente i paradigmi dell'OO come polimorfismo ma si caratterizano i comportamenti con getType() si è dei pazzi. Ma se invece si usa per andare a lavorare OO addirittura su oggetti che non si conoscono...bhè...direi che è una ottima estensione dell'OO



Scusate se sono stato lungo
__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2006, 12:47   #19
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Stai parlando dei pattern Composite Interfaces e Plugin e del concetto di GUID che e' profondamente diverso dal GetType()

In pratica stai parlando di COM. E sai che cosa hanno fatto per risolvere i suoi (enormi) problemi? Hanno tolto le GUID ed hanno scritto una macchina virtuale, il CLR, ed hanno creato .NET pur di togliere quella cosa che e' tanto simile al GetType().
fek è offline   Rispondi citando il messaggio o parte di esso
Old 27-04-2006, 13:08   #20
Bonfo
Senior Member
 
L'Avatar di Bonfo
 
Iscritto dal: Nov 2005
Città: Bologna
Messaggi: 1303
Quote:
Originariamente inviato da fek
Stai parlando dei pattern Composite Interfaces e Plugin e del concetto di GUID che e' profondamente diverso dal GetType()

In pratica stai parlando di COM. E sai che cosa hanno fatto per risolvere i suoi (enormi) problemi? Hanno tolto le GUID ed hanno scritto una macchina virtuale, il CLR, ed hanno creato .NET pur di togliere quella cosa che e' tanto simile al GetType().
WAKKA...tutte queste robe ho tirato fuori

In ogni caso mi chiedo allora a cosa serva veramente la refelction e il metodo GetType() ??
Per chè lo hanno inventato e realizzato se in realtà non serve a nulla??
In .NET c'è il getType() e fa fare tante belle cosine...come ad esempio ho utilizzato la Refelction, anche per esercitazione, per creare da un file XML una fnestra e i suoi control. Insomma un XAML formato embrione...

In ogni caso ....insisti Fek...fammi capire che sono una testa dura

Imparo Imapro Imparo
__________________
Software engineer
Bonfo's Blog
Bonfo è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia) Test ride Can-Am Origin: la moto elettrica che f...
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco Logitech G325, G305 e G316 X: il tris per chi no...
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio Recensione POCO F9 pro: potenza da vero top di g...
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI Tra audio e AI: la ricetta di Qualcomm per l'age...
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6 Qualcomm annuncia la nuova generazione di SoC Sn...
I lettori CD di fascia alta potrebbero s...
Tutto il meglio di Amazon weekend: 5 nov...
Proscenic P15+ a 113€ su Amazon: scopa e...
TP-Link Wi-Fi 6 a 59,99€ e Tenda 4G03 Pr...
Un quasi top di gamma a 461€: lo smartph...
Roborock Saros 20 Neo e Flow Complete: 3...
Mac mini si trasforma: chip a 2 nanometr...
Su Amazon c'è un super TV Samsung...
La Cina ha rilasciato un satellite dallo...
Il satellite LINK è rientrato nel...
L'ESA risponde alle critiche di Jared Is...
La NASA annuncia il nuovo telescopio spa...
HONOR pubblica The Sea Between Us, un co...
L'Olanda punta su NixOS e open source pe...
OPPO Find X10 Pro Max, il flagship con t...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 10:43.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v