universidad distrital francisco josÉ de caldas facultad de ingenierÍa proyecto curricular de...

6
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERÍA PROYECTO CURRICULAR DE INGENIERÍA ELÉCTRICA PROGRAMACION ORIENTADA A OBJETOS MsC(c) Ing. María Luisa Barreto Sandoval GUIA 14 COMPARANDO CLASES Y OBJETOS Objetivos: - Diferenciar entre clases y objetos - Diferenciar entre variables primitivas y variables de objeto Al finalizar la clase los estudiantes estarán en capacidad de: - Entender la diferencia conceptual y de escritura de clases y objetos - Entender y aplicar los conceptos de variables primitivas y variables de objeto Clase: es una plantilla para construir objetos de una clase. Objeto: es una instancia de una clase (en terminología OO). Sin embargo, los valores que son tenidos en la estructura de datos son únicas para cada objeto esos valores son por lo tanto son llamados variables de instancia. Las operaciones de un objeto actúan en las variables de instancia de ese objeto. Las clases contienen variables y métodos llamados miembros. Los miembros pertenecientes a las clases son “miembros estáticos”, y los de propiedad de los objetos de la clase son llamados “miembros de instancia”. Los objetos tienen su propia memoria. La definición de clases debe ser cargada para crear instancias. Ejemplo de una clase

Upload: independent

Post on 19-Jan-2023

0 views

Category:

Documents


0 download

TRANSCRIPT

 

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

FACULTAD DE INGENIERÍA PROYECTO CURRICULAR DE INGENIERÍA ELÉCTRICA

PROGRAMACION ORIENTADA A OBJETOS

 

MsC(c) Ing. María Luisa Barreto Sandoval  

GUIA 14 COMPARANDO CLASES Y OBJETOS

Objetivos: - Diferenciar entre clases y objetos - Diferenciar entre variables primitivas y variables de objeto

Al finalizar la clase los estudiantes estarán en capacidad de: - Entender la diferencia conceptual y de escritura de clases y objetos - Entender y aplicar los conceptos de variables primitivas y variables de

objeto

Clase: es una plantilla para construir objetos de una clase. Objeto: es una instancia de una clase (en terminología OO). Sin embargo, los valores que son tenidos en la estructura de datos son únicas para cada objeto esos valores son por lo tanto son llamados variables de instancia. Las operaciones de un objeto actúan en las variables de instancia de ese objeto. Las clases contienen variables y métodos llamados miembros. Los miembros pertenecientes a las clases son “miembros estáticos”, y los de propiedad de los objetos de la clase son llamados “miembros de instancia”. Los objetos tienen su propia memoria. La definición de clases debe ser cargada para crear instancias. Ejemplo de una clase

 

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

FACULTAD DE INGENIERÍA PROYECTO CURRICULAR DE INGENIERÍA ELÉCTRICA

PROGRAMACION ORIENTADA A OBJETOS

 

MsC(c) Ing. María Luisa Barreto Sandoval  

En el caso de la clase Movie, cada película individual es una instancia de Movie (clase). Lo que el viento se llevó es un ejemplo distinto de la clase Movie y Matrix es otro. Cada una tiene su propio conjunto de variables que son separadas y distintas de las variables de cualquier otra película, u objeto de la clase Movie.

Cada nuevo objeto es definido en Java por una referencia de objetos cualquiera. Java distingue entre objetos mediante el uso de esta referencia. Los objetos son únicamente identificables incluso si todas sus propiedades son la misma.

mov  1  

 

mov  2  

 

 

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

FACULTAD DE INGENIERÍA PROYECTO CURRICULAR DE INGENIERÍA ELÉCTRICA

PROGRAMACION ORIENTADA A OBJETOS

 

MsC(c) Ing. María Luisa Barreto Sandoval  

Movie mov1 = new Movie(“Lo que el viento se llevó”, ….);

Movie mov1 = new Movie(“Matrix”, ….);

OPERADOR new El operador new lleva a cabo las siguientes acciones - Asigna e inicializa la memoria para el nuevo objeto - Llama un método de inicialización especial en la clase (ese método es

llamado constructor) - Retorna una referencia a el nuevo objeto.

Ejemplo: Movie mov1 = new Movie(“Matrix”, ….) ¿Qué diferencia existe de declarar una variable y crear un objeto? La declaración de una referencia de un objeto, y la creación de un objeto son completamente independientes. Esas dos partes son combinadas en una única instrucción. Movie mov1 = new Movie(); Sin embargo, usted puede lograr el mismo efecto con dos instrucciones separadas:

Movie mov1; //Declara una referencia de un objeto

mov  1  

 

mov  2    

 

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

FACULTAD DE INGENIERÍA PROYECTO CURRICULAR DE INGENIERÍA ELÉCTRICA

PROGRAMACION ORIENTADA A OBJETOS

 

MsC(c) Ing. María Luisa Barreto Sandoval  

//capaces de hacer referencia a una película mov1 = new Movie (); /*Crea un objeto película, y retorna la

referencia a la variable mov 1 */ VARIABLES PRIMITIVAS Y VARIABLES DE OBJETOS Las variables primitivas, mantienen un valor. Las variables de objetos, mantienen referencias. Cuando declara una variable primitiva, Java localiza en un fragmento de memoria para almacenar la variable del tipo primitivo especificado. Si define una variable primitiva como una instancia o una variable de clase, entonces la variable es inicializada en cero (0) si es numérica, false si es booleana, ó \0 si es char. Las variable primitivas mantienen sus valores directamente. Cuando declara una variable objeto, asigna también un fragmento de memoria, pero esta memoria es únicamente lo suficientemente grande para mantener una referencia a un objeto. Declarando una variable objeto no crea un objeto de la clase especificada. Por consiguiente, una variable de instancia de objeto es inicializada en null para indicar que esto no ha sido referenciada aún, a un objeto.

Variables Primitivas Variables de Objeto Int i; i Int j=3 j

Movie mov1; mov1 Movie mov1 = new Movie();

Ahora, sabiendo que se tiene Movie mov1 = new Movie(“Lo que el viento se llevó”,…);

0  

3  

null  

 

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

FACULTAD DE INGENIERÍA PROYECTO CURRICULAR DE INGENIERÍA ELÉCTRICA

PROGRAMACION ORIENTADA A OBJETOS

 

MsC(c) Ing. María Luisa Barreto Sandoval  

Movie mov2 = mov1; ¿Cómo representaría gráficamente este fragmento de código?

Movie mov1 = new Movie(“Lo que el viento se llevó”, ….);

Movie mov2 = mov1;

Es decir se asigna una referencia a otros resultados en dos referencias al mismo objeto.

mov  1  

 

mov  2  

 

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

FACULTAD DE INGENIERÍA PROYECTO CURRICULAR DE INGENIERÍA ELÉCTRICA

PROGRAMACION ORIENTADA A OBJETOS

 

MsC(c) Ing. María Luisa Barreto Sandoval  

Ejercicios Represente gráficamente en memoria, las siguientes instrucciones (para variables primitivas y variables de objeto). 1) final doublé PI= 3.1415926536; double radio; double altura; radio= 23.4;

altura= 120.2; 2) Alumno alumno1; Alumno alumno2; alumno1=new Alumno(); alumno2= new Alumno(); 3) int a=1; int b; b=a; 4) String s=”Hola”; String r; r=s; 5) Point originOne = new Point(23, 94);

Rectangle rectOne = new Rectangle(originOne, 100, 200); Rectangle rectTwo = new Rectangle(50, 100);