⊗ppOpAdCOM 22 of 107 menu

Manipulación de objetos en clases en POO en PHP

Las clases pueden aceptar objetos de otras clases como parámetros de métodos y manipular estos objetos. Veamos un ejemplo. Supongamos que tenemos la siguiente clase:

<?php class User { private $name; public function __construct($name) { $this->name = $name; } public function getName() { return $this->name; } } ?>

Supongamos que decidimos crear una clase que manipulará un conjunto de objetos de usuarios:

<?php class UsersCollection { } ?>

Almacenaremos los objetos de usuarios en forma de array en una propiedad privada:

<?php class UsersCollection { private $users; public function __construct() { $this->users = []; } } ?>

Creemos un método para agregar un nuevo usuario al array:

<?php class UsersCollection { private $users; public function __construct() { $this->users = []; } public function add($user) { $this->users[] = $user; } } ?>

Y ahora hagamos un método que muestre los nombres de todos los usuarios:

<?php class UsersCollection { private $users; public function __construct() { $this->users = []; } public function add($user) { $this->users[] = $user; } public function show() { foreach ($this->users as $user) { echo $user->getName() . '<br>'; } } } ?>

Veamos cómo funciona nuestra clase. Primero creemos su objeto:

<?php $uc = new UsersCollection(); ?>

Ahora agreguemos a nuestra colección varios usuarios:

<?php $uc->add(new User('john')); $uc->add(new User('eric')); $uc->add(new User('kyle')); ?>

Y ahora llamemos al método que mostrará los nombres de todos los usuarios:

<?php $uc->show(); ?>

Crea una clase EmployeesCollection, que contendrá un array de empleados.

Crea en esta clase un método para agregar un nuevo empleado.

Crea en esta clase un método para mostrar todos los empleados.

Crea en esta clase un método para calcular el salario total de todos los empleados.

Crea en esta clase un método para calcular el salario promedio de todos los empleados.

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar