C1 - Conceptos OOP

Juan Zamora, MSc. MBA
Juan Zamora, MSc. MBAPrincipal Software Architect at VMC em VMC
Programación Orientada a Objetos
Conceptos Básicos
Ing. Juan Ignacio Zamora MSc | Ulacit.
Clases
Definiciones
• Es un tipo de dato que contiene código,
funciones y datos.
• Permite encapsular todo el código y los
datos necesarios para gestionar un tipo
específico de un elemento de programa.
• Se dice común mente es “La Abstracción
de un Objeto”
• Un objetos es la instancia de una clase
• Según Booch, es “algo que tiene un
estado, un comportamiento y una
identidad”.
• Martin y Odell definen un objeto como
“cualquier cosa real o abstracta, en que
almacenan datos y operaciones que los
manipulan”…
Objetos
Definiciones
Demo {clase} D; {identificador};
• Se agrupan en tipos llamados clases
• Tienen datos internos que definen su estado
• Soportan la ocultación de datos
• Pueden heredar propiedades de otros objetos
• Pueden comunicarse con otros objetos por
medio de mensajes
• Tienen métodos que definen su comportamiento
Características de un Objeto
• Punto p; donde {Punto} es la clase y {p} es
el identificador de la clase.
• {.} es el operador de acceso a un
miembro. p.FijarCoordenada(100,200);
• Funciones miembro: funciones que
pertenecen a la misma clase.
• Modificadores de Acceso: Public,
Protected y Private
Objetos
Nomenclatura y Definiciones
Tipo Miembro de la
Misma Clase
Amiga (Solo
C++)
Miembro Clase
Derivada
Función No
Miembro
Private X X
Protected X X X
Public X X X X
Objetos
Modificadores de Acceso
Los modificadores de acceso determinan la visibilidad de los elementos de una clase
Los modificadores definen el principio de la Ocultación de Información
En C#/C++, si el modificador de acceso no es definido, se asume por defecto private
• El principio de ocultación indica que
toda la interacción con un objeto debe ser
restringida, para permitir que los detalles
de la implementación sean ignorados.
• El principio de encapsulamiento
significa que las estructuras de datos
internas o cualquier implementación no
puede ser accesible al usuario.
Objetos
Conceptos
• {::} operador de resolución de ámbito.
• {tipo retorno} {clase} :: {funcion(x,y)}
• Permite acceder a espacios de tipos de
nombres o bien a las declaraciones de
métodos de una clase
Objetos
Conceptos (Solo C++)
• Tipos de Funciones Miembro
– Constructores y Destructores
– Selectores (Getters y Setters)
– Operadores
– Iteradores
Objetos
Conceptos
C++: Cuando una función miembro se implementa fuera de la
clase por medio de un operador de resolución de ámbito se llama
función fuera de línea
• Constructores
– Default
– Alternativos o no default
– Existe la sobrecarga
• Destructores (C++) y la Recolección de
Basura
– El destructor se llama al invocar delete.
– O al final de la vida del main
Objetos
Conceptos
• Es la capacidad de un objeto, de utilizar
estructuras de daros o comportamientos
provistos por su antepasado o
ascendiente.
• El objetivo es la reutilización de código
para generar nuevas abstracciones.
• “una clase hereda sus características de
otra clase”
Comportamiento y Herencia
• Tipos de Herencia
– Herencia Simple
(Jerárquica)
– Herencia Múltiple*
(Malla / C++, Python)
– Solución a la
Herencia Múltiple???
Herencia
• Una clase que se crea a partir de otra
clase por medio de la herencia
• La clase de la que se hereda se llama
clase base
• Los modificadores de acceso delimitan las
características y comportamientos que se
pueden heredar
Herencia
Clase Derivada
• Métodos Virtuales. Permiten sobrescribir
comportamiento. Si no se sobrescribe, se
usa funcionalidad de la clase base.
• Métodos Tradicionales. Pueden ser
heredados o no dependiendo de los
modificadores de acceso.
Métodos y Herencia
• No pueden ser instanciadas directamente
• Son clasificadores de objetos
• Representan un nivel de abstracción más
alto
• Pueden contener métodos con
comportamiento codificado
• Pueden contener métodos abstractos
Herencia
Clase Base Abstracta
• En C# y Java para hacer una clase de
base abstracta, solo basta con definirla
como abstract.
• En C++ la clase de base abstracta se
define cuando esta posee al menos un
método virtual puro
– virtual int area () =0;
Herencia
Clase de Base Abstracta
• Por ende, es la propiedad de la POO que
le permite a cada objeto comportarse de
forma diferente al implementar su propio
comportamiento.
Polimorfismo
1 de 17

