CONCEPTOS BÁSICOS PROGRAMACIÓN ORIENTADA A OBJETOS. Ing. Martha Tello

Documentos relacionados
Definición de clase: Una clase es un prototipo que define las variables y los métodos de todos los objetos con características comunes.

Definición de clase: Una clase es un prototipo que define las variables y los métodos de todos los objetos con características comunes.

12. Tipos de atributos

Introducción a la P.O.O. Patrick Hernández Cuamatzi

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.

PROGRAMACION ORIENTADA A OBJETOS EN C++

Declaración de una clase

Java Avanzado Facultad de Ingeniería. Escuela de computación.

IMPORTAR Y USAR CLASES DEL API DE JAVA. EJEMPLO CLASE MATH Y MÉTODO POW. CONSTRUCTORES PRIVADOS. (CU00647B)

Clases y Objetos en C++

Modulo 11. Clases y Objetos en Java

Los Constructores(1)

PNFSI. Asignatura: Desarrollo de Software. Tema 1: Programación Orientada a Objetos

Unidad V. Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.

Programación IMA. Capítulo 1 Introducción a la Programación. MsC. Andrés Baquero

18. Interfaces Declaración de una interfaz

INTRODUCCIÓN A LA POO EN C++

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia

Programación Orientada a Objetos

Programación orientada a objetos (I)

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Definición. Mónica E. García García Feb 07

Conceptos Básicos. Programación Orientada a Objetos 2

Introducción a OOP. Programación Orientada a Objeto

Concurso: Cuánto sabes de JAVA?

Programación Orientada a Objetos en C++

Estructuras de control selectivas

FACULTAD DE INGENIERÍA

INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA

16. Herencia Definición de herencia. 168 A. García-Beltrán y J.M. Arranz

Programación orientada a objetos I

Introducción a Java. Introducción a Java. Programación I

Parte I: Programación en un lenguaje orientado a objetos

Programación Orientada a Objetos. Orientación a Objetos en Java

Programación orientada a objetos

CURSO : ESTRUCTURA DE DATOS DOCENTE : ING. JUAN ZEVALLOS VALLE

Curso de Java POO: Programación orientada a objetos

Introducción. Introducción y conceptos de POO. En qué consiste la POO? Vocabulario. Definiciones

UAA-DSE Programación 2 / C++ Eduardo Serna-Pérez

Introducción y conceptos de POO

Tema 6: Clases. Índice

Academia de computación de IE, ICA e ISISA. Unidad didáctica Programación Orientada a Objetos

EJERCICIO GUIADO. JAVA: DISEÑO DE FORMULARIOS DESDE CÓDIGO

Funciones Definición de función

ARTÍCULO: IMPLEMENTACIÓN DE MÉTODOS EN C#.NET

PROGRAMACIÓN EN JAVA

INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA con BlueJ

Edwin Andrés Cubillos Vega

Clases y herencia. FJP Unidad 8. Diseño de clases

GUÍA DE ESTILO EN JAVA

En Java, un arreglo es un grupo de variables (llamados elementos o componentes) que contienen valores, todos del mismo tipo.

o Una clase en Java se compone de: o A los anteriores se les conoce también como miembros de la clase.

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Tipos Recursivos de Datos

Docente: Juan Carlos Pérez P. Alumno : Fecha : Nota:

ING1310 Introducción a la Computación. Python. Conceptos Básicos. Carlos Reveco

Guía práctica de estudio 04: Clases y objetos

Clases y Objetos en Java. ELO329: Diseño y Programación Orientados a Objetos

FUNCIONES O MÉTODOS. Algoritmia y Programación

Tema: Funciones Virtuales y Polimorfismo.

Tema: Funciones Virtuales y Polimorfismo.

POO. Por tanto, una clase nos permite crear varios objetos que pueden realizar la misma función o funciones diferentes.

Unidad Didáctica 1. Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.

Métodos, clases, y objetos

Programación Orientada a Objetos con Java

FACULTAD DE ECONOMIA Y ADMINISTRACION DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION CÁTEDRA PROGRAMACION GENERAL. Trabajo Práctico Nº 4

Programación Orientada a Objetos (POO)

Guía del Curso IFCD052PO PROGRAMACIÓN EN JAVA

Tema 1. Introducción a la Programación Orientada a Objetos

