Top Banner
48

Clase Modelo Poo

Dec 09, 2015

Download

Documents

clase modelos de programación orientada a objetos :V, paradigma
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

Programación Orientada a ObjetosHerencia en Java

Hubner Janampa Patilla1

1Área de InformáticaUniversidad Nacional de San Cristobal de Huamanga

Departamento de Matemática y Física

Clase Modelo, 2011

Hubner Janampa Patilla Herencia en Java

Page 2: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

Índice

1 POO

De�nición

Introducción

2 Conceptos Fundamentales

De�niciones Términos

Características de la POO

3 Aspecto Práctico - Herencia en Java

Diagrama de Clases - Herencia

Código en Java - Herencia

Hubner Janampa Patilla Herencia en Java

Page 3: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciónIntroducción

Índice

1 POO

De�nición

Introducción

2 Conceptos Fundamentales

De�niciones Términos

Características de la POO

3 Aspecto Práctico - Herencia en Java

Diagrama de Clases - Herencia

Código en Java - Herencia

Hubner Janampa Patilla Herencia en Java

Page 4: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciónIntroducción

Programación Orientada a ObjetosDe�nición

La programación orientada a objetos o POO (OOP según sus

siglas en inglés) es un paradigma de programación que usa

objetos y sus interacciones, para diseñar aplicaciones y

programas informáticos.

Está basado en varias técnicas, incluyendo herencia,

abstracción, polimor�smo y encapsulamiento.

Su uso se popularizó a principios de la década de los años

1990. En la actualidad, existe variedad de lenguajes de

programación que soportan la orientación a objetos.

Hubner Janampa Patilla Herencia en Java

Page 5: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciónIntroducción

Programación Orientada a ObjetosDe�nición

La programación orientada a objetos o POO (OOP según sus

siglas en inglés) es un paradigma de programación que usa

objetos y sus interacciones, para diseñar aplicaciones y

programas informáticos.

Está basado en varias técnicas, incluyendo herencia,

abstracción, polimor�smo y encapsulamiento.

Su uso se popularizó a principios de la década de los años

1990. En la actualidad, existe variedad de lenguajes de

programación que soportan la orientación a objetos.

Hubner Janampa Patilla Herencia en Java

Page 6: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciónIntroducción

Programación Orientada a ObjetosDe�nición

La programación orientada a objetos o POO (OOP según sus

siglas en inglés) es un paradigma de programación que usa

objetos y sus interacciones, para diseñar aplicaciones y

programas informáticos.

Está basado en varias técnicas, incluyendo herencia,

abstracción, polimor�smo y encapsulamiento.

Su uso se popularizó a principios de la década de los años

1990. En la actualidad, existe variedad de lenguajes de

programación que soportan la orientación a objetos.

Hubner Janampa Patilla Herencia en Java

Page 7: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciónIntroducción

Índice

1 POO

De�nición

Introducción

2 Conceptos Fundamentales

De�niciones Términos

Características de la POO

3 Aspecto Práctico - Herencia en Java

Diagrama de Clases - Herencia

Código en Java - Herencia

Hubner Janampa Patilla Herencia en Java

Page 8: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciónIntroducción

Introducción

Los objetos son entidades que tienen un determinado estado,

comportamiento (método) e identidad:

El estado está compuesto de datos, será uno o varios atributos

a los que se habrán asignado unos valores concretos (datos).

El comportamiento está de�nido por los métodos o mensajes a

los que sabe responder dicho objeto, es decir, qué operaciones

se pueden realizar con él.

La identidad es una propiedad de un objeto que lo diferencia

del resto, dicho con otras palabras, es su identi�cador

(concepto análogo al de identi�cador de una variable o una

constante).

Hubner Janampa Patilla Herencia en Java

Page 9: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciónIntroducción

Introducción

Los objetos son entidades que tienen un determinado estado,

comportamiento (método) e identidad:

El estado está compuesto de datos, será uno o varios atributos

a los que se habrán asignado unos valores concretos (datos).

El comportamiento está de�nido por los métodos o mensajes a

los que sabe responder dicho objeto, es decir, qué operaciones

se pueden realizar con él.

La identidad es una propiedad de un objeto que lo diferencia

del resto, dicho con otras palabras, es su identi�cador

(concepto análogo al de identi�cador de una variable o una

constante).

Hubner Janampa Patilla Herencia en Java

Page 10: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciónIntroducción

Introducción

Los objetos son entidades que tienen un determinado estado,

comportamiento (método) e identidad:

El estado está compuesto de datos, será uno o varios atributos

