SlideShare una empresa de Scribd logo
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

Java
Java Java
Investigacion objetos unidad 5
Investigacion objetos unidad 5Investigacion objetos unidad 5
Investigacion objetos unidad 5
Oliver Choco
 
Conceptos de java
Conceptos de javaConceptos de java
Conceptos de javafpaz6830
 
Diapositivas poo
Diapositivas pooDiapositivas poo
Diapositivas poo
Alumic S.A
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosALfonsx Viejo
 
Analisis orientado a objetos
Analisis orientado a objetosAnalisis orientado a objetos
Analisis orientado a objetos
vilma pilco
 
Programación estructurada a objetos.pptm
Programación  estructurada  a objetos.pptmProgramación  estructurada  a objetos.pptm
Programación estructurada a objetos.pptmelvis mendieta
 
Implementacion clases
Implementacion clasesImplementacion clases
Implementacion clases
Fernando Solis
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
Alejandra Esther Torres de Abreu
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosjuliomancerotroya
 
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
Iralix Raquel Garcia Marchant
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
Jesús Navarro
 

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 Objetos
Kudos S.A.S
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosAlexis Arguello
 
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
PEDRO OSWALDO BELTRAN CANESSA
 
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
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
Consultor Independiente
 
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
Jose 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 java
Eudris Cabrera
 
Las clases y los objetos
Las clases y los objetos Las clases y los objetos
Las clases y los objetos
Yamilena Herrera
 
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 POO
Daniela 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.o
ANDRES PEÑA CARBAJAL
 
Clase
Clase Clase
Implementación de clases
Implementación de clasesImplementación de clases
Implementación de clases
Fernando Solis
 
presentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGpptpresentacion-tema-i-unidad-ii.GFGFHFHGppt
presentacion-tema-i-unidad-ii.GFGFHFHGppt
jorgealfarol
 
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.pdf
MariaTeresaGarznPrez
 

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 herrera
johnny herrera
 
Tiristores
TiristoresTiristores
Tiristores
johnny 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.0
johnny 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++
 

Último

Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
Ecaresoft Inc.
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
AbbieDominguezGirond
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
nicromante2000
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
juanorejuela499
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
SamuelGampley
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
juanjosebarreiro704
 

Último (6)

Caso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La SalleCaso de exito Cirrus - Hospital La Salle
Caso de exito Cirrus - Hospital La Salle
 
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdfIntroducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
Introducción_a_las_APIs_y_Desarrollo_Back-end-Abbie Dominguez Girondo.pdf
 
Escaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipoEscaneo y eliminación de malware en el equipo
Escaneo y eliminación de malware en el equipo
 
PitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitalesPitchCollabART uniendo talentos, creando maravillas digitales
PitchCollabART uniendo talentos, creando maravillas digitales
 
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJECONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
CONCEPTOS DE PROGRAMACION CUALQUIER LENGUAJE
 
Maquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdfMaquina de Dibujo y Escritura Automática.pdf
Maquina de Dibujo y Escritura Automática.pdf
 

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.