Lenguajes de programación. Algoritmos y Estructuras de Datos I. Lenguajes compilados. Lenguajes compilados

Tema 5 Corrección y Robustez Excepciones en Java

Tema 2: Programación basada en Objetos

El operador contenido ( ) permite acceder al contenido de

HOJA DE EJERCICIOS 3 HERENCIA ENTRE CLASES Y POLIMORFISMO DE MÉTODOS

Tema 6 Patrones de Diseño. Programación Orientada a Objetos Curso 2010/2011

Declaración. Introducción. Definición o implementación. Llamada. Un programa en C consta de una o más funciones.

Abelardo Pardo. Iria Estévez Ayres. Damaris Fuentes Lorenzo. Pablo Basanta Val. Pedro J. Muñoz Merino. Hugo A. Parada.

Programación Orientada a Objetos. Resumen de Temas Unidad 3: Constructores y destructores

Conceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos

Estructura de datos y Programación

Introducción a la Programación orientada a objetos con C++

PROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas

Programación orientada a Objetos (POO) La POO está compuesta por una serie de elementos que se detallan a continuación.

ALGORITMICA Y PROGRAMACION POR OBJETOS I

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Forma Básica Clase Java

Universidad Nacional del Santa E.A.P. Sistemas e Informática Microcomputación III

o Una clase es un tipo al cual pertenecen objetos o instancias de la clase.

Temas. Taller III 2007 Gentile,Vazquez

Transparencias de Java. Tema 3: Paquetes. Uploaded by Ingteleco

Programación con Java Básico

Curso de PHP. Pascual Gómez del Pino Página 1

INTRODUCCION A LA PROGRAMACION EN JAVA

Tema: Funciones Virtuales y Polimorfismo.

REPASO ARRAYS O ARREGLOS UNIDIMENSIONALES EN JAVA. EJEMPLOS DE CÓDIGO. (CU00903C)

Java Inicial (20 horas)

Programación Orientada a Objetos en C#.NET CAPÍTULO 8 DELEGADOS. Ing. Bruno López Takeyas, M.C.

Transcripción:

CONCEPTOS BÁSICOS PROGRAMACIÓN ORIENTADA A OBJETOS Ing. Martha Tello

Introducción Cuando hacemos referencia a la programación orientada a objetos estamos hablando de una nueva forma de pensar acerca del proceso de descomposición de problemas y de desarrollo de soluciones de programación. Se trata de descomponer el problema en acciones, en verbos. Por ejemplo el verbo pedir, el verbo hallar, el verbo comprobar, el verbo calcular

Introducción La POO es otra forma de descomponer problemas. Este nuevo método de descomposición es la descomposición en objetos. Intenta simular el escenario real del problema en los programas. En el caso de los lenguajes orientados a objetos, como es el caso de C++ y Java, el elemento básico no es la función, sino un ente denominado precisamente objeto.

Introducción En un problema cualquiera de la realidad podremos ver que hay: Entidades ( agentes u objetos ) Estas entidades poseen: Un conjunto de propiedades o atributos Un conjunto de métodos (muestran su comportamiento) Un conjunto de interrelaciones entre las entidades, guiadas por el intercambio de mensajes Las entidades del problema responden a estos mensajes mediante la ejecución de ciertas acciones

Un primer ejemplo Imaginemos la siguiente situación: Un domingo por la tarde estoy en casa viendo la televisión, y de repente mi madre siente un fuerte dolor de cabeza; como es natural, lo primero que hago es tratar de encontrar una caja de aspirinas.

Un primer ejemplo Descripción del problema en clave de objetos: El objeto hijo ha recibido un mensaje procedente del objeto madre. El objeto hijo responde al mensaje o evento ocurrido mediante una acción: buscar aspirinas. La madre no tiene que decirle al hijo dónde debe buscar, es responsabilidad del hijo resolver el problema como considere más oportuno. Al objeto madre le basta con haber emitido un mensaje.

Un primer ejemplo El hijo no encuentra aspirinas y decide acudir a la farmacia. La farmacéutica desaparece para regresar al poco tiempo con una caja de aspirinas en la mano. El hijo paga, se despide y vuelve a su casa. Allí le da una aspirina a su madre, la cual al cabo de un rato comienza a experimentar una notable mejoría hasta la completa desaparición del dolor de cabeza.