Recomendados

Programacion orienatada a objetos parte 1 por
Programacion orienatada a objetos parte 1Programacion orienatada a objetos parte 1
Programacion orienatada a objetos parte 1Andres Esteves Aharonian
354 visualizações22 slides
Programación Orientada a Objetos - atributos y métodos por
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosAlvaro Enrique Ruano
33.4K visualizações22 slides
Propiedades De La Poo por
Propiedades De La PooPropiedades De La Poo
Propiedades De La Pooda4
26K visualizações12 slides
Operadores poo por
Operadores pooOperadores poo
Operadores pooRochaJaqueline
3.7K visualizações35 slides
Métodos POO por
Métodos POOMétodos POO
Métodos POO1da4
47.8K visualizações18 slides
Clases en java por
Clases en javaClases en java
Clases en javaJesús Navarro
1.5K visualizações16 slides

Mais conteúdo relacionado

Mais procurados

Elementos De Una Clase por
Elementos De Una ClaseElementos De Una Clase
Elementos De Una ClaseNamuel Solorzano Peralta
26.8K visualizações15 slides
Poo Java por
Poo JavaPoo Java
Poo Javaeccutpl
11.1K visualizações24 slides
Pilares de la POO por
Pilares de la POOPilares de la POO
Pilares de la POOadolfoacosta
9.8K visualizações13 slides
Programacion orientada a objetos 1 por
Programacion orientada a objetos 1Programacion orientada a objetos 1
Programacion orientada a objetos 1mellcv
668 visualizações14 slides
Programación Orientada a Objetos por
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a ObjetosUVMVirtual
7.7K visualizações15 slides
Clases en Java y todo lo relacionado por
Clases en Java y todo lo relacionadoClases en Java y todo lo relacionado
Clases en Java y todo lo relacionadoJuan Carlos Espinoza
1.7K visualizações25 slides

Mais procurados(20)

Poo Java por eccutpl
Poo JavaPoo Java
Poo Java
eccutpl11.1K visualizações
Pilares de la POO por adolfoacosta
Pilares de la POOPilares de la POO
Pilares de la POO
adolfoacosta9.8K visualizações
Programacion orientada a objetos 1 por mellcv
Programacion orientada a objetos 1Programacion orientada a objetos 1
Programacion orientada a objetos 1
mellcv668 visualizações
Programación Orientada a Objetos por UVMVirtual
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
UVMVirtual7.7K visualizações
Clases en Java y todo lo relacionado por Juan Carlos Espinoza
Clases en Java y todo lo relacionadoClases en Java y todo lo relacionado
Clases en Java y todo lo relacionado
Juan Carlos Espinoza1.7K visualizações
POO con PHP por vinceq
POO con PHPPOO con PHP
POO con PHP
vinceq41 visualizações
java (clases,herencias,encapsulamiento,.. ) por brayan0015
java (clases,herencias,encapsulamiento,.. )java (clases,herencias,encapsulamiento,.. )
java (clases,herencias,encapsulamiento,.. )
brayan001511.3K visualizações
5.1 estructura de una clase. por K Manuel TN
5.1 estructura de una clase.5.1 estructura de una clase.
5.1 estructura de una clase.
K Manuel TN8.9K visualizações
C3 las clases en java v2 por Mariano Galvez
C3 las clases en java v2C3 las clases en java v2
C3 las clases en java v2
Mariano Galvez907 visualizações
Programación Orientada a Objetos en Java - Parte I 2015 por Renny Batista
Programación Orientada a Objetos en Java - Parte I 2015Programación Orientada a Objetos en Java - Parte I 2015
Programación Orientada a Objetos en Java - Parte I 2015
Renny Batista3.4K visualizações
2 POO Presentación por guest7b7e934
2 POO Presentación2 POO Presentación
2 POO Presentación
guest7b7e9341.1K visualizações
Fundamentos básicos de la programación orientada a objetos por ALGLYS RAMIREZ
Fundamentos básicos de la programación orientada a objetosFundamentos básicos de la programación orientada a objetos
Fundamentos básicos de la programación orientada a objetos
ALGLYS RAMIREZ5.9K visualizações
Encapsulamiento por Whaleejaa Wha
EncapsulamientoEncapsulamiento
Encapsulamiento
Whaleejaa Wha2.8K visualizações
Modelado con clases instancias por Carlos Castro
Modelado con clases instanciasModelado con clases instancias
Modelado con clases instancias
Carlos Castro527 visualizações

