SlideShare una empresa de Scribd logo
1 de 25
Introducción a
Programación Orientada a
Objetos (OOP):
Clases y Objetos
Definición
 Clase es la representación abstracta
(modelo) de una entidad del mundo
 La clase especifica los atributos
(propiedades) y métodos
(comportamientos)
 El objeto es una Instancia de un Clase
(representación real de la clase)
 A los atributos del objeto se les asigna un
valor.
Atributos
Atributos
Comportamiento
Ejemplo de Clase (Java)
Características Fundamentales
 Un objeto no es un dato simple, sino que
puede contener en su interior cierto
número de atributos bien estructurados.
 Cada objeto no es un ente aislado, sino
que forma parte de una organización
jerárquica o de otro tipo
Estructura
 Un objeto puede considerarse como una
especie de cápsula dividida en tres partes:
 PROPIEDADES
 METODOS
 RELACIONES
Propiedades
 Las propiedades distinguen un objeto
determinado de los restantes que forman
parte de la misma organización y tiene
valores que dependen de la propiedad de
que se trate. Las propiedades de un
objeto pueden ser heredadas a sus
descendientes en la organización (a
veces llamados atributos)
Propiedades (Cont.)
 La diferencia con las "variables” de la programación
estructurada es que las propiedades se pueden
heredar de unos objetos a otros. En consecuencia, un
objeto puede tener una propiedad de maneras
diferentes:
 Propiedades propias. Asociadas directamente al
objeto.
 Propiedades heredadas. Están definidas en un objeto
diferente, antepasado de éste (padre,"abuelo", etc.). A
veces estas propiedades se llaman propiedades
miembro porque el objeto las posee por el simple hecho
de ser miembro de una clase.
Métodos
 Los métodos son las operaciones que pueden
realizarse sobre el objeto, que normalmente
estarán incorporados en forma de programas
(código) que el objeto es capaz de ejecutar y
que también pone a disposición de sus
descendientes a través de la herencia. Los
objetos se comunican con el exterior por medio
de mensajes (Métodos) estos establecen su
‘interfaz’ para el mundo
Métodos (Tipos)
 Métodos propios. Están incluidos dentro
de la cápsula del objeto.
 Métodos heredados. Están definidos en
un objeto diferente, antepasado de éste
(padre,"abuelo", etc.). A veces estos
métodos se llaman métodos miembro
porque el objeto los posee por el simple
hecho de ser miembro de una clase.
Relaciones
 Las relaciones permiten que el objeto se
inserte en la organización y están
formadas esencialmente por punteros a
otros objetos.
Es un
Parte de
Tiene un
Relación Es un..
 Relación de especialización
 “Un objeto contiene la definición de otro
y añade comportamientos adicionales”
Ejemplo
class Point {
attributes:
int x, y
methods:
setX(int newX)
getX()
setY(int newY)
getY()
}
class Circle {
attributes:
int x, y,
radius
methods:
setX(int newX)
getX()
setY(int newY)
getY()
setRadius(newRadius)
getRadius() }
Relación Parte de
 Objetos compuestos por otros, relación de
contenencia
 un objeto es parte de otro cuando
conserva su independencia.
Ejemplo
class Logo {
attributes:
Circle circle
Triangle triangle
methods:
set(Point where)
}
Relación Tiene un
 Esta relación es justamente la inversa de
la relación parte-de
Encapsulamiento
 Los objetos son inaccesibles, e impiden
que otros objetos, los usuarios, o incluso
los programadores conozcan cómo está
distribuida la información o qué
información hay disponible. Esta
propiedad de los objetos se denomina
ocultación de la información.
Encapsulamiento (cont.)
 La idea del encapsulamiento es garantizar
independencia entre la forma de hacer las
cosas y los servicios que se ofrecen al
exterior, de esta forma se garantiza el
intercambio de componentes sin afectar el
comportamiento de un sistema
Herencia
 Es un tipo especial de relación (es un)
donde un objeto comparte la definición de
otro y especializa su comportamiento
 Es el mecanismo que permite que un
clase A herede propiedades de una clase
B. Decimos "A hereda de B". Objetos de
la clase A tienen así acceso a los atributos
y métodos de la clase B sin necesidad de
redefinirlos
Herencia
class Circle extends Point {
// atrributes:
int radius
// methods:
setRadius(int newRadius)
getRadius()
}
Superclase/Subclase
 Si la clase A hereda de la clase B,
entonces B es la superclase de A. A es
subclase de B.
Polimorfismo
 El polimorfismo no es otra cosa que la
