Clase Clases Objetos Implementacion

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Clase Clases Objetos Implementacion as PDF for free.

More details

  • Words: 1,302
  • Pages: 23
Fundamentos de Programación IPP Profesor:

Pedro González

OBJETOS Y CLASES Objetos.  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 = Ford Modelo = Focus Color = Azul Velocidad Máxima = 260 km/h

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





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



OBJETOS Y CLASES 

En general, podemos tener una gran jerarquía de Clases tal y como vemos en el siguiente gráfico:

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.

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.

Modificadores de clases 



 

public: La clase es pública y por lo tanto accesible para todo el mundo. Sólo podemos tener una 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.

Ejemplos

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.









Modificadores de Métodos

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:

Ejemplos

Herencia

Implementación en Java

Implementación en Java

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.

Constructores 

Un objeto de una clase se crea llamando a una función especial denominada constructor de la clase. El constructor se llama de forma automática cuando se crea un objeto, para situarlo en memoria e inicializar los miembros dato declarados en la clase. class Rectangulo{ int x; int y; int ancho; int alto; Rectangulo(int x1, int y1, int w, int h){ x=x1; y=y1; ancho=w; alto=h; } }

Constructores 

Una clase puede tener más de un constructor. Por ejemplo, el siguiente constructor crea un rectángulo cuyo origen está en el punto (0, 0).

Creación de Objetos  Para

crear un objeto de una clase se usa la palabra reservada new.  Por ejemplo, Rectangulo rect1=new Rectangulo(10, 20, 40, 80);

Acceso a los mienbros 

Desde un objeto se puede acceder a los miembros mediante la siguiente sintaxis objeto.miembro;



Por ejemplo, podemos acceder al miembro dato ancho, para cambiar la anchura de un objeto rectángulo. rect1.ancho=100;

  

El rectángulo rect1 que tenía inicialmente una anchura de 40, mediante esta sentencia se la cambiamos a 100. Desde un objeto llamamos a las funciones miembro para realizar una determinada tarea. Por ejemplo, desde el rectángulo rect1 llamamos a la función calcularArea para calcular el área de dicho rectángulo. rect1.calcularArea();

Creando objetos

Tarea  Mediante

la siguiente clase realice las operaciones de un cajero bancario

Related Documents

Clases Y Objetos
May 2020 9
Clases Y Objetos
October 2019 15
Clases Y Objetos
June 2020 11
Implementacion
June 2020 15