Torna indietro   Hardware Upgrade Forum > Software > Programmazione

realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme e Aston Martin Aramco F1 Team si sono (ri)unite dando alla vita un flagship con chip Snapdragon 8 Elite Gen 5 e design esclusivo ispirato alle monoposto di Formula 1. La Dream Edition introduce la nuova colorazione Lime Essence abbinata al tradizionale Aston Martin Racing Green, decorazioni intercambiabili personalizzate e una confezione a tema F1, intorno a uno smartphone dall'ottima dotazione tecnica con batteria da 7000mAh ricaricabile a 120W e isola fotografica intercambiabile
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a
Abbiamo potuto mettere le mani in anteprima sul nuovo monitor MSI dedicato ai giocatori: un mostro che adotta un pannello QD-OLED da 26,5 pollici con risoluzione 2560 x 1440 pixel, frequenza di aggiornamento fino a 500 Hz e tempo di risposta di 0,03 ms GtG
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-06-2008, 14:45   #1
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
[php/value object pattern] problemi

Ciao a tutti, sto leggendo un articolo della rivista "io programmo" che tratta il pattern value object. L'articolo è scritto in ruby ma io lo voglio tradurre in php.

Ho la classe Money che è così:

Codice:
<?php
class Money {

	public $cents;
	
	function __construct($euros, $cents) {
	
	    $this->cents = $euros * 100 + $cents;
        }
	
	function add($other_money) {
		
		$this->cents += $other_money->cents;
	}
	
	function sub($other_money) {
		
		$this->cents -= $other_money->cents;
	}
	
	function __toString() {
			
		return (int)($this->cents / 100) . "," . $this->cents % 100 . "€";
	}
}
?>
E la classe Account che è così:

Codice:
<?php
require_once('money.class.php');

class Account {

	public $money;
	
	function __construct($owner, $money) {
	
	        $this->owner = $owner;
		$this->money = $money;
        }
	
	function __toString() {
			
		return $this->owner . " possiede " . $this->money;
	}
}
?>
e poi un index che testa il tutto che è così:

Codice:
<?php
require('account.class.php');

$a = new Account("faggot", new Money(2, 50));
$b = new Account("pirla", new Money(2, 50));

$a->money->add(1, 0);

echo $a;
?>
ora in questo caso si dovrebbe avere un problema di aliasing cioè verrebbe aggiunto 1,0 euro a entrambi i conti quando dovrebbe essere aggiunto solo a faggot però io non riesco a verificarlo in quanto mi da errore alla riga della funzione add della classe Money e mi stampa 2,50€, senza aggiunta quindi.. qualcuno sa dirmi dove sbaglio?

Ultima modifica di ndakota : 07-06-2008 alle 14:53.
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 08-06-2008, 11:57   #2
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
up please
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 08-06-2008, 15:45   #3
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
risolto. l'errore era nell'index..

Codice:
<?php
require('account.class.php');

$a = new Account("faggot", new Money(2, 50));
$b = new Account("pirla", new Money(2, 50));

$a->money->add(new Money(1, 0));

echo $a;
?>
ndakota è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
L'IA "seria" di Appian è diversa: inserita nei processi e rispetta dati e persone L'IA "seria" di Appian è divers...
EU AI Cloud, il cloud sovrano di SAP per...
God of War: la serie TV entra in pre-pro...
Stampante HP in super offerta: la multif...
Maxi offerta su Roborock S8 MaxV Ultra: ...
Ron Gilbert, il creatore di Monkey Islan...
AMD, aumento dei prezzi per i processori...
I migliori regali di Natale a meno di 50...
Sorprese post Black Friday: questi TV 4K...
NVIDIA perde quota, AMD e Intel guadagna...
Il cloud ibrido al centro delle strategi...
Amazon sorprende: avviatori, compressori...
Super ribassi Bose su Amazon: QuietComfo...
Instagram cambia rotta: basta lavoro ibr...
AirPods Pro 3 a prezzo bomba, ma le AirP...
Prezzi giù su Oral-B: spazzolini elettri...
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: 13:33.


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