SlideShare uma empresa Scribd logo
1 de 5
Características de la POO
Existe un acuerdo acerca de qué características contempla la "orientación a objetos". Las características siguientes son
las más importantes:
Abstracción
Denota las características esenciales de un objeto, donde se capturan sus comportamientos. Cada objeto en el sistema
sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse"
con otros objetos en el sistema sin revelar cómo se implementan estas características. Los procesos, las funciones o los
métodos pueden también ser abstraídos, y, cuando lo están, una variedad de técnicas son requeridas para ampliar una
abstracción. El proceso de abstracción permite seleccionar las características relevantes dentro de un conjunto e
identificar comportamientos comunes para definir nuevos tipos de entidades en el mundo real. La abstracción es clave
en el proceso de análisis y diseño orientado a objetos, ya que mediante ella podemos llegar a armar un conjunto de
clases que permitan modelar la realidad o el problema que se quiere atacar.
Encapsulamiento
Significa reunir todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de
abstracción. Esto permite aumentar la cohesión de los componentes del sistema. Algunos autores confunden este
concepto con el principio de ocultación, principalmente porque se suelen emplear conjuntamente.
Modularidad
Se denomina modularidad a la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas
módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes
partes. Estos módulos se pueden compilar por separado, pero tienen conexiones con otros módulos. Al igual que la
encapsulación, los lenguajes soportan la modularidad de diversas formas.
Principio de ocultación
Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una interfaz a otros objetos
que especifica cómo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un
objeto contra su modificación por quien no tenga derecho a acceder a ellas; solamente los propios métodos internos del
objeto pueden acceder a su estado. Esto asegura que otros objetos no puedan cambiar el estado interno de un objeto
de manera inesperada, eliminando efectos secundarios e interacciones inesperadas. Algunos lenguajes relajan esto,
permitiendo un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de
abstracción. La aplicación entera se reduce a un agregado o rompecabezas de objetos.
Polimorfismo
Comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre; al llamarlos por ese
nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O, dicho de otro modo, las
referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un
comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado.
Cuando esto ocurre en "tiempo de ejecución", esta última característica se llama asignación tardía o asignación
dinámica. Algunos lenguajes proporcionan medios más estáticos (en "tiempo de compilación") de polimorfismo, tales
como las plantillas y la sobrecarga de operadores de C++.
Herencia
Las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos
heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el
polimorfismo y el encapsulamiento, permitiendo a los objetos ser definidos y creados como tipos especializados de
objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo.
Esto suele hacerse habitualmente agrupando los objetos en clases y estas en árboles o enrejados que reflejan un
comportamiento común. Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple.
Recolección de basura
La recolección de basura o garbage collection es la técnica por la cual el entorno de objetos se encarga de destruir
automáticamente, y por tanto desvincular la memoria asociada, los objetos que hayan quedado sin ninguna referencia a
ellos. Esto significa que el programador no debe preocuparse por la asignación o liberación de memoria, ya que el
entorno la asignará al crear un nuevo objeto y la liberará cuando nadie lo esté usando. En la mayoría de los lenguajes
híbridos que se extendieron para soportar el Paradigma de Programación Orientada a Objetos como C++ u Object
Pascal, esta característica no existe y la memoria debe desasignarse expresamente.
Estándares de programación
Un estandar de programación es una forma de "normalizar" la programación de forma tal que al trabajar en un proyecto
cualquiera de las personas involucradas en el mismo tenga acceso y comprenda el codigo. En otras palabras define la
escritura y organización del codigo fuente de un programa. Además el seguir un estandar de programación te facilita
como programador la modificación de tu propio código fuente aunque no estés trabajando en un equipo.
Por lo general los estandares de programacion definen la forma en que deben ser declaradas las variables, las clases, los
comentarios, en algunos estandares espedifica que datos deben incluirse acerca del programador y de los cambios
realizados al codigo fuente, etc.
Por ejemplo utilizar una determinada nomenclatura para la declaración de variables, o de clases dependiendo de su tipo
te es de gran ayuda porque al leer el nombre de la variable ya sabes con que tipo de datos estas trabajando y no tenes
que buscar la declaracion de la variable, todo esto dependiendo siempre del entorno y lenguaje de programación que
utilices.
Polimorfismo
El polimorfismo, en programación, significa básicamente usar una misma función (es decir, una con el mismo nombre)
para hacer varias cosas, dependiendo de quien le ha llamado.
En orientación a objetos (POO), es un método de una clase base heredado por diferentes objetos "hijos" que según el
comportamiento de cada uno, requerirán hacer algo diferente con la función.
Un ejemplo sencillo es un vehículo: Todos los vehículos "corren" (por decirlo así) pero no todos "corren" igual. Así, por
ejemplo, una carcochita viaja a 20 km/h mientras un lamborghini lo hace a más de 100 km/h (por decir algo simple):
clase vehiculo {
metodo run()
}
clase carcochita => es un vehículo {
redefine metodo run() { corre a 20km/h }
}
clase lamborghini => es un vehículo {
redefine metodo run() { corre a 150km/h }
}
Y el polimorfismo:
vehiculo carrito1, carrito2 /* ambos son vehículos */
carrito1 = new lamborghini
carrito2 = new carcochita
competir: carrito1.run() vs. carrito2.run() /* ambos llaman a run */
Ojo que ambos son vehiculos (ambos se declaran como tipo vehiculo) y cada uno llama al método run (correr), el cual
será ejecutado dependiendo del tipo de objeto creado.
Así, si los pones a competir, ambos corren (misma función) pero obviamente uno llegará primero y el otro después
(diferente comportamiento).
Dependiendo del lenguaje (de programación) en el que escribas, la sintaxis variará, pero básicamente es eso.
Ejemplos hay muchos:
- todos los animales comen algo, pero algunos comen carne, otros hierbitas, otros se comen entre si, etc.
class animal {
metodo comer()
}
class carnivoro => es un animal {
redefine metodo comer() { come carne }
}
class herbivoro => es un animal {
redefine metodo comer() { come hierba }
}
class omnivoro => es un animal {
redefine metodo comer() { como de todo }
}
animal leon, tortuga
leon = new carnivoro
tortuga = new herbivoro
leon.comer
toruga.comer
- todas las personas tienen un color de piel, pero algunos son negritos, otros amarillos, otros blancos, otros rojos, otros
verdes, otros azules, otros color #548762, etc.
class personita {
metodo colordepiel()
}
class negrito: es una personita {
redefine metodo colordepiel() { es negrito }
}
class indito: es una personita {
redefine metodo colordepiel() { es un indito }
}
personita manuel, juan, pepita, lulu
lulu = new negrito
pepita = new indito
...
manuel.colordepiel, etcétera.
Esta claro que al ser un método de una clase (o una función en programación estructurada) puede recibir diferentes
valores (parámetros y retornar algún tipo diferente de dato):
Todos los vehículos corren, pero algunos necesitan combustible y otros no. Los que usan combustible puede ser
petroleo o gasolina (u otro como gas o agua). Los que usan gasolina puede ser de 80 octanos, 90 octanos, etc.
class vehiculo {
metodo run(combustible)
}
class bicicleta => es un vehiculo {
redefine metodo run(combustible=null) {}
}
class gasolinero => es un vehiculo {
redefine metodo run(combustible) {...}
}
vehiculo a,b,c
a=new gasolinero
b=new bicibleta
c=new gasolinero
a.run(80 octanos)
b.run
c.run(90 octanos)