posibilidad de construir varios métodos con el
mismo nombre, pero con relación a la clase a la
que pertenece cada uno, con comportamientos
diferentes. Esto conlleva la habilidad de enviar
un mismo mensaje a objetos de clases
diferentes. Estos objetos recibirían el mismo
mensaje global pero responderían a él de
formas diferentes

Más contenido relacionado

La actualidad más candente (19)

Java
Java Java
Java
 
Informacion
InformacionInformacion
Informacion
 
Investigacion objetos unidad 5
Investigacion objetos unidad 5Investigacion objetos unidad 5
Investigacion objetos unidad 5
 
Conceptos de java
Conceptos de javaConceptos de java
Conceptos de java
 
Diapositivas poo
Diapositivas pooDiapositivas poo
Diapositivas poo
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Analisis orientado a objetos
Analisis orientado a objetosAnalisis orientado a objetos
Analisis orientado a objetos
 
Programación estructurada a objetos.pptm
Programación  estructurada  a objetos.pptmProgramación  estructurada  a objetos.pptm
Programación estructurada a objetos.pptm
 
Implementacion clases
Implementacion clasesImplementacion clases
Implementacion clases
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Poo
PooPoo
Poo
 
Programación orientada a objeto (autoguardado) 1
Programación orientada a objeto (autoguardado) 1Programación orientada a objeto (autoguardado) 1
Programación orientada a objeto (autoguardado) 1
 
Poo
PooPoo
Poo
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Clases
ClasesClases
Clases
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Tarea de objeto y clase poo
Tarea de objeto y clase pooTarea de objeto y clase poo
Tarea de objeto y clase poo
 
Uml
UmlUml
Uml
 

Similar a Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900

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
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosAlexis Arguello
 
Lenguaje de Programación Orientada a Objetos
Lenguaje  de  Programación  Orientada  a Objetos Lenguaje  de  Programación  Orientada  a Objetos
Lenguaje de Programación Orientada a Objetos Marielena Lujano
 
Programacion orientada a objetos by Marcos Acosta
Programacion orientada a objetos by Marcos AcostaProgramacion orientada a objetos by Marcos Acosta
Programacion orientada a objetos by Marcos AcostaMarcos Acosta
 
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
 
