Está en la página 1de 7

ESCUELA ACADÉMICA PROFESIONAL DE

INGENIERÍA DE SISTEMAS

LABORATORIO N° 04
Escuela Profesional: Ingeniería de Sistemas. Asignatura: INGENIERÍA WEB
Sección : C1 Semestre Académico: 2023-I

Docente: José Antonio Ogosi Auqui Fecha: 24/04/2023

Métodos Estáticos(static):
Dentro de una clase declarada en PHP, llamaremos atributos o métodos estáticos a
aquellos que se pueden utilizar directamente sin necesidad de llevar a cabo el proceso
de instanciación de un objeto. También se le conoce como atributo o método de clase.

Ejemplos Prácticos
Ejemplo1: Confeccionar una clase Cadena que contenga un conjunto de métodos
estáticos para calcular la cantidad de caracteres, convertir a mayúsculas, convertir a
minúsculas etc.

Paso 1: Creamos la clase cadena que tendrá adentro los métodos que utilizaremos para este
problema y anteponiendo la palabra reservada ‘static’ en la definición del método
queda declarada.
ESCUELA ACADÉMICA PROFESIONAL DE
INGENIERÍA DE SISTEMAS

PASO2: Para su invocación o uso basta con seguir la siguiente sintaxis que puede verse
en la imagen

Paso 3: Guardamos y ejecutamos

Clonación: PHP nos permite crear un método que se llamará cuando


ejecutemos el operador clone. Este método puede entre otras cosas inicializar algunos
atributos.

Ejemplo2: Crear una clase Persona que tenga como atributos su nombre y edad,
definiremos los métodos para cargar y retornar los valores de sus atributos. Haremos
que cuando clonemos un objeto de dicha clase la edad de la persona se fije con cero.
ESCUELA ACADÉMICA PROFESIONAL DE
INGENIERÍA DE SISTEMAS

Paso 1: Creamos la clase Persona que tendrá adentro los atributos y métodos que
utilizaremos para este problema.

Paso 2: Enviamos valores a los métodos.

El método __clone se ejecutará cuando llamemos al operador clone para esta clase: Es
decir cuando realicemos la asignación: $persona2=clone($persona1). inicialmente se
ESCUELA ACADÉMICA PROFESIONAL DE
INGENIERÍA DE SISTEMAS

hace una copia idéntica de $persona1 pero luego se ejecuta el método __clone con lo
que el atributo $edad se modifica.

Paso 3: Guardamos y ejecutamos.

Reflexión: PHP ofrece una manera sencilla de comparar objectos usando los
operadores de comparación (==) e identidad (===), si usamos el operador de
comparación entonces los objetos son comparados en forma simple o sea 2 objectos
son iguales si son instancias de la misma clase y tienen los mismos atributos
(propiedades) y valores, si usamos el operador de identidad entonces 2 objetos son
iguales solo si hacen referencia (o apuntan) a la misma instancia de la misma clase. En
ocasiones no basta con saber si 2 objetos son iguales o diferentes, sino que en el caso
de que sean diferentes necesitamos saber las diferencias, podemos lograrlo creando
una función que reciba como parámetros los objetos a comparar, obtenga las
propiedades de los objetos usando Reflection itere por las propiedades de los objetos
y compare los valores de las propiedades y luego retorne un arreglo con las
diferencias.

Ejemplo3: Veamos un ejemplo usando reflection

PASO 1: Creamos una clase y 2 objetos que usen la misma clase. Luego crearemos la
clase que comprara los objetos usando reflexión.
ESCUELA ACADÉMICA PROFESIONAL DE
INGENIERÍA DE SISTEMAS
ESCUELA ACADÉMICA PROFESIONAL DE
INGENIERÍA DE SISTEMAS

PASO 2: Guardamos y ejecutamos


ESCUELA ACADÉMICA PROFESIONAL DE
INGENIERÍA DE SISTEMAS

TAREA LABORATIRIO 4

PROBLEMA 1: Confeccionar una clase Persona, definir los atributos nombre y edad.
Definir 3 métodos, uno que inicialice los dos atributos y otros dos que retornen el
nombre y la edad. Crear un objeto de la clase Persona y otra variable que almacene la
referencia al mismo objeto. Crear un segundo objeto clonándolo a partir del primer
objeto.

PROBLEMA 2: Plantear una clase Calculadora que contenga cuatro métodos estáticos
(sumar, restar, multiplicar y dividir) estos métodos reciben dos valores.

También podría gustarte