0 seguidores
0 seguidos
Aquí dejo otra solución:
// Compra un producto para el inventario.
public void buy(Product product) {
Product temp = null;
// Comprueba si el producto existe.
try {
for (Product p : this.getAll()) {
if (product.getClass().getSimpleName() == p.getClass().getSimpleName()) {
temp = p.clone();
}
}
} catch (CloneNotSupportedException e) {
System.out.println(e.getMessage());
return;
}
if (temp == null) {
System.out.println("Producto no válido para comprar.");
return;
}
// Aumenta el inventario al precio establecido.
temp.setAmount(temp.getAmount() + product.getAmount());
temp.setPrice(product.getPrice());
// Registra la nueva compra al inventario.
purchases.add(product);
}
Recomiendo mucho revisar el apartado de "Recursos del curso" y revisar los ejemplos del Módulo 5 para entender de una mejor manera qué son las colecciones y como se utilizan
this.bonus y bonus dentro de un método son equivalentes?, solo hay que utilizarlos cuando no incluye parámetros o alguna variable dentro de un método?
También aplica herencia, porque tanto el objeto "Circulo" y "Rectangulo" son del tipo "Geometrica", aunque es un apartado un poco más oculto podría aplicar el concepto.
<?php
class MySingleton {
private static $instance;
private string $x;
private function __construct(string $x)
{
$this->x = $x;
}
/**
* Los métodos estáticos los hacen accesibles
* sin la necesidad de instanciar una clase.
*
* No se puede utilizar $this con métodos estáticos,
* en su lugar se utiliza self
*/
public static function getInstance(string $x = ''): self
{
if (empty(self::$instance)) {
/**
* Equivalente a:
* self::$instance = new MySingleton($x);
*/
self::$instance = new self($x);
}
return self::$instance;
}
public function getX(): string
{
return $this->x;
}
public function setX(string $x): void
{
$this->x = $x;
}
}
// $a = new MySingleton('Hola'); // Error
$a = MySingleton::getInstance('Hola Mundo');
echo $a->getX().PHP_EOL; // Hola Mundo
$b = MySingleton::getInstance('Otra instancia');
echo $b->getX().PHP_EOL; // Hola Mundo
$b->setX('Instancia compartida');
echo $b->getX().PHP_EOL; // Instancia compartida
echo $a->getX().PHP_EOL; // Instancia compartida
Alguien de favor me podría explicar para que sirven estos dos parámetros. no me quedó claro?, por lo que entiendo de --graph gráfica en modo texto a partir de que commit se desprende una nueva rama, pero --decorate aún no capto su funcionalidad, lo consulte en la documentación pero no me queda claro.
Tomé hace varios meses el curso y también el curso de git, y ahora estoy desarrollando mi primer CMS que estará en producción como proyecto de mi servicio profesional en la universidad https://git.disroot.org/ricardogj08/nabu , gracias edteam :)
=> Sueños
1.- Dejar un legado
2.- Ser feliz hasta mis últimos días
3.- Vivir siempre acompañado a distancia, cercano o conmigo, ya sea con una pareja, familiares o amigos.
4- Casarme
5.- Tener una hija
6.- Tener mi propio hogar
7.- Mantener una economía estable
8.- Ayudar a pagar las deudas de mi hogar
9.- Publicar algún álbum
=> Mi por qué
1.- Mi familia es mi por qué principal, ellos hacen todo lo posible por mí a pesar de los problemas que presentamos, y esforzarme por aprender algún lenguaje de programación o alguna herramienta, en mi caso que soy programador, es como pagarles todo lo que hacen por mí.
2.- MI por qué es dejar un legado o algún aprendizaje que le pueda ayudar a alguien más, eso le da significado a todo lo que hago y aprendo.
Se saltó algunos vídeos @edteam
Si a alguien no le funcionó como al profesor el comando "mysql -u root", agreguen el parámetro "-p" de password, entonces sería $ mysql -u root -p