Mais conteúdo relacionado

Mais procurados

Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosAlexis Arguello
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetosguest160f88
 
Elementos de una clase
Elementos de una claseElementos de una clase
Elementos de una claseIsaias Toledo
 
Uml orientada a objetos
Uml orientada a objetosUml orientada a objetos
Uml orientada a objetosielectronicos
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosxiomaracadenag
 
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a  Programación Orientada a Objetos (OOP): Clases y ObjetosIntroducción a  Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a Programación Orientada a Objetos (OOP): Clases y ObjetosKudos S.A.S
 
Trabajo de diceño y realizacion
Trabajo de diceño y realizacionTrabajo de diceño y realizacion
Trabajo de diceño y realizacionLolyPila
 
Carcateristicas de la poo22
Carcateristicas de la poo22Carcateristicas de la poo22
Carcateristicas de la poo22maxajane
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosAgapito26
 
Conceptos de programación orientada a objetos
Conceptos de programación orientada a objetosConceptos de programación orientada a objetos
Conceptos de programación orientada a objetosGabriel Mondragón
 
CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOS
CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOSCUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOS
CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOSLuis Miguel Gutierrez
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosronnyme21
 

Mais procurados (20)

Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
FPJUCE - Capitulo2
FPJUCE - Capitulo2FPJUCE - Capitulo2
FPJUCE - Capitulo2
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetos
 
