SlideShare una empresa de Scribd logo
1 de 133
Descargar para leer sin conexión
@anncode
Developer
Teacher
Syllabus Planner
Education Team
Java Android Firebase
¿Por qué aprender
Programación Orientada a
Objetos?
Programar más rápido
Dejar de ser Programador Jr.
*Reclutadores
Programar más rápido
Encapsulamiento
Abstracción
Herencia
Polimorfismo
Dejar de Copiar y Pegar Código
Programar más rápido
Dejar de ser Programador Jr.
*Reclutadores
Ser un Programador Sr.
y conseguir un mejor salario
¿Qué haremos?
- Observación
- Entendimiento
- Lectura
Problemas
- Diagramas
Análisis de problemas
- Lenguajes de
Programación
Diagramas
¿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
Si algo falla, todo
se rompe
Programación
Estructurada
Código muy largo
Si algo falla, todo
se rompe
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
Surge a partir de los problemas que
tenemos y necesitamos plasmar en
código
Orientación a Objetos
Observar los problemas en
forma de objetos
Paradigma
Programación Orientada
a Objetos
Paradigma
+ Teoría que suministra la base y
modelo para resolver
problemas
Paradigmade
Programación
Orientada a Objetos
+
Clases
Propiedades
Métodos
Objetos
Paradigmade
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
+ Metodología para el análisis
orientado a objetos
Unified Modeling Language
Lenguaje de Modelado Unificado
Unified Modeling Language
+ 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
Objetosson
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
+ nombre
+ color
+ raza
+ altura
+ ladrar
+ comer
+ dormir
+ correr
Propiedades
Comportamientos
+ id
+ nombre
+ color
+ raza
+ altura
+ serAdoptado()
Propiedades
Comportamientos
+ 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
Clasesson los
modelos sobre los
cuales construiremos
Objetos
Modularidad
Diseño Modular
Estructurada Modular
Orientado a Objetos
Modular
Orientado a Objetos
+ Reutilizar
+ Evitar colapsos
+ Mantenible
+ Legibilidad
+ Resolución rápida de
problemas
Clase
- Modularidad
- Divide el programa en diferentes partes
o módulos / clases
- Separar las clases en archivos
Clases
Nombre Clase
Atributo 1
Atributo 2
Atributo 3
Atributo n
Operación 1
Operación 2
Operación 3
Operación n
Identidad
Estado
Comportamiento
UML
Person
name
walk ()
Java Python
PHP
JavaScript
class Person:
class Person { }
function Person() { } class Person { }
Java Python
PHP
JavaScript
class Person {
String name = “”;
void walk() { }
}
Person.prototype.walk = function (){
}
class Person:
name = “”;
def walk():
class Person {
$name = “”;
function walk() { }
}
- Promueve la reducción de duplicación
en programación
- Toda pieza de información nunca
debería ser duplicada debido a que
la duplicación incrementa la
dificultad en los cambios y evolución
Reutilización
Herencia
Herencia
crearemos nuevas
clases a partir de otras
- Se establece una
relación padre e hijo
Superclase
Subclase
Objeto
Java Python
PHP
JavaScript
persona = Person()
Person person = new Person();
var person = new Person(); $person = new Person();
Java Python
PHP
JavaScript
person = Person()
Person person = new Person();
var person = new Person(); $person = new Person();
- Dar un estado inicial al objeto
- Tiene el mismo nombre de la clase
- Son los parámetros mínimos que
necesita el objeto para que pueda
vivir
Java Python
PHP
JavaScript
public Person(String name){
this.name = name;
}
def __init__(self, name):
self.name = name
function Person(name) {
this.name = name
}
public function __construct($name){
$this->name = name;
}
Java Python
PHP
JavaScript
person = Person(“Ann”)
Person person = new
Person(“Ann”);
var person = new
Person(“Ann”);
$person = new Person(“Ann”);
Herencia
Java Python
PHP
JavaScript
class Student(Person):
class Student extends Person
student.prototype = new Person(); class Student extends Person
Encapsulamiento
- Para que un dato permanezca
inviolable, inalterable, se le
asigna un modificador de acceso
public
protected
default
private
public
protected
default
private
Todas las clases
Clases, Paquetes y Subclases
Clases y Paquetes
Clases
Getters y Setters
Polimorfismo
- Muchas formas
- Construir métodos con el mismo
nombre pero con
comportamiento diferente
Programacion orientada-a-objetos-poo
Programacion orientada-a-objetos-poo

Más contenido relacionado

Similar a Programacion orientada-a-objetos-poo

Esos Raros Lenguajes Nuevos
Esos Raros Lenguajes NuevosEsos Raros Lenguajes Nuevos
Esos Raros Lenguajes NuevosEduardo Diaz
 
03. Introduccion a JavaScript y JQuery
03. Introduccion a JavaScript y JQuery03. Introduccion a JavaScript y JQuery
03. Introduccion a JavaScript y JQueryDanae Aguilar Guzmán
 
