clase introducción a objetos

17

Click here to load reader

Upload: api-3735749

Post on 07-Jun-2015

171 views

Category:

Documents


0 download

DESCRIPTION

Clase Introducción a que es un objeto y diagrama de clases

TRANSCRIPT

Page 1: Clase Introducción a Objetos

Fundamentos de Programación IPP

Profesor: Pedro González

Page 2: Clase Introducción a Objetos

OBJETOS Y CLASESObjetos. Primero empecemos entendiendo que es un objeto del mundo real. Un

objeto del mundo real es cualquier cosa que vemos a nuestro alrededor.

Por ejemplo, los automóviles tienen características (marca, modelo, color, velocidad máxima, etc.) y comportamiento (frenar, acelerar, retroceder, llenar combustible, cambiar llantas, etc.).

Los Objetos de Software, al igual que los objetos del mundo real, también tienen características y comportamientos. Un objeto de software mantiene sus características en una o más "variables", e implementa su comportamiento con "métodos". Un método es una función o subrutina asociada a un objeto.

Definición teórica: Un objeto es una unidad de código compuesto de variables y métodos relacionados.

Marca = FordModelo = FocusColor = AzulVelocidad Máxima = 260 km/h

Page 3: Clase Introducción a Objetos

OBJETOS Y CLASES

Clases En el mundo real, normalmente tenemos muchos objetos del mismo tipo. Por ejemplo,

nuestro teléfono celular es sólo uno de los miles que hay en el mundo. Cuando se fabrican los celulares, los fabricantes aprovechan el hecho de que los

celulares comparten esas características comunes y construyen modelos o plantillas comunes, para que a partir de esas se puedan crear muchos equipos celulares del mismo modelo. A ese modelo o plantilla le llamamos CLASE, y a los equipos que sacamos a partir de ella la llamamos OBJETOS.

Un objeto que se crea a partir de una clase se dice que es una instancia de esa clase

Page 4: Clase Introducción a Objetos

OBJETOS Y CLASES Herencia La herencia es uno de los conceptos más cruciales en la POO. La herencia básicamente

consiste en que una clase puede heredar sus variables y métodos a varias subclases (la clase que hereda es llamada superclase o clase padre). Esto significa que una subclase, aparte de los atributos y métodos propios, tiene incorporados los atributos y métodos heredados de la superclase. De esta manera se crea una jerarquía de herencia.

Por ejemplo, imaginemos que estamos haciendo el análisis de un Sistema para una tienda que vende y repara equipos celulares

Page 5: Clase Introducción a Objetos

OBJETOS Y CLASES En general, podemos tener una gran jerarquía de Clases tal y como vemos

en el siguiente gráfico:

Page 6: Clase Introducción a Objetos

Características asociadas a la Orientación al Objeto.

Abstracción La abstracción consiste en captar las características esenciales de un objeto, así

como su comportamiento. Por ejemplo, volvamos al ejemplo de los automóviles, ¿Qué características podemos abstraer de los automóviles? O lo que es lo mismo ¿Qué características semejantes tienen todos los automóviles? Todos tendrán una marca, un modelo, número de chasis, peso, llantas, puertas, ventanas, etc. Y en cuanto a su comportamiento todos los automóviles podrán acelerar, frenar, retroceder, etc.

En los lenguajes de programación orientada a objetos, el concepto de Clase es la representación y el mecanismo por el cual se gestionan las abstracciones.

Page 7: Clase Introducción a Objetos

Características asociadas a la Orientación al Objeto.

Encapsulamiento El encapsulamiento consiste en unir en la Clase

las características y comportamientos, esto es, las variables y métodos.

La utilidad del encapsulamiento va por la facilidad para manejar la complejidad, ya que tendremos a las Clases como cajas negras donde sólo se conoce el comportamiento pero no los detalles internos, y esto es conveniente porque nos interesará será conocer qué hace la Clase pero no será necesario saber cómo lo hace.

Page 8: Clase Introducción a Objetos

Modificadores de clases

public: La clase es pública y por lo tanto accesible para todo el mundo. Sólo podemos teneruna clase public por unidad de compilación, aunque es posible no tener ninguna.

Ninguno: La clase es “amistosa”. Será accesible para las demás clases del package.(Se asume Public)

final: Indicará que esta clase no puede “tener hijo”, no se puede derivar ninguna clase de ella.

abstract: Se trata de una clase de la cual no se puede instanciar ningún objeto.

Page 9: Clase Introducción a Objetos

Ejemplos

Page 10: Clase Introducción a Objetos

Modificadores de Variables public: Pública, puede acceder todo el mundo a esa variable.

Ninguno: Es “amistosa”, puede ser accedida por cualquier miembro del package. Para nosotros será equivalente a que fuese pública.

protected: Protegida, sólo pueden acceder a ella las clases hijas de la clase que posee la variable y las que estén en el mismo package.

private: Privada, nadie salvo la clase misma puede acceder a

estas variables. Pueden acceder a ella todas las instancias de la clase (cuando decimos clase nos estamos refiriendo a todas sus posibles instancias)

static: Estática, esta variable es la misma para todas las instancias de una clase, todas comparten ese dato. Si una instancia lo modifica todas ven dicha modificación.

final: Final, se emplea para definir constantes, un dato tipo final no puede variar nunca su valor.

Page 11: Clase Introducción a Objetos

Modificadores de Métodos

Page 12: Clase Introducción a Objetos

Sobrecarga de Métodos Java admite lo que se llama sobrecarga de métodos: puede haber varios

métodos con el mismo nombre pero a los cuales se les pasan distintos parámetros. Según los parámetros que se le pasen se invocará a uno u otro método:

Page 13: Clase Introducción a Objetos

Ejemplos

Page 14: Clase Introducción a Objetos

Herencia

Page 15: Clase Introducción a Objetos

Implementación en Java

Page 16: Clase Introducción a Objetos

Implementación en Java

Page 17: Clase Introducción a Objetos

Tarea Realice diagrama de clases e implemente en java (solo con mostrar

información, sin archivos o ningún medio de almacenamiento.

Obtener el modelo conceptual de un sistema de información muy simplificado de una biblioteca. En ella aparecen socios, que se dan de alta en la biblioteca y a partir de ese momento pueden tomar prestados libros de la misma. Un socio está caracterizado por un número de socio, un nombre y una dirección; además, en cada momento se puede saber el número de libros que un socio tiene prestados, y si tiene más de diez libros. Por su parte, de cada libro se conoce su código, título, autor y si está o no disponible; además se puede saber en cualquier momento la localización del libro en la biblioteca, así como la signatura del mismo. Un libro puede ser cambiado de lugar, y se le puede cambiar igualmente su signatura; de hecho, siempre que se cambia la signatura de un libro es porque se cambia de lugar. Los libros se prestan a los socios, y como consecuencia aparece la noción de préstamo; un préstamo estará caracterizado, además de por el código del libro prestado y el número de socio, por la fecha del mismo. Por otra parte también se va a llevar control de los socios que tengan prestados más de 10 libros, de lo cual se encargará la aplicación program_SNF, haciendo que estos socios pasen a especializarse temporalmente en socios_no_fiables.