Programacion Orientada A Objetos Poo c4774196 CFDB 412e Bae5 210a97d78f8b
Programacion Orientada A Objetos Poo c4774196 CFDB 412e Bae5 210a97d78f8b
Developer
Teacher
Syllabus Planner
Education Team
Java Android Firebase
¿Por qué aprender
Programación Orientada a
Objetos?
Programar más rápido
Programar más rápido
Abstracción
Herencia
Polimorfismo
Programar más rápido
- Observación
- Entendimiento
- Lectura
Análisis de problemas
- Diagramas
Diagramas
- Lenguajes de
Programación
¿Qué resuelve?
Programación
Orientada a Objetos
Programación
Estructurada
Programación Estructurada
Programación
Orientada a
Objetos
Código muy largo
Programación
Estructurada
Código muy largo
Programación
Estructurada
Código muy largo
Difícil de mantener
Programación
Estructurada
if () {} else {}
Programación
Orientada a Objetos
Programación
Orientada a Objetos
POO
Orientación a
Objetos
Orientación a Objetos
Propiedades
Métodos
Objetos
Paradigma de
Programación
Orientada a Objetos
+
+
Encapsulamiento
Abstracción
Herencia
Polimorfismo
Lenguajes
Orientados a Objetos
- Java
- PHP
- Python
- JavaScript
- C#
- Ruby
- Kotlin
- Java
- PHP
- Python
- JavaScript
- C#
- Ruby
- Kotlin
- Orientado a Objetos
naturalmente
- Android
- Server Side
.java
- Lenguaje interpretado
- Pensado para la Web
.php
- Diseñado para ser fácil de usar
- Mútiples usos: Web, Server
Side, Análisis de Datos,
Machine Learning, etc.
.py
- Lenguaje interpretado
- Orientado a Objetos pero
basado en prototipos
- Pensado para la Web
.js
Entorno de
Desarrollo
- Visual Studio Code
Diagramas de
Modelado
OMT UML
Object Modeling
Techniques
+ Clases
+ Casos de Uso
+ Objetos
+ Actividades
+ Iteración
+ Estados
+ Implementación
OMT UML
1991 1997
OMT UML
1991 1997
Objetos
- Cuando tengamos un problema lo
primero que debemos hacer es
identificar Objetos
Objetos son
aquellos que tienen
propiedades y
comportamientos
- Pueden ser Físicos o Conceptuales
User Session
Propiedades
también pueden
llamarse atributos
serán sustantivos
Propiedades
también pueden
llamarse atributos
serán sustantivos
Comportamientos
serán todas las
operaciones del objeto,
suelen ser verbos o
sustantivo y verbo
Comportamientos
serán todas las
operaciones del objeto,
suelen ser verbos o
sustantivo y verbo
+ nombre
+ color
+ raza
+ altura
Comportamientos
+ nombre + ladrar
+ color + comer
+ raza + dormir
+ altura + correr
Propiedades
Comportamientos
+ id + serAdoptado()
+ nombre
+ color
+ raza
+ altura
Propiedades
+ id: 001
+ nombre: Franky
+ color: Café
+ raza: French Poodle
+ Altura: 40cm
Clase
- Es el modelo sobre el cual se
construirá nuestro objeto
- Las clases me permitirán generar
más objetos
Analizar Objetos
para crear Clases
Abstracción
Clases son los
modelos sobre los
cuales construiremos
Objetos
Modularidad
Diseño Modular
Estructurada Modular
Orientado a Objetos
+ Reutilizar
+ Evitar colapsos
+ Mantenible
+ Legibilidad
+ Resolución rápida de
problemas
Modular
Orientado a Objetos
Clase
- Modularidad
- Divide el programa en diferentes partes
o módulos / clases
- Separar las clases en archivos
Clases
UML
name
walk ()
Java Python
JavaScript PHP
JavaScript PHP
Person.prototype.walk = function (){
class Person {
} $name = “”;
function walk() { }
}
- Promueve la reducción de duplicación
en programación
Subclase
Objeto
Java Python
JavaScript PHP
JavaScript PHP
JavaScript PHP
JavaScript PHP
JavaScript PHP
Clases
default
private
Getters y Setters
Polimorfismo
- Muchas formas
- Construir métodos con el mismo
nombre pero con
comportamiento diferente