Jruby On Rails. Ruby on Rails en la JVM
Jruby On Rails. Ruby on Rails en la JVMJruby On Rails. Ruby on Rails en la JVM
Jruby On Rails. Ruby on Rails en la JVMjavier ramirez
 
1 Introducción a los Lenguajes de Programación y a la Programación Orientada ...
1 Introducción a los Lenguajes de Programación y a la Programación Orientada ...1 Introducción a los Lenguajes de Programación y a la Programación Orientada ...
1 Introducción a los Lenguajes de Programación y a la Programación Orientada ...Jose Emilio Labra Gayo
 
Fundamento de poo en php
Fundamento de poo en phpFundamento de poo en php
Fundamento de poo en phpRobert Moreira
 
Introducción a RubyOnRails
Introducción a RubyOnRailsIntroducción a RubyOnRails
Introducción a RubyOnRailsPablo Marrero
 
Desarrollar un módulo para Visuse
Desarrollar un módulo para VisuseDesarrollar un módulo para Visuse
Desarrollar un módulo para VisuseJose Luis Lopez Pino
 
JAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxJAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxFamiliaAyluardo
 
clase 01-Programacion Oientada a Objetos.pptx
clase 01-Programacion Oientada a Objetos.pptxclase 01-Programacion Oientada a Objetos.pptx
clase 01-Programacion Oientada a Objetos.pptxrobertobecerrilV1
 
PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)
PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)
PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)yanburbano
 
Introduccion a la poo
Introduccion a la pooIntroduccion a la poo
Introduccion a la pooBoris Salleg
 

Similar a Programacion orientada-a-objetos-poo (20)

Esos Raros Lenguajes Nuevos
Esos Raros Lenguajes NuevosEsos Raros Lenguajes Nuevos
Esos Raros Lenguajes Nuevos
 
03. Introduccion a JavaScript y JQuery
03. Introduccion a JavaScript y JQuery03. Introduccion a JavaScript y JQuery
03. Introduccion a JavaScript y JQuery
 
Programacion de algoritmos
Programacion de algoritmosProgramacion de algoritmos
Programacion de algoritmos
 
Prototype-based programming with PROWL.
Prototype-based programming with PROWL.Prototype-based programming with PROWL.
Prototype-based programming with PROWL.
 
Jruby On Rails. Ruby on Rails en la JVM
Jruby On Rails. Ruby on Rails en la JVMJruby On Rails. Ruby on Rails en la JVM
Jruby On Rails. Ruby on Rails en la JVM
 
1 Introducción a los Lenguajes de Programación y a la Programación Orientada ...
1 Introducción a los Lenguajes de Programación y a la Programación Orientada ...1 Introducción a los Lenguajes de Programación y a la Programación Orientada ...
1 Introducción a los Lenguajes de Programación y a la Programación Orientada ...
 
Fundamento de poo en php
Fundamento de poo en phpFundamento de poo en php
Fundamento de poo en php
 
Unidad_01_01.pdf
Unidad_01_01.pdfUnidad_01_01.pdf
Unidad_01_01.pdf
 
Introducción a RubyOnRails
Introducción a RubyOnRailsIntroducción a RubyOnRails
Introducción a RubyOnRails
 
Unidad 1_Programacion Orientada a Objetos
Unidad 1_Programacion Orientada a ObjetosUnidad 1_Programacion Orientada a Objetos
Unidad 1_Programacion Orientada a Objetos
 
Desarrollar un módulo para Visuse
Desarrollar un módulo para VisuseDesarrollar un módulo para Visuse
Desarrollar un módulo para Visuse
 
JAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptxJAVA_BASICO_modo_consola_introduccion.pptx
JAVA_BASICO_modo_consola_introduccion.pptx
 
Clase No.01.pptx
Clase No.01.pptxClase No.01.pptx
Clase No.01.pptx
 
clase 01-Programacion Oientada a Objetos.pptx
clase 01-Programacion Oientada a Objetos.pptxclase 01-Programacion Oientada a Objetos.pptx
clase 01-Programacion Oientada a Objetos.pptx
 
PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)
PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)
PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)
 
Programacion orientada a obetos
Programacion orientada a obetosProgramacion orientada a obetos
Programacion orientada a obetos
 
Prototype-based, object-oriented programming
Prototype-based, object-oriented programmingPrototype-based, object-oriented programming
Prototype-based, object-oriented programming
 
Introduccion a la poo
Introduccion a la pooIntroduccion a la poo
Introduccion a la poo
 
Ruby para Java Developers
Ruby para Java DevelopersRuby para Java Developers
Ruby para Java Developers
 
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓNJAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
JAVA ORIENTADO A OBJETOS - INTRODUCCIÓN
 

Último

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 

Último (15)

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 

Programacion orientada-a-objetos-poo