a los que se habrán asignado unos valores concretos (datos).

El comportamiento está de�nido por los métodos o mensajes a

los que sabe responder dicho objeto, es decir, qué operaciones

se pueden realizar con él.

La identidad es una propiedad de un objeto que lo diferencia

del resto, dicho con otras palabras, es su identi�cador

(concepto análogo al de identi�cador de una variable o una

constante).

Hubner Janampa Patilla Herencia en Java

Page 11: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciónIntroducción

Introducción

Los objetos son entidades que tienen un determinado estado,

comportamiento (método) e identidad:

El estado está compuesto de datos, será uno o varios atributos

a los que se habrán asignado unos valores concretos (datos).

El comportamiento está de�nido por los métodos o mensajes a

los que sabe responder dicho objeto, es decir, qué operaciones

se pueden realizar con él.

La identidad es una propiedad de un objeto que lo diferencia

del resto, dicho con otras palabras, es su identi�cador

(concepto análogo al de identi�cador de una variable o una

constante).

Hubner Janampa Patilla Herencia en Java

Page 12: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciónIntroducción

Introducción (Continuación...)

Los métodos (comportamiento) y atributos (estado) están

estrechamente relacionados por la propiedad de conjunto. Esta

propiedad destaca que una clase requiere de métodos para

poder tratar los atributos con los que cuenta.

Hubner Janampa Patilla Herencia en Java

Page 13: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciónIntroducción

Introducción (Continuación...)

El programador debe pensar indistintamente en ambos

conceptos, sin separar ni darle mayor importancia a alguno de

ellos. Hacerlo podría producir el hábito erróneo de crear clases

contenedoras de información por un lado y clases con métodos

que manejen a las primeras por el otro.

Hubner Janampa Patilla Herencia en Java

Page 14: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciónIntroducción

Introducción (Continuación...)

La programación estructurada anima al programador a pensar

sobre todo en términos de procedimientos o funciones, y en

segundo lugar en las estructuras de datos que esos

procedimientos manejan.

Hubner Janampa Patilla Herencia en Java

Page 15: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciónIntroducción

Introducción (Continuación...)

En la programación estructurada sólo se escriben funciones

que procesan datos. Los programadores que emplean POO, en

cambio, primero de�nen objetos para luego enviarles mensajes

solicitándoles que realicen sus métodos por sí mismos.

Hubner Janampa Patilla Herencia en Java

Page 16: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciones TérminosCaracterísticas de la POO

Índice

1 POO

De�nición

Introducción

2 Conceptos Fundamentales

De�niciones Términos

Características de la POO

3 Aspecto Práctico - Herencia en Java

Diagrama de Clases - Herencia

Código en Java - Herencia

Hubner Janampa Patilla Herencia en Java

Page 17: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciones TérminosCaracterísticas de la POO

Clase

La programación orientada a objetos es una forma de

programar que trata de encontrar una solución a estos

problemas. Introduce nuevos conceptos, que superan y amplían

conceptos antiguos ya conocidos. Entre ellos destacan los

siguientes:

Clase: de�niciones de las propiedades y comportamiento de un

tipo de objeto concreto. La instanciación es la lectura de estas

de�niciones y la creación de un objeto a partir de ellas.

Hubner Janampa Patilla Herencia en Java

Page 18: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciones TérminosCaracterísticas de la POO

Clase

La programación orientada a objetos es una forma de

programar que trata de encontrar una solución a estos

problemas. Introduce nuevos conceptos, que superan y amplían

conceptos antiguos ya conocidos. Entre ellos destacan los

siguientes:

Clase: de�niciones de las propiedades y comportamiento de un

tipo de objeto concreto. La instanciación es la lectura de estas

de�niciones y la creación de un objeto a partir de ellas.

Hubner Janampa Patilla Herencia en Java

Page 19: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciones TérminosCaracterísticas de la POO

De�nición de una Clase en Java

Hubner Janampa Patilla Herencia en Java

Page 20: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciones TérminosCaracterísticas de la POO

Herencia

Herencia: (por ejemplo, herencia de la clase C a la clase D)

Es la facilidad mediante la cual la clase D hereda en ella cada

uno de los atributos y operaciones de C, como si esos atributos

y operaciones hubiesen sido de�nidos por la misma D.

Por lo tanto, puede usar los mismos métodos y variables

publicas declaradas en C.

Hubner Janampa Patilla Herencia en Java

Page 21: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciones TérminosCaracterísticas de la POO

Herencia

Herencia: (por ejemplo, herencia de la clase C a la clase D)