Un primer ejemplo: Objetos Hijo: responde al mensaje de la madre para conseguir una aspirina. Para ello entra en relación con un nuevo objeto Farmacéutica: responde al mensaje o evento de petición del objeto hijo con la búsqueda de la aspirina. El objeto farmacéutica es ahora el responsable de la búsqueda de la aspirina. Farmacéutica: lanza un mensaje al objeto hijo solicitando el pago del importe. Hijo: responde a tal evento con la acción de pagar.

Un primer ejemplo: Objetos Los objetos se diferencian por: Características o propiedades Un conjunto de acciones que realizaban en respuesta a unos eventos. Los objetos tienen propiedades distintas, como: color del cabello, el grado de simpatía o el peso. Todos tienen un conjunto de atributos en común por ser ejemplos de una entidad superior llamada ser humano. A este patrón de objetos ( ser humano ) lo llamaremos clase

Un primer ejemplo: Objetos Se observa que los objetos son instancias o casos concretos de las clases. Las clases no son más que plantillas que definen las variables y los métodos comunes a todos los objetos de un cierto tipo. La clase ser humano tendrá, entre sus muchas variables miembro o variables que la componen: color del cabello, color de los ojos, estatura, peso, etc. A partir de una clase se podrán generar todos los objetos que se deseen especificando valores particulares para cada una de las variables definidas por la clase.

Programación OO La programación orientada a objetos se basa en la programación de clases. Un programa se construye a partir de un conjunto de clases. Una vez definida e implementada una clase, es posible declarar elementos de esta clase de modo similar a como se declaran las variables del lenguaje (de los tipos primitivos int, double, String, ). Los elementos declarados de una clase se denominan objetos de la clase.

