SOLID: Principio de Sustitución de Liskov (LSP)

  Рет қаралды 1,941

makigas

makigas

10 ай бұрын

El principio de sustitución de Liskov establece que las precondiciones, postcondiciones, invariantes y otras formalidades que se cumplen para una clase también se deben cumplir para sus clases derivadas. De este modo, las referencias a un tipo se pueden hacer respecto de la clase base, sin que otros módulos del sistema trabajen con subentidades concretas.
PRINCIPIOS DE LA PROGRAMACIÓN SOLID: Un conjunto de buenas prácticas que nos ayudan a crear código orientado a objetos más mantenible, reusable y sostenible a largo plazo. • Principios de programa...
#solid #java #dotnet #programacion #tutorial #desarrollosoftware
#objectorientedprogramming #programming #softwaredevelopment
🔔 ¡Suscríbete ya! kzbin.info?sub_confi...
➕ Más tutoriales en: www.makigas.es
⭐ Programa de miembros: youtube.com/@makigas/join
📝 Foros de la comunidad: foro.makigas.es
💬 Servidor de Discord: discord.makigas.es

Пікірлер: 7
@dutchier4896
@dutchier4896 10 ай бұрын
Viva Java y MakiGas!
@videovideo166
@videovideo166 10 ай бұрын
Grande makiboss! enseñando a programar como se debe!
@fcalderonsanchez
@fcalderonsanchez 10 ай бұрын
Gran explicación! Ojalá que en los futuros videos sobre el tema puedas continuar con el ejemplo de las cuentas bancarias y como lo solucionarias.... ¿Uso de interfaces paras cuentas especiales? ¿metodos abstractos en la clase padre? ¿otros? ¿No sería código spaghetti para las cuentas que no tienen diferencia para métodos como "retirar"? Gran video!
@zidarkz
@zidarkz 10 ай бұрын
¿y qué pasa con el polimorfismo, sobreescritura de métodos? características de la POO. ¿No se estaría violando el principio? Supongo que mientras el comportamiento del método de la clase derivada no cambie el "sentido" de la clase base, no lo estaría haciendo o igual?
@nisidabay
@nisidabay 10 ай бұрын
Esto es lo que dice "la chatty" (ChatGPT): El polimorfismo y la sobrescritura de métodos no deberían romper inherentemente el Principio de Sustitución de Liskov. Si se toma el cuidado adecuado al diseñar la jerarquía de clases e implementar las sobrescrituras de métodos, se puede garantizar que el PSL no se viole. Aquí hay algunas pautas a seguir: Contratos de Métodos: Al sobrescribir un método en una subclase, asegúrate de mantener el contrato del método (precondiciones y postcondiciones). El comportamiento del método sobrescrito debe ser coherente con su contraparte en la superclase. Tipos de Retorno Covariantes: Si un método en la superclase devuelve un tipo específico, el método sobrescrito en la subclase puede devolver un subtipo (tipo de retorno covariante). Esto no viola el PSL, ya que el valor devuelto sigue siendo una instancia válida del tipo esperado. Evitar Estrechar los Parámetros de Entrada: Si el método sobrescrito en la subclase reduce el tipo de los parámetros de entrada en comparación con el método de la superclase, puede generar problemas al sustituir objetos. Siempre asegúrate de que los parámetros sean compatibles con el método de la superclase. Prevenir Comportamientos Inesperados: Evita cambiar el comportamiento de los métodos sobrescritos de una manera que pueda generar resultados inesperados cuando se sustituyen objetos. El comportamiento de la subclase no debería sorprender al llamante que espera un comportamiento coherente con la superclase. Al adherirse a estas pautas, puedes utilizar el polimorfismo y la sobrescritura de métodos mientras mantienes el Principio de Sustitución de Liskov. Esto te permite crear programas orientados a objetos flexibles, mantenibles y confiables.
@maicolarias2516
@maicolarias2516 10 ай бұрын
Tus videos anteriores tenían un poco mejor calidad de Audio,(Pensé que era mi ordenador pero comparé tús videos y este se escucha muy bajo).
@florentinobajo
@florentinobajo 10 ай бұрын
XDDD +1 a la explicación bancaria 😜
SOLID: Principio de Segregación de Interfaz (ISP)
6:20
makigas
Рет қаралды 1,9 М.
Redis Crash Course
27:31
Web Dev Simplified
Рет қаралды 605 М.
THEY WANTED TO TAKE ALL HIS GOODIES 🍫🥤🍟😂
00:17
OKUNJATA
Рет қаралды 23 МЛН
100❤️
00:19
MY💝No War🤝
Рет қаралды 21 МЛН
Scary Teacher 3D Nick Troll Squid Game in Brush Teeth White or Black Challenge #shorts
00:47
Generics: The most intimidating TypeScript feature
18:19
Matt Pocock
Рет қаралды 167 М.
Programación SOLID: Sustitución de Liskov (LSP)
0:58
makigas
Рет қаралды 7 М.
SOLID: Principio de Responsabilidad Única (SRP)
7:59
makigas
Рет қаралды 3,1 М.
Principio de segregación de interface - Solid
0:54
Mauro Bernal
Рет қаралды 1 М.
La LÓGICA de POLIMORFISMO explicada con MINECRAFT
4:21
Absolute
Рет қаралды 226 М.
How To Create Smart Enums in C# With Rich Behavior
17:31
Milan Jovanović
Рет қаралды 52 М.
Liskov Substitution Principle Explained - SOLID Design Principles
10:24
Web Dev Simplified
Рет қаралды 122 М.
1$ vs 500$ ВИРТУАЛЬНАЯ РЕАЛЬНОСТЬ !
23:20
GoldenBurst
Рет қаралды 1,7 МЛН
⚡️Супер БЫСТРАЯ Зарядка | Проверка
1:00
Игровой Комп с Авито за 4500р
1:00
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 2,2 МЛН
КРУТОЙ ТЕЛЕФОН
0:16
KINO KAIF
Рет қаралды 5 МЛН