Elementos de una clase
Elementos de una claseElementos de una clase
Elementos de una clase
 
Uml orientada a objetos
Uml orientada a objetosUml orientada a objetos
Uml orientada a objetos
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Encapsulamiento en JAVA-NETBEANS
Encapsulamiento en JAVA-NETBEANSEncapsulamiento en JAVA-NETBEANS
Encapsulamiento en JAVA-NETBEANS
 
Conceptos Basicos de POO
Conceptos Basicos de POOConceptos Basicos de POO
Conceptos Basicos de POO
 
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a  Programación Orientada a Objetos (OOP): Clases y ObjetosIntroducción a  Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
 
Trabajo de diceño y realizacion
Trabajo de diceño y realizacionTrabajo de diceño y realizacion
Trabajo de diceño y realizacion
 
Carcateristicas de la poo22
Carcateristicas de la poo22Carcateristicas de la poo22
Carcateristicas de la poo22
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Clases en java
Clases en javaClases en java
Clases en java
 
Conceptos de programación orientada a objetos
Conceptos de programación orientada a objetosConceptos de programación orientada a objetos
Conceptos de programación orientada a objetos
 
Unidad1 y 2
Unidad1 y 2Unidad1 y 2
Unidad1 y 2
 
CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOS
CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOSCUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOS
CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOS
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Orientada a objetos
Orientada a objetosOrientada a objetos
Orientada a objetos
 
Poo
PooPoo
Poo
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 

Destaque

Destaque (20)

walking
walkingwalking
walking
 
Slides
SlidesSlides
Slides
 
الفصول الافتراضية
الفصول الافتراضيةالفصول الافتراضية
الفصول الافتراضية
 
Airtame vidéo en streaming
Airtame   vidéo en streamingAirtame   vidéo en streaming
Airtame vidéo en streaming
 
Desso catalog
Desso catalogDesso catalog
Desso catalog
 
Vitoria Eu Comigo
Vitoria Eu ComigoVitoria Eu Comigo
Vitoria Eu Comigo
 
Ativ3 9 Adelcio 2
Ativ3 9 Adelcio 2Ativ3 9 Adelcio 2
Ativ3 9 Adelcio 2
 
Redecorate with items you already have. ppt
Redecorate with items you already have. pptRedecorate with items you already have. ppt
Redecorate with items you already have. ppt
 
Group discussion
Group discussion Group discussion
Group discussion
 
O Sete
O SeteO Sete
O Sete
 
9 de abril
9 de abril9 de abril
9 de abril
 
RACCO MANIA 01 JAN 2010
RACCO MANIA 01 JAN 2010RACCO MANIA 01 JAN 2010
RACCO MANIA 01 JAN 2010
 
Tenzin gyatso
Tenzin gyatso Tenzin gyatso
Tenzin gyatso
 
Old Dominion vs. Charlotte: Baseball Game March 29
Old Dominion vs. Charlotte: Baseball Game March 29Old Dominion vs. Charlotte: Baseball Game March 29
Old Dominion vs. Charlotte: Baseball Game March 29
 
Lindas Imagens
Lindas ImagensLindas Imagens
Lindas Imagens
 
Historia6 exer
Historia6 exerHistoria6 exer
Historia6 exer
 
Ruatoria by Anton
Ruatoria by AntonRuatoria by Anton
Ruatoria by Anton
 
tecnologia
tecnologiatecnologia
tecnologia
 
1020 chen xi
1020 chen xi1020 chen xi
1020 chen xi
 
Kp3419221926
Kp3419221926Kp3419221926
Kp3419221926
 

Semelhante a Analisis de la PPO

Introduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalIntroduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalJose Angel Rodriguez
 
Analisis orientado a objetos
Analisis orientado a objetosAnalisis orientado a objetos
Analisis orientado a objetosvilma pilco
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetosguest160f88
 