Es la facilidad mediante la cual la clase D hereda en ella cada

uno de los atributos y operaciones de C, como si esos atributos

y operaciones hubiesen sido de�nidos por la misma D.

Por lo tanto, puede usar los mismos métodos y variables

publicas declaradas en C.

Hubner Janampa Patilla Herencia en Java

Page 22: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciones TérminosCaracterísticas de la POO

Herencia (Continuación...)

Los componentes registrados como "privados" (private) también se

heredan, pero como no pertenecen a la clase, se mantienen

escondidos al programador y sólo pueden ser accedidos a través de

otros métodos públicos. Esto es así para mantener hegemónico el

ideal de OOP.

Hubner Janampa Patilla Herencia en Java

Page 23: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciones TérminosCaracterísticas de la POO

Diagrama de Clases - Herencia (Ejemplo)

Hubner Janampa Patilla Herencia en Java

Page 24: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciones TérminosCaracterísticas de la POO

Herencia Figurativa

Hubner Janampa Patilla Herencia en Java

Page 25: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciones TérminosCaracterísticas de la POO

Objeto

Objeto: entidad provista de un conjunto de propiedades o

atributos (datos) y de comportamiento o funcionalidad

(métodos) los mismos que consecuentemente reaccionan a

eventos.

Se corresponde con los objetos reales del mundo que nos

rodea, o a objetos internos del sistema (del programa). Es una

instancia a una clase.

Hubner Janampa Patilla Herencia en Java

Page 26: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciones TérminosCaracterísticas de la POO

Objeto

Objeto: entidad provista de un conjunto de propiedades o

atributos (datos) y de comportamiento o funcionalidad

(métodos) los mismos que consecuentemente reaccionan a

eventos.

Se corresponde con los objetos reales del mundo que nos

rodea, o a objetos internos del sistema (del programa). Es una

instancia a una clase.

Hubner Janampa Patilla Herencia en Java

Page 27: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciones TérminosCaracterísticas de la POO

Objeto (De�nición)

"Un objeto tiene estado, comportamiento, e identidad; la estructura

y comportamiento de objetos similares son de�nidos en su clase

común; los terminos instancia y objeto son intercambiables".

Grady Booch '91

Hubner Janampa Patilla Herencia en Java

Page 28: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciones TérminosCaracterísticas de la POO

Objeto (De�nición)

"Un objeto es cualquier cosa a la que se le aplica un concepto, el

que representa una idea o noción que nosotros compartimos y

aplicable a ciertos objetos en nuestro conocimiento".

James Martin '92

Hubner Janampa Patilla Herencia en Java

Page 29: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciones TérminosCaracterísticas de la POO

Método

Método: Algoritmo asociado a un objeto (o a una clase de

objetos), cuya ejecución se desencadena tras la recepción de

un "mensaje". Desde el punto de vista del comportamiento, es

lo que el objeto puede hacer.

Un método puede producir un cambio en las propiedades del

objeto, o la generación de un "evento" con un nuevo mensaje

para otro objeto del sistema.

Hubner Janampa Patilla Herencia en Java

Page 30: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciones TérminosCaracterísticas de la POO

Método

Método: Algoritmo asociado a un objeto (o a una clase de

objetos), cuya ejecución se desencadena tras la recepción de

un "mensaje". Desde el punto de vista del comportamiento, es

lo que el objeto puede hacer.

Un método puede producir un cambio en las propiedades del

objeto, o la generación de un "evento" con un nuevo mensaje

para otro objeto del sistema.

Hubner Janampa Patilla Herencia en Java

Page 31: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciones TérminosCaracterísticas de la POO

Método - Ejemplo en Java

Hubner Janampa Patilla Herencia en Java

Page 32: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciones TérminosCaracterísticas de la POO

Índice

1 POO

De�nición

Introducción

2 Conceptos Fundamentales

De�niciones Términos

Características de la POO

3 Aspecto Práctico - Herencia en Java

Diagrama de Clases - Herencia

Código en Java - Herencia

Hubner Janampa Patilla Herencia en Java

Page 33: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciones TérminosCaracterísticas de la POO

Características

Existe un acuerdo acerca de qué características contempla la

"orientación a objetos", las características siguientes son las más

importantes:

1 Abstracción

2 Encapsulamiento

3 Modularidad

4 Principio de ocultación

5 Polimor�smo

6 Herencia

7 Recolección de basura

Hubner Janampa Patilla Herencia en Java

Page 34: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

Diagrama de Clases - HerenciaCódigo en Java - Herencia

