Interfaces - (Programación orientadas a objetos en PHP y MySql)

  Рет қаралды 14,302

Abel OS

4 жыл бұрын

Las interfaces permiten definir métodos que será utilizados en una clase, todos los métodos declarados en una interfaz deben ser públicos, la ventaja de una interfaces en una clase es que puede ser implementadas varias interfaces con distintos métodos, lo cual se explica en este video.
ACCEDE AL CURSO PREMIUM CON UN CUPÓN DE DESCUENTO
abelosh.com/desarrollo-web-en-php-mvc-poo-y-mysql
Consulta en las redes sociales los cupones de descuento de cada mes.
Curso de PHP básico desde cero
kzbin.info/aero/PL3b9xmg86NTKzt_Hkr0jywY-P5HY0gnjf
Sígueme en:
Web: abelosh.com/
Facebook: abelosh
Twitter: febel24
Instagram: febel24

Пікірлер: 30
@anmasa
@anmasa 2 жыл бұрын
Darte mi enhorabuena, por este magnífico tutorial, muy bien explicado y muy claro, es de lo mejor que he visto. Gracias por tu tiempo y dedicación. Un saludo desde Valencia, España.
@Asgallu
@Asgallu 3 жыл бұрын
Enhorabuena por el tutorial, muy claro todo!!
@erredeveloper6334
@erredeveloper6334 4 жыл бұрын
Excelente video solamente añadir que para la implementación del método Operación básica ocupando muchos IF , mejor ocupar la sentencia Switch, es otra de las opciones saludos y sigue así ... public function operacionBasica(float $num1, float $num2, string $operacion){ $result=""; switch ($operacion) { case '+': $result = "La Suma es: " . ($num1 + $num2); break; case '-': $result = "La Resta es: " . ($num1 - $num2); break; case '*': $result = "La Multiplicación es: " . ($num1 * $num2); break; case '/': $result = "La Divición es: " . ($num1 / $num2); break; default: echo "Operacion no Válida"; break; } return $result; }
@juanantoniodetenacorchero4297
@juanantoniodetenacorchero4297 2 жыл бұрын
Muy buen tutorial, me ha ayudado mucho. Tengo una pequeña duda, si tengo que definir las "operaciones" en la clase que es lo que hacen las interfaces si al archivo final solo hay que requerir la clase??
@javiergarciafillol4454
@javiergarciafillol4454 2 жыл бұрын
Hola, el como usarlo está clarísimo, sólo que no le veo utilidad alguna, lo único que hace es que te obligue a crear la función, alguien puede dar un ejemplo de uso?
@romuloalves9349
@romuloalves9349 4 жыл бұрын
Ótimo vídeo.
@josemancini4945
@josemancini4945 2 жыл бұрын
Gracias por tus videos.
@AbelOS
@AbelOS 2 жыл бұрын
A la orden!
@stiveroncal2735
@stiveroncal2735 3 жыл бұрын
gracias bro ahora se lo basico
@AbelOS
@AbelOS 3 жыл бұрын
A la orden colega!
@danielfabiani4468
@danielfabiani4468 Жыл бұрын
sigo al pie (es lo que creo obviamente) pero me sigue dando: Fatal error: Uncaught Error: Interface "Operacion_basica" not found in C:\xampp\htdocs\POO\interface\ClassOperacio.php:6 Stack trace: #0 C:\xampp\htdocs\POO\interface\calcular.php(3): Borré y lo volvi a escribir y de nuevo lo mismo. De que me estoy perdiendo? Gracias.
@randymveras1658
@randymveras1658 4 жыл бұрын
Por fin el qué andaba buscando pregunto es php 7.4 o anterior a el
@AbelOS
@AbelOS 4 жыл бұрын
Que tal Randy, las interfaces se son de la versión 5.4 pero son de mucha ayuda para el resto de versiones al desarrollar con programación orientada a objetos
@gustavoadolfodelafuente6959
@gustavoadolfodelafuente6959 4 жыл бұрын
Gracias por tus videos super claros... Mi consulta es que si la clase que implementa las interfaces...tiene de definir cada método que esté declarado en ellas... a) Las clases podrían implementar cada método igual...sin necesidad de la existencia de interfaces. b) Entonces...las interfaces..¿son para asegurarte que cuando alguien escriba una clase...no deje ningún método sin hacer? ¿Son una clase de constraint de programación? (son para condicionar al desarrollador de la clase...pero no interfieren en el funcionamiento en sí del sistema? Espero q al ver el video de simulación de herencia múltiple me aclare esto... porque si una clase...tiene que definir cada uno de los métodos... ¿en qué ayuda a la herencia? En todo caso si obliga a definir los métodos... ayudaría al polimorfismo...porque al obligarte a escribir cada método...quizás podés sobreescribir otro definido anteriormente... (una clase puede implementar una interface simultáneamente que hereda otra? ) Desde ya muchas gracias.
@jota4894
@jota4894 4 жыл бұрын
Exacto, las interfaces funcionan como si fueran contratos de trabajo "es un decir", tienes que cumplir (sobreescribir) todos los métodos que se encuentran dentro de ella (interface = contrato), ya que al no implementar una, interferira en el funcionamiento del sistema porque te marcaria algun error, es para ello que se usa las interfaces, para que las clases que las implementen usen los métodos que se predefinen en la interface. En lo particular si deseo realizar herencia como tal, usaria traits, ya que puedo declarar el cuerpo del método en el mismo trait a diferencia de la interface, y al hacer uso de los traits dentro de mi "subclase" (use nombreTrait;) esta "hereda" los métodos que están en el trait y no me haria falta sobreescribirlos.
@JosemanuUrbano
@JosemanuUrbano 2 жыл бұрын
Otra manera de hacer la validación para hacer la operación puede ser usando match, una función que salió en la nueva actualización de PHP 8. Les comparto código. function getOperacion($num1, $num2, $opcion) { $result = match($opcion) { 'suma' => "Suma ({$num1} + {$num2}) = " . $num1+$num2, 'resta' => "Resta ({$num1} - {$num2}) = " . $num1-$num2, 'multi' => "Multiplicación ({$num1} * {$num2}) = " . $num1*$num2, 'divi' => "División ({$num1} / {$num2}) = " . $num1/$num2, default => "Error, no existe esta operación" }; return $result; }
@AbelOS
@AbelOS 2 жыл бұрын
Gracias José por el aporte!
@carlosedgard3073
@carlosedgard3073 2 жыл бұрын
No encuentro la necesidad de acumular más código para el uso interfaces. 🤔
@xavitorres5381
@xavitorres5381 4 жыл бұрын
Las interfaces para que se ocupan en concreto, buen video
@hamiltonpatinosolano5182
@hamiltonpatinosolano5182 4 жыл бұрын
Se utilizan cuando se tienen muchas clases que tienen en común un comportamiento, pudiendo asegurar así que ciertos métodos estén disponibles en cualquiera de los objetos que queramos crear. Son especialmente importantes para la arquitectura de aplicaciones complejas. FUENTE: diego.com.es/interfaces-en-php
@s.camilogomez2799
@s.camilogomez2799 4 жыл бұрын
Php no permite realizar herencia múltiple; por tanto las interfaces tienden a suplir ésta característica
@gustavoadolfodelafuente6959
@gustavoadolfodelafuente6959 4 жыл бұрын
@@s.camilogomez2799 consulta.... la herencia múltple... no se simula con los 'traits? quizás con la interfaces...hay una forma q no se me ocurre... Gracias..
@jota4894
@jota4894 4 жыл бұрын
@@gustavoadolfodelafuente6959 Al usar interface de por si ya estas obligando a que todas las clases que lo implementen sobrescriban los métodos y en cada clase realices el cuerpo de los métodos definidos en la interface. Pero al usar traits no es necesario que sobreescribas e incluso, puedes definir el cuerpo del método dentro de los traits. En lo particular uso traits para simular herencias multiples.
@kathleenbucarito8756
@kathleenbucarito8756 4 жыл бұрын
Hice todo tal cual y me arroja el error : Parse error: syntax error, unexpected ':', expecting ';' or '{' in C:\wamp\www\interface\classOperacion.php on line 4. Y esto es lo que tengo en la linea 4 de classOperacion: public function raizCuadrada(float $numero):float
@rasptin
@rasptin 4 жыл бұрын
public function raizCuadra(float $numero):float{ $total = sqrt($numero); return $total; }
@luisheras3436
@luisheras3436 3 жыл бұрын
Disculpa, ¿Arreglaste el problema?
@sistemasweb5761
@sistemasweb5761 2 жыл бұрын
no termino de entender la UTILIDAD de las interfaces, porque en las mismas no podes desarrollar métodos completos, por lo cual la clase que hereda realmente no hereda funcionalidad, sino solo la obligatoriedad de desarrollar los metodos. O sea, para que tengo que usar una 2 o 3 interfaces en una clase si al final tengo que si o si escribir la parte funcional dentro de la clase? no le encuentro el sentido y no se parece en nada a HERENCIA MULTIPLE. gracias.
@CarlosWolfram
@CarlosWolfram 3 жыл бұрын
Siento como si al usar interface se sobre-escribe los metodos :/
@carlosvallejo6006
@carlosvallejo6006 3 жыл бұрын
Si y no, una interface es como una "promesa" de que todos los métodos creados en esa interface serán usados en las clases donde se implementen, por eso da la sensación de sobre escritura
@CarlosWolfram
@CarlosWolfram 3 жыл бұрын
@@carlosvallejo6006 y aun no he podido conseguir ejemplo de como entenderlo mejor o mejor aun saber usarlo, que lo veo presente en varios lenguajes pero no se usarlo xD o no se si lo necesito
New model rc bird unboxing and testing
00:10
Ruhul Shorts
Рет қаралды 30 МЛН
ВОДА В СОЛО
00:20
⚡️КАН АНДРЕЙ⚡️
Рет қаралды 31 МЛН
ПРОВЕРИЛ АРБУЗЫ #shorts
00:34
Паша Осадчий
Рет қаралды 7 МЛН
New model rc bird unboxing and testing
00:10
Ruhul Shorts
Рет қаралды 30 МЛН