1
<?php
declare(strict_types=1);
// 1. Definición de la Clase (El Molde)
class Usuario
{
// Propiedades
public string $nombre;
public string $email;
public float $saldo = 0.0;
// Métodos (Comportamiento)
public function depositar(float $monto): void
{
if ($monto <= 0) {
echo "<p style='color:red;'>⚠️ El monto a depositar debe ser mayor a 0.</p>";
return;
}
$this->saldo += $monto;
echo "<p style='color:green;'> $this->nombre depositó $" . number_format($monto, 2) . "</p>";
}
public function mostrarResumen(): void
{
echo "<div style='font-family:system-ui; background:#f8fafc; border:1px solid #cbd5e1; border-radius:8px; padding:15px; margin-bottom:12px;'>";
echo "<h3 style='margin:0 0 8px 0; color:#1e293b;'>👤 Usuario: " . htmlspecialchars($this->nombre) . "</h3>";
echo "<p style='margin:4px 0;'><strong>Email:</strong> " . htmlspecialchars($this->email) . "</p>";
echo "<p style='margin:4px 0;'><strong>Saldo Actual:</strong> $" . number_format($this->saldo, 2) . "</p>";
echo "</div>";
}
}
// 2. Instanciación de Objetos Independientes (new)
$usuario1 = new Usuario();
$usuario1->nombre = "Carlos Mendoza";
$usuario1->email = "[email protected]";
$usuario1->depositar(250.00);
$usuario2 = new Usuario();
$usuario2->nombre = "Valeria Torres";
$usuario2->email = "[email protected]";
$usuario2->depositar(500.00);
$usuario2->depositar(120.50);
// 3. Demostración de estados independientes en memoria
echo "<h2>Resumen de Cuentas:</h2>";
$usuario1->mostrarResumen();
$usuario2->mostrarResumen();
Haz clic para editar este código