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...
• Un objetos es la instancia de una clase
• Según Booch, es “algo que tiene un
estado, un comportamiento y una
identidad”....
• Se agrupan en tipos llamados clases
• Tienen datos internos que definen su estado
• Soportan la ocultación de datos
• Pu...
• Punto p; donde {Punto} es la clase y {p} es
el identificador de la clase.
• {.} es el operador de acceso a un
miembro. p...
Tipo Miembro de la
Misma Clase
Amiga (Solo
C++)
Miembro Clase
Derivada
Función No
Miembro
Private X X
Protected X X X
Publ...
• El principio de ocultación indica que
toda la interacción con un objeto debe ser
restringida, para permitir que los deta...
• {::} operador de resolución de ámbito.
• {tipo retorno} {clase} :: {funcion(x,y)}
• Permite acceder a espacios de tipos ...
• Tipos de Funciones Miembro
– Constructores y Destructores
– Selectores (Getters y Setters)
– Operadores
– Iteradores
Obj...
• Constructores
– Default
– Alternativos o no default
– Existe la sobrecarga
• Destructores (C++) y la Recolección de
Basu...
• Es la capacidad de un objeto, de utilizar
estructuras de daros o comportamientos
provistos por su antepasado o
ascendien...
• Tipos de Herencia
– Herencia Simple
(Jerárquica)
– Herencia Múltiple*
(Malla / C++, Python)
– Solución a la
Herencia Múl...
• 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...
• Métodos Virtuales. Permiten sobrescribir
comportamiento. Si no se sobrescribe, se
usa funcionalidad de la clase base.
• ...
• No pueden ser instanciadas directamente
• Son clasificadores de objetos
• Representan un nivel de abstracción más
alto
•...
• En C# y Java para hacer una clase de
base abstracta, solo basta con definirla
como abstract.
• En C++ la clase de base a...
• Por ende, es la propiedad de la POO que
le permite a cada objeto comportarse de
forma diferente al implementar su propio...
Próxima SlideShare
Cargando en…5
×

C1 - Conceptos OOP

374 visualizaciones

Publicado el

Tecnicas de Programacion Orientadas a Objetos
Licenciatura - ULACIT

Publicado en: Educación
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
374
En SlideShare
0
De insertados
0
Número de insertados
3
Acciones
Compartido
0
Descargas
6
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

C1 - Conceptos OOP

  1. 1. Programación Orientada a Objetos Conceptos Básicos Ing. Juan Ignacio Zamora MSc | Ulacit.
  2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 12. • Tipos de Herencia – Herencia Simple (Jerárquica) – Herencia Múltiple* (Malla / C++, Python) – Solución a la Herencia Múltiple??? Herencia
  13. 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. 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. 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. 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. 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

×