Concepto de Clase Una clase es una plantilla que define las variables y los métodos que son comunes para todos los objetos de un cierto tipo. Las plantillas para crear objetos son denominadas clases. La definición de una clase se realiza en la siguiente forma: [public] class Classname { // definición de variables y métodos... }

Características importantes de las clases: Todas las variables y métodos de Java deben pertenecer a una clase. No hay variables y funciones globales. Si una clase deriva de otra (extends), hereda todas sus variables y métodos. Una clase sólo puede heredar de una única clase (en Java no hay herencia múltiple). En un fichero no puede haber más que una clase public. Este fichero se debe llamar como la clase public que contiene con extensión *.java.

Concepto de Objeto Un objeto es un ejemplar concreto de una clase. Las clases son como tipos de variables, mientras que los objetos son como variables concretas de un tipo determinado. Un objeto es una instancia (ejemplar) de una clase. La clase es la definición general y el objeto es la materialización concreta (en la memoria del ordenador) de una clase.

Concepto de Objeto Los elementos declarados de una clase se denominan objetos de la clase. De una única clase se pueden declarar o crear numerosos objetos. La clase es lo genérico: es el patrón o modelo para crear objetos. Cada objeto tiene sus propias copias de las variables miembro, con sus propios valores, en general distintos de los demás objetos de la clase.

Ejemplo: Bicicleta

Ejemplo: Bicicleta Un objeto bicicleta en el mundo real tendría variables que indicarían el estado actual de la bicicleta: Su velocidad es de 20 km/h, cadencia de pedaleo 90 r.p.m y color rojo. Estas variables se conocen como variables instancia o variables miembro porque contienen el estado de un objeto bicicleta particular En programación orientada a objetos, un objeto particular se denomina una instancia.

Ejemplo: Bicicleta El objeto bicicleta podría tener métodos para frenar, cambiar la cadencia de pedaleo, y cambiar de marcha. Estos métodos se denominan formalmente métodos instancia o métodos miembro, ya que cambian el estado de una instancia u objeto bicicleta particular.

Creación de un objeto El fenómeno de crear objetos de una clase se llama instanciación. Los objetos se manipulan con referencias. Una referencia es una variable que apunta a un objeto. Las referencias se declaran igual que las variables de Tipos primitivos (tipo nombre). Los objetos se crean (se instancian) con el operador de instanciación new.

Ejemplo: Crear un Objeto Punto p; p = new Punto(); Se declara una referencia (p) que es de Tipo Punto. La referencia no apunta a ningún sitio. Se crea un objeto de Tipo Punto y se hace que la referencia p apunte a él. Se puede hacer ambas operaciones en la misma expresión: Punto p = new Punto();

Ejemplo: Crear un Objeto Datos primitivos: int i = 5; Referencias y objetos: Punto p = new Punto(); p.x = 1; p.y = 3;

Concepto de Método Conjunto de instrucciones a las que se les asocia un nombre de modo que si se desea ejecutarlas, sólo basta o referenciarlas a través de dicho nombre en vez de tener que escribirlas. El término se refiere a las porciones de código asociadas exclusivamente con una clase (métodos de clase o métodos estáticos) o con un objeto (métodos de instancia). Los métodos representan acciones que puede realizar un objeto.

Concepto de Método Un bloque de código que tiene un nombre Recibe unos parámetros o argumentos (opcionalmente) Contiene sentencias o instrucciones para realizar algo (opcionalmente) Devuelve un valor de algún Tipo conocido (opcionalmente)

Métodos: Sintaxis La sintaxis global es: Tipo_Valor_devuelto nombre_método ( lista_argumentos ) { } bloque_de_codigo;

Métodos: Sintaxis La lista de argumentos se expresa declarando el tipo y nombre de los mismos (como en las declaraciones de variables). Si hay más de uno se separan por comas. int sumaenteros ( int a, int b ) { int c = a + b; return c; }

Uso de métodos Los métodos se invocan con su nombre, y pasando la lista de argumentos entre paréntesis. El conjunto se usa como si fuera una variable del Tipo devuelto por el método. int x; x = sumaenteros(2,3);

Métodos: Termino void El hecho de que un método devuelva o no un valor es opcional. En caso de que devuelva un valor se declara el tipo que devuelve. Pero si no necesita ningún valor, se declara como tipo del valor devuelto, la palabra reservada void. void hacealgo() {... } Cuando no se devuelve ningún valor, la claúsula return no es necesaria.

Concepto de Package Es una agrupación de clases. Existen una serie de packages incluidos en el lenguaje ( jerarquía de clases que aparece en el API de Java). El usuario puede crear sus propios packages. Lo habitual es juntar en packages las clases que estén relacionadas. Todas las clases que formen parte de un package deben estar en el mismo directorio.

Concepto de Package Existen dos formas de utilizar import: para una clase y para todo un package: import es.ceit.jgjalon.infor2.ordenar.quicksort.class; import es.ceit.jgjalon.infor2.ordenar.*; Que deberían estar en el directorio: classpath\es\ceit\jgjalon\infor2\ordenar

Estructura programa en Java Aparece una clase que contiene el programa principal (función main()) Los ficheros fuente tienen la extensión *.java, mientras que los ficheros compilados tienen la extensión *.class. Un fichero fuente (*.java) puede contener más de una clase, pero sólo una puede ser public. El nombre del fichero fuente debe coincidir con el de la clase public (con la extensión *.java).

Estructura programa en Java Una aplicación está constituida por varios ficheros *.class. Cada clase realiza unas funciones particulares, permitiendo construir las aplicaciones con gran modularidad. La aplicación se ejecuta por medio del nombre de la clase que contiene la función main() Las clases de Java se agrupan en packages, que son librerías de clases.

Conceptos básicos. Resumen Una Clase es una definición de un nuevo Tipo, al que se da un nombre. Una Clase contiene Datos Miembro y Métodos Miembro que configuran el estado y las operaciones que puede realizar. Un Objeto es la materialización (instanciación) de una clase. Puede haber tantos Objetos de una Clase como resulte necesario.

Conceptos básicos. Resumen Los Objetos se crean (se les asigna memoria) con el Operador new. Los Objetos se manipulan con Referencias. Una Referencia es una Variable que apunta a un Objeto. El acceso a los elementos de un Objeto (Datos o métodos) se hace con el operador. (punto) : nombre_referencia.miembro

Bibliografía http://luis.izqui.org/resources/progorientadaobjetos.pdf http://java.ciberaula.com/articulo/tecnologia_orientada_o bjetos/ Aprenda Java como si estuviera en primero http://gencervel.wordpress.com/2008/04/29/programacio n-orientada-a-objetos-metodos/ http://www.arrakis.es/~abelp/apuntesjava/elementosba sicosalgoritmos.htm