Destaque

Introduccion A La Oop por
Introduccion A La OopIntroduccion A La Oop
Introduccion A La Oopsemuvi
740 visualizações31 slides
Resolución de sistemas de ecuaciones por el método por
Resolución de sistemas de ecuaciones por el métodoResolución de sistemas de ecuaciones por el método
Resolución de sistemas de ecuaciones por el métodoRen Honjo
1.3K visualizações10 slides
!Prograc1 por
!Prograc1!Prograc1
!Prograc1robertoxe
268 visualizações9 slides
1 -programacion_oo por
1  -programacion_oo1  -programacion_oo
1 -programacion_ooBernardo Cruz Martinez
477 visualizações29 slides
Ecuaciones y funciones por
Ecuaciones y funcionesEcuaciones y funciones
Ecuaciones y funcionesLuis Alejandro Pico
17.4K visualizações11 slides
Bases De Datos Relacionales por
Bases De Datos RelacionalesBases De Datos Relacionales
Bases De Datos RelacionalesAngeles Sandoval
18.4K visualizações44 slides

Destaque(20)

Introduccion A La Oop por semuvi
Introduccion A La OopIntroduccion A La Oop
Introduccion A La Oop
semuvi740 visualizações
Resolución de sistemas de ecuaciones por el método por Ren Honjo
Resolución de sistemas de ecuaciones por el métodoResolución de sistemas de ecuaciones por el método
Resolución de sistemas de ecuaciones por el método
Ren Honjo1.3K visualizações
!Prograc1 por robertoxe
!Prograc1!Prograc1
!Prograc1
robertoxe268 visualizações
Ecuaciones y funciones por Luis Alejandro Pico
Ecuaciones y funcionesEcuaciones y funciones
Ecuaciones y funciones
Luis Alejandro Pico17.4K visualizações
Bases De Datos Relacionales por Angeles Sandoval
Bases De Datos RelacionalesBases De Datos Relacionales
Bases De Datos Relacionales
Angeles Sandoval18.4K visualizações
Formas normales por didachos1
Formas normalesFormas normales
Formas normales
didachos117.6K visualizações
Pensamiento operacional formal 17 por kdtdtkt
Pensamiento operacional formal 17Pensamiento operacional formal 17
Pensamiento operacional formal 17
kdtdtkt8.4K visualizações
Como citar por Gina Romero
Como citarComo citar
Como citar
Gina Romero27.9K visualizações
Modelo relacional por Avocats & Associés
Modelo relacionalModelo relacional
Modelo relacional
Avocats & Associés16.1K visualizações
Pensamiento formal por scfani
Pensamiento formalPensamiento formal
Pensamiento formal
scfani10.1K visualizações
Funciones matematicas-y-ecuaciones-lineales por asegura-b
Funciones matematicas-y-ecuaciones-linealesFunciones matematicas-y-ecuaciones-lineales
Funciones matematicas-y-ecuaciones-lineales
asegura-b58.5K visualizações
Malla ciencias sociales por Maria Franco
Malla ciencias socialesMalla ciencias sociales
Malla ciencias sociales
Maria Franco5.9K visualizações
Ecuaciones Y ResolucióN De Ecuaciones por Juan Serrano
Ecuaciones Y ResolucióN De EcuacionesEcuaciones Y ResolucióN De Ecuaciones
Ecuaciones Y ResolucióN De Ecuaciones
Juan Serrano54.4K visualizações
Ejercicio de Ecuaciones Lineales por Gladys Gahona C.
Ejercicio de Ecuaciones LinealesEjercicio de Ecuaciones Lineales
Ejercicio de Ecuaciones Lineales
Gladys Gahona C.43.6K visualizações
Piaget por MindysMoreno
PiagetPiaget
Piaget
MindysMoreno16.3K visualizações
Malla curricular ciencias sociales 2015 por Ronald Torres
Malla curricular ciencias sociales 2015Malla curricular ciencias sociales 2015
Malla curricular ciencias sociales 2015
Ronald Torres7.7K visualizações
Pensamiento piaget y post formal por Monica Reyes
Pensamiento piaget y post formalPensamiento piaget y post formal
Pensamiento piaget y post formal
Monica Reyes 33K visualizações
Carretero Y Piaget Y El Pensamiento Formal De La Adolescencia por gzy
Carretero Y Piaget Y El Pensamiento Formal De La AdolescenciaCarretero Y Piaget Y El Pensamiento Formal De La Adolescencia
Carretero Y Piaget Y El Pensamiento Formal De La Adolescencia
gzy55.3K visualizações

