Prof. Manuel B. Sánchez. Declaración de Objetos Una vez que la clase ha sido implementada se pueden declarar objetos como variables locales de métodos.

Slides:



Advertisements
Presentaciones similares
Curso de java básico (scjp)
Advertisements

Curso de Java Capitulo 7: Continuación Poo Profesor:
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
Clases en C++.
Definición de Clases y Variables de referencia.
Herencia en C#.
Creación y destrucción de objetos
Lenguaje de programación Java
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
“Programación orientada a Objetos II”
POO en C++: Sintaxis En el .h debe aparecer la declaración de la clase: class NombreClase { private: // atributos y métodos privados public: // atributos.
MANEJO DE ARRAYS EN C.
Informática II Prof. Dr. Gustavo Patiño MJ
Informática II Prof. Dr. Gustavo Patiño MJ
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Aplicación del paradigma orientado a objetos
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
PROGRAMACION ORIENTADA A OBJETOS
Programación Orientada a Objetos en Java
Unidad 3 Punteros.
Herramientas para el acceso directo a memoria en C++
PROGRAMACIÓN EN JAVA Curso-taller inicial de programación en JAVA Facultad de Estadística e Informática TEMA II.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Herencia e Interfaces.
Programación Orientada a Objetos usando C++
Material de apoyo Unidad 2 Estructura de datos
Modificadores.
Lic. Rosemary Torrico Bascopé
PROGRAMACIÓN ORIENTADA A OBJETOS
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
SCJP Sun Certified Programmer for Java 6
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
Capitulo # 4 herencia PROGRAMACION III UNIVERSIDAD
Clases y objetos. La unidad fundamental del lenguaje Java es la clase, que proporciona la estructura de los objetos y mecanismos para fabricarlos, a partir.
Programación Orientada a Objetos usando CONSTRUCTORES DESTRUCTORES.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
FUNCIONES Conceptos básicos. Retorno de una función Clases de funciones. Paso de parámetros. Funciones y arrays.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Constructor  Un constructor es un método que inicia un objeto inmediatamente después de su creación. De esta forma nos evitamos el tener que iniciar.
Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.
Java.
Informatica II1 Clases Extendidas La clase extendida hereda los campos y métodos de la clase que ha sido extendida. La clase original se conoce como superclase.
1 Definición y Conversión de datos Agustín J. González ELO-329.
Clases y Objetos en Java ELO329: Diseño y Programación Orientados a Objetos.
Programación Orientada a Objetos
Programación Procedural y Recursiva en C++
ESMERALDA LIMÓN ESCUTIA AURORA MENDOZA PASTRANA RUTH LÓPEZ muñoz I.S.C
Detalles Generales sobre Java
Sesión 10: Sobrecarga (2) /1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática II Universidad.
LENGUAJE “C” Programación.
Capítulo 2 “Subprogramas/Funciones - Arreglos”
6. Clases y Métodos..  6.1 Structs  6.2 Funciones  6.3 Namespaces  6.4 Clases.
Universidad Tecnológica de Izúcar de Matamoros Programa Educativo: Tecnologías de la Información Asignatura: Base de datos para aplicaciones Tema: Base.
UNIDAD 4: Introducción a la Lógica Computacional Objetivo : Interpretar y aplicar adecuadamente los fundamentos básicos de la estructura y funcionamiento.
INSTITUTO TECNOLOGICO DE TEHUACAN Ingeniería en sistemas computacionales Curso de apoyo a la titulación CLASES DE JAVA Diciembre de 2008.
MEMORIA DINÁMICA.
1 Definición y Conversión de datos Agustín J. González ELO-329.
Curso de C # República Bolivariana de Venezuela Área de Computación Facilitador: Prof. Bassam Asfur.
Algunas Características de C++ no presentes en C Agustín J. González ELO-329.
Herencias Conceptos básicos i
Programación orientada a objetos 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.
Prof. Manuel B. Sánchez. La parte ingenieril de un proceso de desarrollo de software, comprende realizar un diseño del sistema antes de empezar a escribir.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
Programación I Clases. Paradigma POO La programación Orientada a objetos (POO) es una forma programar, más cercana a como expresaríamos las cosas en la.
Transcripción de la presentación:

Prof. Manuel B. Sánchez

Declaración de Objetos Una vez que la clase ha sido implementada se pueden declarar objetos como variables locales de métodos o como atributos de otras clases, siguiendo las reglas de sintaxis de C++ para cada caso. Ejemplo: Deporte preferido; Articulo zapato; Vehiculo tucson; Estudiante rafael, aux; objetos Para declarar un objeto se escribe primero el nombre de la casa y luego el nombre (identificador) del objeto. Cuando se declara un objeto en C++, el sistema reserva memoria de manera automática para el objeto. Si se desea declarar un objeto de una clase que se encuentra en otro archivo, es necesario incluir el archivo de forma explicita, por medio del nombre. Ejemplos: #include “persona.h” #include “carro.h” Si se desea declarar un objeto de una clase que se encuentra en otro archivo, es necesario incluir el archivo de forma explicita, por medio del nombre. Ejemplos: #include “persona.h” #include “carro.h”

Para crear una instancia de una Clase de forma dinámica se debe hacer solicitud de memoria usando la palabra reservada new y un puntero de la Clase en cuestión, la sintaxis es la siguiente: NombreClase *punteroObjeto; punteroObjeto = new NombreClase( ); Ejemplo: Estudiante *rafael = new Estudiante(); Vehiculo *tucson = new Vehiculo(“Fiat”, “Palio”, 2005, “Rojo”); Instanciación (Creación) de un Objeto de forma dinámica Puntero de la Clase a instanciar Operador para solicitar memoria Constructor de la Clase a la cual pertenece el objeto Lista de argumentos del Constructor, en caso que no sea un Constructor por defecto Se crea un objeto cuyos valores de sus atributos están bien definidos y dados por el usuario de la Clase C++ no tiene recolector de basura, por tal motivo aquellos objetos que han sido creados usando el operador new, deben ser liberados explícitamente por medio del operador delete en el momento que ya no sean necesarios. Ejemplo: delete punteroObjeto; C++ no tiene recolector de basura, por tal motivo aquellos objetos que han sido creados usando el operador new, deben ser liberados explícitamente por medio del operador delete en el momento que ya no sean necesarios. Ejemplo: delete punteroObjeto; Se crea un objeto estudiante con un estado dado por los valores por defecto que disponga el Programador de la Clase

Uso de objetos Una vez que el objeto fue creado es necesario establecer comunicación con el mismo para poder hacer uso de sus características; de esta manera se podrá cambiar el estado del objeto y/o realizar alguna acción. Los objetos proporcionan dos formas de hacer esto: 1.Manipulando los atributos (no recomendable desde otras clases). 2.Invocando sus métodos.

Manipulando Atributos Para acceder a las variables o atributos que tienen los objetos que fueron creados, se utiliza el “.”, que nos da acceso a la copia de atributos que tienen los objetos. nombreObjeto.nombreAtributo Por ejemplo: int num1,num2; Rectangulo r1(10, 20, 50, 30); num1 = r1.x; num2 = r1.ancho; class Rectangulo{ int x, y, ancho, alto; public: Rectangulo(){x=y=ancho=alto=0;} Rectangulo(int px, int py, int a, int b){ x=px; y=py; ancho=a; alto=b; } int area(){ return ancho*alto;} void desplazar(int dx, int dy){ x+=dx; y+=dy; } }; class Rectangulo{ int x, y, ancho, alto; public: Rectangulo(){x=y=ancho=alto=0;} Rectangulo(int px, int py, int a, int b){ x=px; y=py; ancho=a; alto=b; } int area(){ return ancho*alto;} void desplazar(int dx, int dy){ x+=dx; y+=dy; } }; Estas operaciones solo son posibles si la clase desde la cual se realizan tiene permisos para acceder a los atributos del rectángulo (depende de los modificadores de acceso usados en la clase rectángulo) Se crea un nuevo rectángulo cuyos atributos de posición (x, y) y dimensiones (ancho, alto) tendrán los valores 10, 20, 50 y 30 respectivamente.

Invocando métodos Como se ha dicho en varias oportunidades los objetos se comunican por medio de mensajes; enviar un mensaje a otro objeto no es más que llamar a un método de otro objeto. Para llamar un método de un objeto, se utiliza el operador “.” nombreObjeto.nombreMetodo( ); Por ejemplo: int area; Rectangulo r1(10, 20, 30, 40 ); area = r1.area(); r1.desplazar(2,3); La variable area tendrá el valor El objeto r1, ahora estará el la posición x=12, y=23 Para hacer uso de atributos o métodos por medio de un puntero a la clase se utiliza el operador “->” en vez del operador “.” Objeto receptor del mensaje Mensaje enviado al objeto

El puntero this Los métodos de objeto (no static) reciben de forma implícita un puntero al objeto receptor del mensaje y sobre el cual debe operar el método. Podemos hacer uso de este puntero por medio de la palabra reservada “this”. Dentro de los métodos de la clase, en el código, se puede utilizar this para acceder a los atributos del objeto receptor o hacer que el objeto receptor se pase mensajes a sí mismo.

class Punto{ int x, y; int x, y;public: Punto(): Punto(0,0) {} Punto(): Punto(0,0) {} Punto(int a, int b){ Punto(int a, int b){ this->x=0; this->y=0; this->desplazar(a, b); } void desplazar(int dx, int dy){ void desplazar(int dx, int dy){ x +=dx; y+=dy; }}; Ejemplo referencia this #include “punto.h” void main(){ Punto a, b(4,5); a.desplazar(8,8);} “a” representa al this “b” representa al this Ahora “a” pasa a ser el this por ser el receptor del mensaje Desde un constructor se puede llamar a otro siguiendo está sintaxis

¿Cómo declarar un vector de objetos? La declaración de un vector de objetos se realiza de forma similar a como se declaran los vectores de tipos de dat0s primitivos. Ejemplo: Punto contorno[15] Rectangulo potreros[12];

¿Cómo se usa el vector de objetos? Cada objeto del vector se accede por medio de un indice, al igual que se hace con los tipo de datos primitivos. Ejemplo: terrenos[3].desplazar(9, 5); for(i=0; i<15;i++) contorno[i].desplazar(rand(),rand());

Métodos Getter y Setter Existen ocasiones en que es necesario que objetos de otras clases puedan modificar o conocer el valor de los atributos de un objeto para un fin específico. Las propiedades de un objeto pueden examinarse y modificarse mediante métodos o funciones miembro definidas por el creador de la clase y pueden ser de dos tipos: Método getter: es un método que leer el valor de la propiedad, y por lo general los nombres de estos métodos llevan el prefijo “get” seguido del nombre del atributo a examinarse. Método Setter: es un método usado para cambiar el valor de la propiedad. Su nombre lleva el prefijo set seguido del nombre del atributo a cambiar.

Ejemplo Getter y Setter class Punto{ int x, y; public: Punto(){ x= y= 0;} int getX(){ return X; } int getY(){ return Y; } void setX(int x){ this->x = x; } void setY(int y){ this->y = y; } } Los métodos getter retornan el valor del atributo Los métodos setter reciben el nuevo valor del atributo como parámetro y lo asignan al atributo

Realizar un Ejemplo para aclarar los conceptos vistos en clase