Índice

1 POO

De�nición

Introducción

2 Conceptos Fundamentales

De�niciones Términos

Características de la POO

3 Aspecto Práctico - Herencia en Java

Diagrama de Clases - Herencia

Código en Java - Herencia

Hubner Janampa Patilla Herencia en Java

Page 35: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

Diagrama de Clases - HerenciaCódigo en Java - Herencia

Diagrama de Clases - Herencia

Hubner Janampa Patilla Herencia en Java

Page 36: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

Diagrama de Clases - HerenciaCódigo en Java - Herencia

Índice

1 POO

De�nición

Introducción

2 Conceptos Fundamentales

De�niciones Términos

Características de la POO

3 Aspecto Práctico - Herencia en Java

Diagrama de Clases - Herencia

Código en Java - Herencia

Hubner Janampa Patilla Herencia en Java

Page 37: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

Diagrama de Clases - HerenciaCódigo en Java - Herencia

Código Java

Hubner Janampa Patilla Herencia en Java

Page 38: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

Diagrama de Clases - HerenciaCódigo en Java - Herencia

Código Java (Cont...)

Hubner Janampa Patilla Herencia en Java

Page 39: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

Diagrama de Clases - HerenciaCódigo en Java - Herencia

Código Java (Cont...)

Hubner Janampa Patilla Herencia en Java

Page 40: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

Diagrama de Clases - HerenciaCódigo en Java - Herencia

Código Java (Cont...)

Hubner Janampa Patilla Herencia en Java

Page 41: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

Diagrama de Clases - HerenciaCódigo en Java - Herencia

Código Java (Cont...)

Hubner Janampa Patilla Herencia en Java

Page 42: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

Diagrama de Clases - HerenciaCódigo en Java - Herencia

Código Java (Cont...)

Hubner Janampa Patilla Herencia en Java

Page 43: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

Diagrama de Clases - HerenciaCódigo en Java - Herencia

Código Java (Cont...)

Hubner Janampa Patilla Herencia en Java

Page 44: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

Diagrama de Clases - HerenciaCódigo en Java - Herencia

Código Java (Cont...)

Hubner Janampa Patilla Herencia en Java

Page 45: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

Resumen

La programación orientada a objetos es un paradigma que

utiliza objetos como elementos fundamentales en la

construcción de la solución. Surge en los años 70.

Un objeto es una abstracción de algún hecho o ente del mundo

real que tiene atributos que representan sus características o

propiedades y métodos que representan su comportamiento o

acciones que realizan.

Todas las propiedades y métodos comunes a los objetos se

encapsulan o se agrupan en clases. Una clase es una plantilla o

un prototipo para crear objetos, por eso se dice que los objetos

son instancias de clases.

Hubner Janampa Patilla Herencia en Java

Page 46: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

Resumen

La programación orientada a objetos es un paradigma que

utiliza objetos como elementos fundamentales en la

construcción de la solución. Surge en los años 70.

Un objeto es una abstracción de algún hecho o ente del mundo

real que tiene atributos que representan sus características o

propiedades y métodos que representan su comportamiento o

acciones que realizan.

Todas las propiedades y métodos comunes a los objetos se

encapsulan o se agrupan en clases. Una clase es una plantilla o

un prototipo para crear objetos, por eso se dice que los objetos

son instancias de clases.

Hubner Janampa Patilla Herencia en Java

Page 47: Clase Modelo Poo

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

Resumen

La programación orientada a objetos es un paradigma que

utiliza objetos como elementos fundamentales en la

construcción de la solución. Surge en los años 70.

Un objeto es una abstracción de algún hecho o ente del mundo

real que tiene atributos que representan sus características o

propiedades y métodos que representan su comportamiento o

acciones que realizan.

Todas las propiedades y métodos comunes a los objetos se

encapsulan o se agrupan en clases. Una clase es una plantilla o

un prototipo para crear objetos, por eso se dice que los objetos

son instancias de clases.

Hubner Janampa Patilla Herencia en Java

Page 48: Clase Modelo Poo

Apéndice Lecturas complementarias

Lecturas complementarias I

Paul Deitel, Harvey Deitel

Java How To Program Ninth Edition.

Deitel, 2010.

W. Clay Richardson, Donald Avondolio, Scot Schrager, Mark

W. Mitchell, and Je� Scanlon

Professional Java,® JDK® 6 Edition, Wrox 2009

Ivor Horton's

Beginning Java� 2, JDK� 5 Edition, Wrox 2009

Hubner Janampa Patilla Herencia en Java