La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación Orientada a Objetos

Presentaciones similares


Presentación del tema: "Programación Orientada a Objetos"— Transcripción de la presentación:

1 Programación Orientada a Objetos
Presentación Programación I Programación Orientada a Objetos :: Prof. Yeniffer Peña

2 Programación I Constructores
El constructor es un tipo específico de método que tiene el mismo nombre que la clase y se llama automáticamente cada vez que se crea un objeto de esa clase. Una clase puede tener varios constructores, y su principal uso es la inicialización de los atributos de la clase. Los constructores no tienen valor de retorno (ni siquiera void) y deben ser declarados públicos. Su argumento implícito es el objeto que se está creando. Programación I

3 Programación I Constructores Véase el siguiente ejemplo:
Utilizando el asistente de Netbeans (versiones anteriores a la 6.0), al crear la clase Rectangulo, Netbeans automáticamente agrega un método que se llama igual que la clase. Éste es un método constructor. Programación I

4 Programación I Constructores
Aquí se observa como se crea un objeto de tipo Rectangulo y se asigna a una referencia llamada objeto: Rectangulo objeto = new Rectangulo(); Puede notarse que, al crear el objeto se coloca a la derecha de new una llamada al constructor visto anteriormente. El compilador se encarga de asignar espacio en memoria a la referencia objeto y luego ejecuta las líneas de código que contenga el constructor Rectangulo(). Programación I

5 Programación I Constructores
Es muy importante resaltar que si el programador no especifica ningún constructor en una clase, el compilador crea un constructor por defecto (que no admite parámetros) e inicializa los atributos de la clase que sean de tipo primitivo a su valor por defecto y las referencias a objetos en null. Un constructor puede tener argumentos (constructores alternativos) ó no tenerlos (constructor por defecto). Programación I

6 Constructores Ejemplo de Constructores: Programación I

7 Constructores Otro Ejemplo de Constructor: Programación I

8 Programación I Destructores
Por lo visto anteriormente, se conoce que las instancias de Objetos se crean a través de una referencia y éstas son almacenadas en memoria RAM. Entonces surge la pregunta: ¿Qué se hace con estas instancias una vez que ya no son utilizadas? Otros lenguajes como C++ poseen métodos destructores que permiten al programador la administración explícita de instancias, pero en Java no son necesarios debido al proceso de "Garbage Collection" ó recolector de basura; que inspecciona constantemente la memoria utilizada, lo cual le permite ir eliminando automáticamente las instancias que han dejado de ser utilizadas en un programa. Programación I

9 Declaración de una Clase
Declaración de atributos Constructores Constructor por defecto Programación I Constructor alternativo Método de la clase Método main

10 Constructor por defecto
Creación de Objetos En Java se crean instancias de objetos de una clase en particular a través de una referencia. Por ejemplo, vamos a crear una instancia de objeto de la clase Rectangulo, usando el constructor por defecto: Rectangulo objeto = new Rectangulo(); Nombre de la Clase Nombre del Objeto Operador new Constructor por defecto Programación I objeto x=2 y=4 ancho=3 alto=5 Rectangulo() Rectangulo(int,int,int,int) calcularArea() En memoria se almacena un objeto de la clase Rectangulo con las siguientes características:

11 Constructor Alternativo
Creación de Objetos Ahora vamos a crear una instancia de objeto de la clase Rectangulo, usando el constructor alternativo: Rectangulo objeto = new Rectangulo(4,6,2,3); Nombre de la Clase Nombre del Objeto Operador new Constructor Alternativo Programación I objeto x=4 y=6 ancho=2 alto=3 Rectangulo() Rectangulo(int,int,int,int) calcularArea() En memoria se almacena un objeto de la clase Rectangulo con las siguientes características:

12 Manipulación de Atributos y Métodos
En el proceso de instanciación de objetos se realizan 3 procesos: 1. Declaración de tipo del objeto: Rectangulo objeto 2. Solicitud de memoria a través de una referencia: = new 3. Inicialización de los atributos de la clase, mediante la llamada del método constructor: Rectangulo() Programación I

13 Manipulación de Atributos y Métodos
Como se pudo observar de las declaraciones anteriores, en memoria los objetos creados poseen atributos y métodos, que probablemente en algún momento se necesiten acceder para alguna acción determinada. Para acceder a los atributos ó métodos de un objeto se utiliza el nombre del objeto acompañado del operador punto (.) Programación I Rectangulo objeto = new Rectangulo(); int coord_x = objeto.x; int coord_y = objeto.y; System.out.println(objeto.ancho); System.out.println(objeto.alto); int area = objeto.calcularArea();