[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 objetoslindacajaperuiz
 
INTRODUCCIÓN A LA POO
INTRODUCCIÓN A LA POOINTRODUCCIÓN A LA POO
INTRODUCCIÓN A LA POODaniela Karina
 
Caracteristicas de un lenguaje de p.o.o
Caracteristicas de un lenguaje de p.o.oCaracteristicas de un lenguaje de p.o.o
Caracteristicas de un lenguaje de p.o.oANDRES PEÑA CARBAJAL
 
Implementación de clases
Implementación de clasesImplementación de clases
Implementación de clasesFernando Solis
 
presentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGpptpresentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGpptjorgealfarol
 
Conceptos poo progra visual
Conceptos poo progra visualConceptos poo progra visual
Conceptos poo progra visualLibertad25
 
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdfPROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdfMariaTeresaGarznPrez
 

Similar a Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900 (20)

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
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Introduccion a la programación orientada a objetos
Introduccion a la programación orientada a objetosIntroduccion a la programación orientada a objetos
Introduccion a la programación orientada a objetos
 
Lenguaje de Programación Orientada a Objetos
Lenguaje  de  Programación  Orientada  a Objetos Lenguaje  de  Programación  Orientada  a Objetos
Lenguaje de Programación Orientada a Objetos
 
Programacion orientada a objetos by Marcos Acosta
Programacion orientada a objetos by Marcos AcostaProgramacion orientada a objetos by Marcos Acosta
Programacion orientada a objetos by Marcos Acosta
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
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
 
[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
 
Las clases y los objetos
Las clases y los objetos Las clases y los objetos
Las clases y los objetos
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Poo
PooPoo
Poo
 
Taller 1 1a
Taller 1 1aTaller 1 1a
Taller 1 1a
 
INTRODUCCIÓN A LA POO
INTRODUCCIÓN A LA POOINTRODUCCIÓN A LA POO
INTRODUCCIÓN A LA POO
 
Caracteristicas de un lenguaje de p.o.o
Caracteristicas de un lenguaje de p.o.oCaracteristicas de un lenguaje de p.o.o
Caracteristicas de un lenguaje de p.o.o
 
Clase
Clase Clase
Clase
 
Implementación de clases
Implementación de clasesImplementación de clases
Implementación de clases
 
presentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGpptpresentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGppt
 
Conceptos poo progra visual
Conceptos poo progra visualConceptos poo progra visual
Conceptos poo progra visual
 
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdfPROGRAMACION_ORIENTADA_A_OBJETOS.pdf
PROGRAMACION_ORIENTADA_A_OBJETOS.pdf
 

Más de johnny herrera

Presentación de johnny herrera
Presentación de johnny herreraPresentación de johnny herrera
Presentación de johnny herrerajohnny herrera
 
Desarrollo de-software-poo-2-parte
Desarrollo de-software-poo-2-parteDesarrollo de-software-poo-2-parte
Desarrollo de-software-poo-2-partejohnny herrera
 
2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetosjohnny herrera
 
13 desarrollo-de-software-fundamentos-poo-1
13 desarrollo-de-software-fundamentos-poo-113 desarrollo-de-software-fundamentos-poo-1
13 desarrollo-de-software-fundamentos-poo-1johnny herrera
 
10. programacion orientada a objetos en visual basic .net
10.  programacion orientada a objetos en visual basic .net10.  programacion orientada a objetos en visual basic .net
10. programacion orientada a objetos en visual basic .netjohnny herrera
 
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0johnny herrera
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetosjohnny herrera
 
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes AguilarProgramacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilarjohnny herrera
 
Programacioncon Visual Basic 6
Programacioncon Visual Basic 6 Programacioncon Visual Basic 6
Programacioncon Visual Basic 6 johnny herrera
 
Practicas visualbasic60
Practicas visualbasic60Practicas visualbasic60
Practicas visualbasic60johnny herrera
 
Matematica universitaria
Matematica universitariaMatematica universitaria
Matematica universitariajohnny herrera
 
Problemas resueltos de c++
Problemas  resueltos de c++Problemas  resueltos de c++
Problemas resueltos de c++johnny herrera
 

Más de johnny herrera (20)

Presentación de johnny herrera
Presentación de johnny herreraPresentación de johnny herrera
Presentación de johnny herrera
 
Tiristores
TiristoresTiristores
Tiristores
 
Programacion o.o.
Programacion o.o.Programacion o.o.
Programacion o.o.
 
Desarrollo de-software-poo-2-parte
Desarrollo de-software-poo-2-parteDesarrollo de-software-poo-2-parte
Desarrollo de-software-poo-2-parte
 
METODOS Y MODELOS POO
METODOS Y MODELOS POOMETODOS Y MODELOS POO
METODOS Y MODELOS POO
 
2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos2983238 programacion-orientada-a-objetos
2983238 programacion-orientada-a-objetos
 
13 desarrollo-de-software-fundamentos-poo-1
13 desarrollo-de-software-fundamentos-poo-113 desarrollo-de-software-fundamentos-poo-1
13 desarrollo-de-software-fundamentos-poo-1
 
10. programacion orientada a objetos en visual basic .net
10.  programacion orientada a objetos en visual basic .net10.  programacion orientada a objetos en visual basic .net
10. programacion orientada a objetos en visual basic .net
 
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0
Mapas conceptual, evolucion de la Web 1.0 hasta la Web 5.0
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Programacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes AguilarProgramacion Orientada a Objetos Luis Joyanes Aguilar
Programacion Orientada a Objetos Luis Joyanes Aguilar
 
Programacioncon Visual Basic 6
Programacioncon Visual Basic 6 Programacioncon Visual Basic 6
Programacioncon Visual Basic 6
 
Visual Basic 6.0
Visual Basic 6.0Visual Basic 6.0
Visual Basic 6.0
 
Tutorial de Visual
Tutorial de  VisualTutorial de  Visual
Tutorial de Visual
 
Practicas visualbasic60
Practicas visualbasic60Practicas visualbasic60
Practicas visualbasic60
 
Modulo Derivadas
Modulo DerivadasModulo Derivadas
Modulo Derivadas
 
Matematica 1 usb
Matematica 1 usbMatematica 1 usb
Matematica 1 usb
 
Matematica universitaria
Matematica universitariaMatematica universitaria
Matematica universitaria
 
Matematica1 usb
Matematica1 usbMatematica1 usb
Matematica1 usb
 
Problemas resueltos de c++
Problemas  resueltos de c++Problemas  resueltos de c++
Problemas resueltos de c++
 

Introduccin a-programacin-orientada-a-objetos-oop-clases-y-objetos900

  • 1. Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
  • 2. Definición  Clase es la representación abstracta (modelo) de una entidad del mundo  La clase especifica los atributos (propiedades) y métodos (comportamientos)  El objeto es una Instancia de un Clase (representación real de la clase)  A los atributos del objeto se les asigna un valor.
  • 3.
  • 8. Características Fundamentales  Un objeto no es un dato simple, sino que puede contener en su interior cierto número de atributos bien estructurados.  Cada objeto no es un ente aislado, sino que forma parte de una organización jerárquica o de otro tipo
  • 9. Estructura  Un objeto puede considerarse como una especie de cápsula dividida en tres partes:  PROPIEDADES  METODOS  RELACIONES
  • 10. Propiedades  Las propiedades distinguen un objeto determinado de los restantes que forman parte de la misma organización y tiene valores que dependen de la propiedad de que se trate. Las propiedades de un objeto pueden ser heredadas a sus descendientes en la organización (a veces llamados atributos)
  • 11. Propiedades (Cont.)  La diferencia con las "variables” de la programación estructurada es que las propiedades se pueden heredar de unos objetos a otros. En consecuencia, un objeto puede tener una propiedad de maneras diferentes:  Propiedades propias. Asociadas directamente al objeto.  Propiedades heredadas. Están definidas en un objeto diferente, antepasado de éste (padre,"abuelo", etc.). A veces estas propiedades se llaman propiedades miembro porque el objeto las posee por el simple hecho de ser miembro de una clase.
  • 12. Métodos  Los métodos son las operaciones que pueden realizarse sobre el objeto, que normalmente estarán incorporados en forma de programas (código) que el objeto es capaz de ejecutar y que también pone a disposición de sus descendientes a través de la herencia. Los objetos se comunican con el exterior por medio de mensajes (Métodos) estos establecen su ‘interfaz’ para el mundo
  • 13. Métodos (Tipos)  Métodos propios. Están incluidos dentro de la cápsula del objeto.  Métodos heredados. Están definidos en un objeto diferente, antepasado de éste (padre,"abuelo", etc.). A veces estos métodos se llaman métodos miembro porque el objeto los posee por el simple hecho de ser miembro de una clase.
  • 14. Relaciones  Las relaciones permiten que el objeto se inserte en la organización y están formadas esencialmente por punteros a otros objetos. Es un Parte de Tiene un
  • 15. Relación Es un..  Relación de especialización  “Un objeto contiene la definición de otro y añade comportamientos adicionales”
  • 16. Ejemplo class Point { attributes: int x, y methods: setX(int newX) getX() setY(int newY) getY() } class Circle { attributes: int x, y, radius methods: setX(int newX) getX() setY(int newY) getY() setRadius(newRadius) getRadius() }
  • 17. Relación Parte de  Objetos compuestos por otros, relación de contenencia  un objeto es parte de otro cuando conserva su independencia.
  • 18. Ejemplo class Logo { attributes: Circle circle Triangle triangle methods: set(Point where) }
  • 19. Relación Tiene un  Esta relación es justamente la inversa de la relación parte-de
  • 20. Encapsulamiento  Los objetos son inaccesibles, e impiden que otros objetos, los usuarios, o incluso los programadores conozcan cómo está distribuida la información o qué información hay disponible. Esta propiedad de los objetos se denomina ocultación de la información.
  • 21. Encapsulamiento (cont.)  La idea del encapsulamiento es garantizar independencia entre la forma de hacer las cosas y los servicios que se ofrecen al exterior, de esta forma se garantiza el intercambio de componentes sin afectar el comportamiento de un sistema
  • 22. Herencia  Es un tipo especial de relación (es un) donde un objeto comparte la definición de otro y especializa su comportamiento  Es el mecanismo que permite que un clase A herede propiedades de una clase B. Decimos "A hereda de B". Objetos de la clase A tienen así acceso a los atributos y métodos de la clase B sin necesidad de redefinirlos
  • 23. Herencia class Circle extends Point { // atrributes: int radius // methods: setRadius(int newRadius) getRadius() }
  • 24. Superclase/Subclase  Si la clase A hereda de la clase B, entonces B es la superclase de A. A es subclase de B.
  • 25. Polimorfismo  El polimorfismo no es otra cosa que la posibilidad de construir varios métodos con el mismo nombre, pero con relación a la clase a la que pertenece cada uno, con comportamientos diferentes. Esto conlleva la habilidad de enviar un mismo mensaje a objetos de clases diferentes. Estos objetos recibirían el mismo mensaje global pero responderían a él de formas diferentes

Notas del editor

  1. Comparando ambas definiciones de clase, podemos observar lo siguiente : Ambas clases tienen dos elementos de datos x y y. En la clase Point estos elementos describen la posición del punto, en el caso de la clase Circle describen el centro del círculo. Así, x y y tienen el mismo significado en ambas clases: Describen la posición de su objeto asociado por medio de la definición de un punto. Ambas clases ofrecen el mismo conjunto de métodos para obtener y definir el valor de los dos elementos de datos x and y. La clase Circle "añade'' un nuevo elemento de datos radius y sus correspondientes métodos de acceso.