Similar a C1 - Conceptos OOP

Programación Orientada a Objetos por
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a ObjetosZamantha Gonzalez Universidad Nacional Abierta
11.3K visualizações37 slides
Cap3.0 por
Cap3.0Cap3.0
Cap3.0Mary Dunnia Lopez N.
625 visualizações42 slides
Poo 1 por
Poo 1Poo 1
Poo 1Yordany Pirela
1.4K visualizações92 slides
[ES] Programación orientada a objeto con java por
[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
3.3K visualizações34 slides
Elementos avanzados de poo por
Elementos avanzados de pooElementos avanzados de poo
Elementos avanzados de pooLCA
130 visualizações63 slides
Cap3.0 por
Cap3.0Cap3.0
Cap3.0Mary Dunnia Lopez N.
86 visualizações40 slides

Similar a C1 - Conceptos OOP(20)

Poo 1 por Yordany Pirela
Poo 1Poo 1
Poo 1
Yordany Pirela1.4K visualizações
[ES] Programación orientada a objeto con java por Eudris Cabrera
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java
Eudris Cabrera3.3K visualizações
Elementos avanzados de poo por LCA
Elementos avanzados de pooElementos avanzados de poo
Elementos avanzados de poo
LCA130 visualizações
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos por Kudos S.A.S
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
Kudos S.A.S23.9K visualizações
16 17 tecnologias python oop por Software Guru
16 17 tecnologias python oop16 17 tecnologias python oop
16 17 tecnologias python oop
Software Guru1K visualizações
Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900 por johnny herrera
Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900
Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900
johnny herrera530 visualizações
Programación 3: Clases y objetos en Java por Angel Vázquez Patiño
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
Angel Vázquez Patiño7.4K visualizações
1. introduccion a la programación orientada a objeto (poo) por Roberto Rojas
1.  introduccion a la programación orientada a objeto (poo)1.  introduccion a la programación orientada a objeto (poo)
1. introduccion a la programación orientada a objeto (poo)
Roberto Rojas4.3K visualizações
Programacion orientada objeto (poo) por YamilethRivas3
Programacion orientada objeto (poo)Programacion orientada objeto (poo)
Programacion orientada objeto (poo)
YamilethRivas3118 visualizações
4-Unidad 1. Paradigma de la Programación-Orientación a Objetos por Luis Fernando Aguas Bucheli
4-Unidad 1. Paradigma de la Programación-Orientación a Objetos 4-Unidad 1. Paradigma de la Programación-Orientación a Objetos
4-Unidad 1. Paradigma de la Programación-Orientación a Objetos
Luis Fernando Aguas Bucheli99 visualizações
Cuaderno por juanlunatics
CuadernoCuaderno
Cuaderno
juanlunatics56 visualizações
Cuaderno por juanlunatics
CuadernoCuaderno
Cuaderno
juanlunatics559 visualizações
Porafolio unidad 1 por bchrmz
Porafolio unidad 1Porafolio unidad 1
Porafolio unidad 1
bchrmz44 visualizações
Porafolio unidad 1 por bchrmz
Porafolio unidad 1Porafolio unidad 1
Porafolio unidad 1
bchrmz80 visualizações

Mais de Juan Zamora, MSc. MBA

Arboles Binarios por
Arboles BinariosArboles Binarios
Arboles BinariosJuan Zamora, MSc. MBA
777 visualizações15 slides
Hashing por
HashingHashing
HashingJuan Zamora, MSc. MBA
983 visualizações22 slides
Arboles AVL por
Arboles AVLArboles AVL
Arboles AVLJuan Zamora, MSc. MBA
6.8K visualizações13 slides
Quick Sort por
Quick SortQuick Sort
Quick SortJuan Zamora, MSc. MBA
259 visualizações4 slides
Heap Sort por
Heap SortHeap Sort
Heap SortJuan Zamora, MSc. MBA
581 visualizações8 slides
Notacion Asintotica por
Notacion AsintoticaNotacion Asintotica
Notacion AsintoticaJuan Zamora, MSc. MBA
4.4K visualizações35 slides

Último

2324_s3_Orientaciones_Tercera_Sesion_Preescolar_Primaria_Secundaria.pdf por
2324_s3_Orientaciones_Tercera_Sesion_Preescolar_Primaria_Secundaria.pdf2324_s3_Orientaciones_Tercera_Sesion_Preescolar_Primaria_Secundaria.pdf
2324_s3_Orientaciones_Tercera_Sesion_Preescolar_Primaria_Secundaria.pdfNorberto Millán Muñoz
211 visualizações13 slides
Presentación de Proyecto Creativo Doodle Azul.pdf por
Presentación de Proyecto Creativo Doodle Azul.pdfPresentación de Proyecto Creativo Doodle Azul.pdf
Presentación de Proyecto Creativo Doodle Azul.pdfLauraJuarez87
58 visualizações6 slides
La_Anunciacion_JERUSALEM NEWS+.pdf por
La_Anunciacion_JERUSALEM NEWS+.pdfLa_Anunciacion_JERUSALEM NEWS+.pdf
La_Anunciacion_JERUSALEM NEWS+.pdfNombre Apellidos
30 visualizações4 slides
Diploma.pdf por
Diploma.pdfDiploma.pdf
Diploma.pdfValdezsalvadorMayleM
24 visualizações1 slide
DEPORTES DE RAQUETA .pdf por
DEPORTES DE RAQUETA .pdfDEPORTES DE RAQUETA .pdf
DEPORTES DE RAQUETA .pdfMiguel Lopez Marin
26 visualizações11 slides
Infografia Planificación didactica por Maria Marquez .pdf por
Infografia Planificación didactica por Maria Marquez .pdfInfografia Planificación didactica por Maria Marquez .pdf
Infografia Planificación didactica por Maria Marquez .pdfmarialauramarquez3
47 visualizações1 slide

Último(20)

2324_s3_Orientaciones_Tercera_Sesion_Preescolar_Primaria_Secundaria.pdf por Norberto Millán Muñoz
2324_s3_Orientaciones_Tercera_Sesion_Preescolar_Primaria_Secundaria.pdf2324_s3_Orientaciones_Tercera_Sesion_Preescolar_Primaria_Secundaria.pdf
2324_s3_Orientaciones_Tercera_Sesion_Preescolar_Primaria_Secundaria.pdf
Norberto Millán Muñoz211 visualizações
Presentación de Proyecto Creativo Doodle Azul.pdf por LauraJuarez87
Presentación de Proyecto Creativo Doodle Azul.pdfPresentación de Proyecto Creativo Doodle Azul.pdf
Presentación de Proyecto Creativo Doodle Azul.pdf
LauraJuarez8758 visualizações
La_Anunciacion_JERUSALEM NEWS+.pdf por Nombre Apellidos
La_Anunciacion_JERUSALEM NEWS+.pdfLa_Anunciacion_JERUSALEM NEWS+.pdf
La_Anunciacion_JERUSALEM NEWS+.pdf
Nombre Apellidos30 visualizações
DEPORTES DE RAQUETA .pdf por Miguel Lopez Marin
DEPORTES DE RAQUETA .pdfDEPORTES DE RAQUETA .pdf
DEPORTES DE RAQUETA .pdf
Miguel Lopez Marin26 visualizações
Infografia Planificación didactica por Maria Marquez .pdf por marialauramarquez3
Infografia Planificación didactica por Maria Marquez .pdfInfografia Planificación didactica por Maria Marquez .pdf
Infografia Planificación didactica por Maria Marquez .pdf
marialauramarquez347 visualizações
5°_GRADO_-_ACTIVIDAD_DEL_24_DE_NOVIEMBRE.doc por josetejada220380
5°_GRADO_-_ACTIVIDAD_DEL_24_DE_NOVIEMBRE.doc5°_GRADO_-_ACTIVIDAD_DEL_24_DE_NOVIEMBRE.doc
5°_GRADO_-_ACTIVIDAD_DEL_24_DE_NOVIEMBRE.doc
josetejada22038026 visualizações
Norma de Evaluacion de Educacion Secundaria LSB-2023 Ccesa007.pdf por Demetrio Ccesa Rayme
Norma de Evaluacion de  Educacion Secundaria LSB-2023  Ccesa007.pdfNorma de Evaluacion de  Educacion Secundaria LSB-2023  Ccesa007.pdf
Norma de Evaluacion de Educacion Secundaria LSB-2023 Ccesa007.pdf
Demetrio Ccesa Rayme250 visualizações
Mujeres privadas de libertad en Bolivia 2022 por LuisFernando672460
Mujeres privadas de libertad en Bolivia 2022Mujeres privadas de libertad en Bolivia 2022
Mujeres privadas de libertad en Bolivia 2022
LuisFernando672460117 visualizações
0 - Organología - Presentación.pptx por VICENTEJIMENEZAYALA
0 - Organología - Presentación.pptx0 - Organología - Presentación.pptx
0 - Organología - Presentación.pptx
VICENTEJIMENEZAYALA127 visualizações
Contrato de aprendizaje y evaluación por LauraJuarez87
Contrato de aprendizaje y evaluación Contrato de aprendizaje y evaluación
Contrato de aprendizaje y evaluación
LauraJuarez87109 visualizações
Estrategias y Recursos en el Aula Ccesa.pdf por Demetrio Ccesa Rayme
Estrategias y Recursos en el Aula  Ccesa.pdfEstrategias y Recursos en el Aula  Ccesa.pdf
Estrategias y Recursos en el Aula Ccesa.pdf
Demetrio Ccesa Rayme285 visualizações
Curso Tegnologia y Educacion Virtual por s pinaz
Curso Tegnologia y Educacion Virtual Curso Tegnologia y Educacion Virtual
Curso Tegnologia y Educacion Virtual
s pinaz30 visualizações
BDA MATEMATICAS (2).pptx por luisahumanez2
BDA MATEMATICAS (2).pptxBDA MATEMATICAS (2).pptx
BDA MATEMATICAS (2).pptx
luisahumanez240 visualizações
Infografia María Fuenmayor S _20231126_070624_0000.pdf por mariafuenmayor20
Infografia María Fuenmayor S _20231126_070624_0000.pdfInfografia María Fuenmayor S _20231126_070624_0000.pdf
Infografia María Fuenmayor S _20231126_070624_0000.pdf
mariafuenmayor2033 visualizações
FORTI-DICIEMBRE.2023.pdf por El Fortí
FORTI-DICIEMBRE.2023.pdfFORTI-DICIEMBRE.2023.pdf
FORTI-DICIEMBRE.2023.pdf
El Fortí144 visualizações

C1 - Conceptos OOP

  • 1. Programación Orientada a Objetos Conceptos Básicos Ing. Juan Ignacio Zamora MSc | Ulacit.
  • 2. Clases Definiciones • Es un tipo de dato que contiene código, funciones y datos. • Permite encapsular todo el código y los datos necesarios para gestionar un tipo específico de un elemento de programa. • Se dice común mente es “La Abstracción de un Objeto”
  • 3. • Un objetos es la instancia de una clase • Según Booch, es “algo que tiene un estado, un comportamiento y una identidad”. • Martin y Odell definen un objeto como “cualquier cosa real o abstracta, en que almacenan datos y operaciones que los manipulan”… Objetos Definiciones Demo {clase} D; {identificador};
  • 4. • Se agrupan en tipos llamados clases • Tienen datos internos que definen su estado • Soportan la ocultación de datos • Pueden heredar propiedades de otros objetos • Pueden comunicarse con otros objetos por medio de mensajes • Tienen métodos que definen su comportamiento Características de un Objeto
  • 5. • Punto p; donde {Punto} es la clase y {p} es el identificador de la clase. • {.} es el operador de acceso a un miembro. p.FijarCoordenada(100,200); • Funciones miembro: funciones que pertenecen a la misma clase. • Modificadores de Acceso: Public, Protected y Private Objetos Nomenclatura y Definiciones
  • 6. Tipo Miembro de la Misma Clase Amiga (Solo C++) Miembro Clase Derivada Función No Miembro Private X X Protected X X X Public X X X X Objetos Modificadores de Acceso Los modificadores de acceso determinan la visibilidad de los elementos de una clase Los modificadores definen el principio de la Ocultación de Información En C#/C++, si el modificador de acceso no es definido, se asume por defecto private
  • 7. • El principio de ocultación indica que toda la interacción con un objeto debe ser restringida, para permitir que los detalles de la implementación sean ignorados. • El principio de encapsulamiento significa que las estructuras de datos internas o cualquier implementación no puede ser accesible al usuario. Objetos Conceptos
  • 8. • {::} operador de resolución de ámbito. • {tipo retorno} {clase} :: {funcion(x,y)} • Permite acceder a espacios de tipos de nombres o bien a las declaraciones de métodos de una clase Objetos Conceptos (Solo C++)
  • 9. • Tipos de Funciones Miembro – Constructores y Destructores – Selectores (Getters y Setters) – Operadores – Iteradores Objetos Conceptos C++: Cuando una función miembro se implementa fuera de la clase por medio de un operador de resolución de ámbito se llama función fuera de línea
  • 10. • Constructores – Default – Alternativos o no default – Existe la sobrecarga • Destructores (C++) y la Recolección de Basura – El destructor se llama al invocar delete. – O al final de la vida del main Objetos Conceptos
  • 11. • Es la capacidad de un objeto, de utilizar estructuras de daros o comportamientos provistos por su antepasado o ascendiente. • El objetivo es la reutilización de código para generar nuevas abstracciones. • “una clase hereda sus características de otra clase” Comportamiento y Herencia
  • 12. • Tipos de Herencia – Herencia Simple (Jerárquica) – Herencia Múltiple* (Malla / C++, Python) – Solución a la Herencia Múltiple??? Herencia
  • 13. • Una clase que se crea a partir de otra clase por medio de la herencia • La clase de la que se hereda se llama clase base • Los modificadores de acceso delimitan las características y comportamientos que se pueden heredar Herencia Clase Derivada
  • 14. • Métodos Virtuales. Permiten sobrescribir comportamiento. Si no se sobrescribe, se usa funcionalidad de la clase base. • Métodos Tradicionales. Pueden ser heredados o no dependiendo de los modificadores de acceso. Métodos y Herencia
  • 15. • No pueden ser instanciadas directamente • Son clasificadores de objetos • Representan un nivel de abstracción más alto • Pueden contener métodos con comportamiento codificado • Pueden contener métodos abstractos Herencia Clase Base Abstracta
  • 16. • En C# y Java para hacer una clase de base abstracta, solo basta con definirla como abstract. • En C++ la clase de base abstracta se define cuando esta posee al menos un método virtual puro – virtual int area () =0; Herencia Clase de Base Abstracta
  • 17. • Por ende, es la propiedad de la POO que le permite a cada objeto comportarse de forma diferente al implementar su propio comportamiento. Polimorfismo