14 Control de Acceso a una clase
Es necesario imponer restricciones a la forma en qué se puede manipular una clase y a la forma en qué se pueden utilizar los datos y código contenidos en la misma. Existen tres tipos de usuarios a la clase: La clase por sí misma. Usuarios genéricos. Clases derivadas. Cada usuario tiene diferentes privilegios de acceso privado (privilegio de acceso por defecto) público protegido Programación I

15 Control de Acceso a Atributos y Métodos
public Cualquier clase puede acceder a las propiedades y métodos públicos. protected Sólo las clases derivadas y aquellas situadas o no en el mismo paquete, pueden acceder a las propiedades y métodos protegidos. private Las variables y métodos privados sólo pueden ser accedidos desde dentro de la clase. Cuando al método ó atributo no se le coloca ningún identificador, éstos sólo pueden ser accedidos dentro del paquete en el cual se encuentre la clase, pero no pueden ser visto desde otros paquetes. Programación I

16 Esquema de Trabajo para una Clase
Generalmente el esquema de trabajo para una clase, es que sus atributos sean privados y sus métodos públicos. Recordando que si los atributos se encuentran privados, sólo podrán ser accedidos desde dentro (por los métodos o main) de la clase. Mientras que si los métodos son públicos, éstos pueden ser accedidos desde cualquier clase en cualquier paquete. Sólo basta crear una instancia objeto de la clase para poder acceder a ellos con el operador punto (.) Programación I

17 Ejemplo de Acceso a Miembros Privados
Los atributos y métodos privados de la clase Rectangulo (x, y, ancho, alto, desplazar(int,int) ) pueden ser accedidos desde la misma clase Rectangulo, incluyendo la función main, porque ésta se encuentra dentro de la clase Rectangulo. Programación I

18 Ejemplo de Acceso a Miembros Privados
Ahora, al tratar de acceder a los atributos ó métodos privados de la clase Rectangulo (x, y, ancho, alto, desplazar(int,int) ) desde otra clase (Principal) el acceso es prohibido. Esto quiere decir que para poder acceder a los atributos hay que construir métodos públicos en la clase Rectangulo. Programación I

19 Ejemplo de Acceso a Miembros Privados
Por ejemplo, se construyó el método setValores que es público y recibe los valores que se desean asignar a los atributos privados. Sin embargo, desde la clase Principal no se puede tener acceso al método desplazar porque éste es privado. Programación I

20 Ejemplo de Acceso a Miembros Públicos
Los atributos y métodos públicos de una clase pueden ser accedidos desde la misma clase ó desde cualquier clase. Por ejemplo, cambiemos el acceso del método desplazar de la clase Rectangulo de private a public. Programación I

21 Comunicación entre Objetos
Los objetos interactúan enviándose mensajes unos a otros. Tras la recepción de un mensaje el otro ejecutará una acción, que puede ser el envío de otros mensajes, el cambio de su estado, o la ejecución de cualquier otra tarea que se requiera que haga el objeto. Programación I Mensaje Objeto A Objeto B

22 Programación I Paso de Mensajes
En POO el paso de mensajes se compara con la “llamada a una función” en programación tradicional. Básicamente tenemos que: 1.- Los programas son las clases. 2.- Las clases se relacionan con otras clases. 3.- En la vida real, es decir, en funcionamiento, las clases se muestran como objetos. En Conclusión: Son los objetos los que colaboran y se relacionan con otros objetos, y lo hacen mediante el “paso de mensajes”, es decir, llamando métodos, unos a otros. Programación I

23 Programación I Paso de Mensajes Ejemplo: Proyecto Figuras Otras
Circulo.java Cuadro.java Otras Rectangulo.java Proyecto Programación I

24 Programación I La Referencia this
Cómo resolver la ambigüedad entre argumentos y atributos. Programación I

25 Programación I Vector de Objetos
Para crear un vector de objetos, primero se hace la declaración de tipo y se específica el tamaño, de la siguiente forma: Luego, por cada posición del vector se debe crear la referencia y hacer la inicialización correspondiente, llamando a un constructor. nombre_clase [] nombre_vector = new nombre_clase[tamaño]; Programación I for (int i=0; i<nombre_vector.length; i++) nombre_vector[i]= new nombre_clase();

26 Declaración de un Vector de Objetos
Ejemplo: Programación I

27 Programación I Vector de Objetos
Para manipular los miembros (atributos y métodos) de un vector de objetos, se hace de la siguiente forma: nombre_vector[indice].miembroAtributo nombre_vector[indice].miembroMetodo Programación I

28 Manipulación de Miembros de un Vector de Objetos
Ejemplo: Programación I

29 Programación Orientada a Objetos
Finalización Programación I Programación Orientada a Objetos Continuará . . . :: Prof. Yeniffer Peña


Descargar ppt "Programación Orientada a Objetos"

Presentaciones similares


Anuncios Google