Clase Modelo Poo

48

description

clase modelos de programación orientada a objetos :V, paradigma

Transcript of 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

POOConceptos Fundamentales

Aspecto Práctico - Herencia en JavaResumen

De�niciones TérminosCaracterísticas de la POO

Herencia Figurativa

Hubner Janampa Patilla Herencia en Java

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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