Características de la programación orientada a objetos
Características de la programación orientada a objetosCaracterísticas de la programación orientada a objetos
Características de la programación orientada a objetosUriel Garcia
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosALfonsx Viejo
 
Programacion orientada a objeto
Programacion orientada  a objetoProgramacion orientada  a objeto
Programacion orientada a objetokcarbache
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetoslindacajaperuiz
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con javaEudris Cabrera
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosjoelnicolasv
 
Exposicion orientada a objetos
Exposicion orientada a objetosExposicion orientada a objetos
Exposicion orientada a objetospc79599paty
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetospc79599paty
 
Reporte.. del video0( greysh)
Reporte.. del video0( greysh)Reporte.. del video0( greysh)
Reporte.. del video0( greysh)grachika
 
Diseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosDiseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosJosue Sarabia
 

Semelhante a Analisis de la PPO (20)

Introduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalIntroduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos original
 
Analisis orientado a objetos
Analisis orientado a objetosAnalisis orientado a objetos
Analisis orientado a objetos
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetos
 
Características de la programación orientada a objetos
Características de la programación orientada a objetosCaracterísticas de la programación orientada a objetos
Características de la programación orientada a objetos
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Cspr
CsprCspr
Cspr
 
Cspr
CsprCspr
Cspr
 
Programacion orientada a objeto
Programacion orientada  a objetoProgramacion orientada  a objeto
Programacion orientada a objeto
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Caracteristicas poo
Caracteristicas pooCaracteristicas poo
Caracteristicas poo
 
Asignación 1 astrid c.
Asignación 1 astrid c.Asignación 1 astrid c.
Asignación 1 astrid c.
 
Java
JavaJava
Java
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Exposicion orientada a objetos
Exposicion orientada a objetosExposicion orientada a objetos
Exposicion orientada a objetos
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Reporte.. del video0( greysh)
Reporte.. del video0( greysh)Reporte.. del video0( greysh)
Reporte.. del video0( greysh)
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Diseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosDiseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetos
 

Último

Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadEduardoSantiagoSegov
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 

Último (20)

Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedad
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 

Analisis de la PPO

  • 1. Características de la POO Existe un acuerdo acerca de qué características contempla la "orientación a objetos". Las características siguientes son las más importantes: Abstracción Denota las características esenciales de un objeto, donde se capturan sus comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cómo se implementan estas características. Los procesos, las funciones o los métodos pueden también ser abstraídos, y, cuando lo están, una variedad de técnicas son requeridas para ampliar una abstracción. El proceso de abstracción permite seleccionar las características relevantes dentro de un conjunto e identificar comportamientos comunes para definir nuevos tipos de entidades en el mundo real. La abstracción es clave en el proceso de análisis y diseño orientado a objetos, ya que mediante ella podemos llegar a armar un conjunto de clases que permitan modelar la realidad o el problema que se quiere atacar. Encapsulamiento Significa reunir todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultación, principalmente porque se suelen emplear conjuntamente. Modularidad Se denomina modularidad a la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes. Estos módulos se pueden compilar por separado, pero tienen conexiones con otros módulos. Al igual que la encapsulación, los lenguajes soportan la modularidad de diversas formas. Principio de ocultación Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una interfaz a otros objetos que especifica cómo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas; solamente los propios métodos internos del objeto pueden acceder a su estado. Esto asegura que otros objetos no puedan cambiar el estado interno de un objeto de manera inesperada, eliminando efectos secundarios e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de abstracción. La aplicación entera se reduce a un agregado o rompecabezas de objetos. Polimorfismo Comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre; al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O, dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en "tiempo de ejecución", esta última característica se llama asignación tardía o asignación dinámica. Algunos lenguajes proporcionan medios más estáticos (en "tiempo de compilación") de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++. Herencia Las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento, permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en árboles o enrejados que reflejan un comportamiento común. Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple. Recolección de basura La recolección de basura o garbage collection es la técnica por la cual el entorno de objetos se encarga de destruir automáticamente, y por tanto desvincular la memoria asociada, los objetos que hayan quedado sin ninguna referencia a ellos. Esto significa que el programador no debe preocuparse por la asignación o liberación de memoria, ya que el entorno la asignará al crear un nuevo objeto y la liberará cuando nadie lo esté usando. En la mayoría de los lenguajes híbridos que se extendieron para soportar el Paradigma de Programación Orientada a Objetos como C++ u Object Pascal, esta característica no existe y la memoria debe desasignarse expresamente.
  • 2. Estándares de programación Un estandar de programación es una forma de "normalizar" la programación de forma tal que al trabajar en un proyecto cualquiera de las personas involucradas en el mismo tenga acceso y comprenda el codigo. En otras palabras define la escritura y organización del codigo fuente de un programa. Además el seguir un estandar de programación te facilita como programador la modificación de tu propio código fuente aunque no estés trabajando en un equipo. Por lo general los estandares de programacion definen la forma en que deben ser declaradas las variables, las clases, los comentarios, en algunos estandares espedifica que datos deben incluirse acerca del programador y de los cambios realizados al codigo fuente, etc. Por ejemplo utilizar una determinada nomenclatura para la declaración de variables, o de clases dependiendo de su tipo te es de gran ayuda porque al leer el nombre de la variable ya sabes con que tipo de datos estas trabajando y no tenes que buscar la declaracion de la variable, todo esto dependiendo siempre del entorno y lenguaje de programación que utilices. Polimorfismo El polimorfismo, en programación, significa básicamente usar una misma función (es decir, una con el mismo nombre) para hacer varias cosas, dependiendo de quien le ha llamado. En orientación a objetos (POO), es un método de una clase base heredado por diferentes objetos "hijos" que según el comportamiento de cada uno, requerirán hacer algo diferente con la función. Un ejemplo sencillo es un vehículo: Todos los vehículos "corren" (por decirlo así) pero no todos "corren" igual. Así, por ejemplo, una carcochita viaja a 20 km/h mientras un lamborghini lo hace a más de 100 km/h (por decir algo simple): clase vehiculo { metodo run() } clase carcochita => es un vehículo { redefine metodo run() { corre a 20km/h } } clase lamborghini => es un vehículo { redefine metodo run() { corre a 150km/h } } Y el polimorfismo:
  • 3. vehiculo carrito1, carrito2 /* ambos son vehículos */ carrito1 = new lamborghini carrito2 = new carcochita competir: carrito1.run() vs. carrito2.run() /* ambos llaman a run */ Ojo que ambos son vehiculos (ambos se declaran como tipo vehiculo) y cada uno llama al método run (correr), el cual será ejecutado dependiendo del tipo de objeto creado. Así, si los pones a competir, ambos corren (misma función) pero obviamente uno llegará primero y el otro después (diferente comportamiento). Dependiendo del lenguaje (de programación) en el que escribas, la sintaxis variará, pero básicamente es eso. Ejemplos hay muchos: - todos los animales comen algo, pero algunos comen carne, otros hierbitas, otros se comen entre si, etc. class animal { metodo comer() } class carnivoro => es un animal { redefine metodo comer() { come carne } } class herbivoro => es un animal { redefine metodo comer() { come hierba } } class omnivoro => es un animal { redefine metodo comer() { como de todo } } animal leon, tortuga leon = new carnivoro
  • 4. tortuga = new herbivoro leon.comer toruga.comer - todas las personas tienen un color de piel, pero algunos son negritos, otros amarillos, otros blancos, otros rojos, otros verdes, otros azules, otros color #548762, etc. class personita { metodo colordepiel() } class negrito: es una personita { redefine metodo colordepiel() { es negrito } } class indito: es una personita { redefine metodo colordepiel() { es un indito } } personita manuel, juan, pepita, lulu lulu = new negrito pepita = new indito ... manuel.colordepiel, etcétera. Esta claro que al ser un método de una clase (o una función en programación estructurada) puede recibir diferentes valores (parámetros y retornar algún tipo diferente de dato): Todos los vehículos corren, pero algunos necesitan combustible y otros no. Los que usan combustible puede ser petroleo o gasolina (u otro como gas o agua). Los que usan gasolina puede ser de 80 octanos, 90 octanos, etc. class vehiculo { metodo run(combustible)
  • 5. } class bicicleta => es un vehiculo { redefine metodo run(combustible=null) {} } class gasolinero => es un vehiculo { redefine metodo run(combustible) {...} } vehiculo a,b,c a=new gasolinero b=new bicibleta c=new gasolinero a.run(80 octanos) b.run c.run(90 octanos)