Introducción a la Programación Orientada a Objetos (POO)
|
|
|
- Ana María Quiroga Ferreyra
- hace 8 años
- Vistas:
Transcripción
1 Tema 8 Introducción a la Programación Orientada a Objetos (POO) Programación Programación - Tema 8: Programación Orientada a Objetos (POO) 1
2 Tema 8. Prog. Orientada a Objetos Tipos abstractos de datos. Encapsulación, Herencia y Polimorfismo. Objetos. Programación - Tema 8: Programación Orientada a Objetos (POO) 2
3 Introducción Hemos realizado una primera incursión en Java pero para proseguir se nos hace indispensable hablar de conceptos fundamentales de la programación orientada a objetos: objetos y clases. Estos términos parecen resultarnos familiares. En la vida diaria podemos pensar en objetos como una manzana o un libro y podemos distinguir clases de cosas: por ejemplo clases de plantas. Al escribir un programa en un lenguaje orientado a objetos tratamos de modelar un problema del mundo real pensando en objetos que forman parte del problema y que se relacionan entre sí. Programación - Tema 8: Programación Orientada a Objetos (POO) 3
4 Concepto de objeto y clase Podemos decir como primera aproximación: Objeto: entidad existente en la memoria del ordenador que tiene unas propiedades (atributos o datos sobre sí mismo almacenados por el objeto) y unas operaciones disponibles específicas (métodos). Clase: abstracción que define un tipo de objeto especificando qué propiedades (atributos) y operaciones disponibles va a tener. Programación - Tema 8: Programación Orientada a Objetos (POO) 4
5 Tipos abstractos de datos Un tipo abstracto de datos es aquel cuyas operaciones relacionadas (interfaz) pueden describirse independientemente de su representación interna (implementación). Programación - Tema 8: Programación Orientada a Objetos (POO) 5
6 Tipos abstractos de datos Supongamos que al crear un programa creamos una ciudad. Disponemos de normas de urbanismo. Cada norma vamos a decir que es una interface: nos dice qué debemos cumplir para que al construir un edificio (clase) se pueda calificar con un nombre determinado. Supongamos una norma denominada Edificio a dos aguas, cuyo contenido incluye: El edificio habrá de tener cuatro paredes. El edificio habrá de tener un tejado formado por dos planos. Otras especificaciones. Si al construir un edificio (implementación) se cumplen las condiciones de las normas de urbanismo, podremos decir que se trata de un edificio a dos aguas. Un edificio con forma de pentágono y cinco paredes no se denominará Edificio a dos aguas. Por el contrario, sería posible denominar edificio a dos aguas a una capilla que cumpla la norma, también a una vivienda unifamiliar que la cumpla, o a una biblioteca que la cumpla. Programación - Tema 8: Programación Orientada a Objetos (POO) 6
7 Clases DEFINICIÓN: Implementación total o parcial de un Tipo Abstracto de Datos. Entidad sintáctica que describe objetos que van a tener la misma estructura y el mismo comportamiento. Doble naturaleza: Módulo + Tipo de Datos Módulo (concepto sintáctico) Mecanismo para organizar el software Tipo (concepto semántico) Mecanismo de definición de nuevos tipos de datos: describe una estructura de datos (objetos) y las operaciones aplicables. Programación - Tema 8: Programación Orientada a Objetos (POO) 7
8 Componentes de una clase Atributos: Determinan una estructura de almacenamiento para cada objeto de la clase (variables) Métodos: Operaciones aplicables a los objetos Único modo de acceder a los atributos Programación - Tema 8: Programación Orientada a Objetos (POO) 8
9 Tema 8. Prog. Orientada a Objetos Tipos abstractos de datos. Encapsulación, Herencia y Polimorfismo. Objetos. Programación - Tema 8: Programación Orientada a Objetos (POO) 9
10 Programación Orientada a Objetos Características de la POO: Encapsulación. Herencia. Polimorfismo. Programación - Tema 8: Programación Orientada a Objetos (POO) 10
11 Encapsulación Ocultamiento del estado interno de un objeto, de modo que sólo puede ser cambiado mediante las operaciones definidas para ese objeto. Es decir, no podremos acceder directamente a los atributos de un objeto (modificador private). Lo haremos mediante: Métodos modificadores: llamamos métodos modificadores a aquellos métodos que dan lugar a un cambio en el valor de uno o varios de los atributos del objeto. Suelen ir precedidos del prefijo set (setmatricula, setdistrito, etc.) por lo que muchas veces se alude coloquialmente a ellos como métodos set o setters. Métodos consultores u observadores: son métodos que devuelven información sobre el contenido de los atributos del objeto sin modificar los valores de estos atributos. Estos métodos suelen ir precedidos del prefijo get (getmatricula, getdistrito, etc.) por lo que muchas veces se alude coloquialmente a ellos como métodos get o getters. Programación - Tema 8: Programación Orientada a Objetos (POO) 11
12 Encapsulación A las características de una clase (atributos y métodos) se les puede asignar un modificador de visibilidad: public: private: Característica pública, accesible desde todas las clases Característica privada, accesible sólo dentro de la clase donde se define Principio de diseño: Todos los atributos de una clase son privados Los métodos pueden tener distintos niveles de visibilidad Programación - Tema 8: Programación Orientada a Objetos (POO) 12
13 Herencia Muchas veces distintos objetos comparten campos y métodos que hacen aproximadamente lo mismo Programación - Tema 8: Programación Orientada a Objetos (POO) 13
14 Herencia Si nos fijamos en el planteamiento del problema, encontramos: La definición de clases nos permite identificar campos y métodos que son comunes a Taxis y Autobuses. Si implementamos ambas clases, incurriremos en duplicidad de código. Por ejemplo si el campo matricula es en ambas clases un tipo String, el código para gestionar este campo será idéntico en ambas clases. La definición de clases nos permite identificar campos y métodos que difieren entre una clase y otra. Por ejemplo en la clase Taxi se gestiona información sobre un campo denominado numerodelicencia que no existe en la clase Autobus. Conceptualmente podemos imaginar una abstracción que engloba a Taxis y Autobuses: ambos podríamos englobarlos bajo la denominación de Vehículos. Un Taxi sería un tipo de Vehiculo y un Autobus otro tipo de Vehiculo. Al implementar tros vehículos como minibuses, tranvías, etc. seguiríamos engrosando la duplicidad de código. Por ejemplo, un minibús también tendría matrícula, potencia y los métodos asociados. Programación - Tema 8: Programación Orientada a Objetos (POO) 14
15 Herencia No sería más razonable, si una propiedad o método va a ser siempre común para varios tipos de objetos, que estuviera localizada en un sitio único al que ambos tipos de objeto accedieran? En los lenguajes con orientación a objetos la solución a esta problemática se llama herencia. La herencia nos permite definir una clase como extensión de otra: de esta manera decimos la clase 1.1 tiene todas las características de la clase 1 y además sus características particulares. Todo lo que es común a ambas clases queda comprendido en la clase superior, mientras lo que es específico, queda restringido a las clases inferiores. En nuestro ejemplo definiríamos una clase denominada Vehiculo, de forma que la clase Taxi tuviera todas las propiedades de la clase Vehiculo, más algunas propiedades y métodos específicos. Lo mismo ocurriría con la clase Autobus y otras que pudieran heredar de Vehiculo. Programación - Tema 8: Programación Orientada a Objetos (POO) 15
16 Herencia Programación - Tema 8: Programación Orientada a Objetos (POO) 16
17 Herencia Para declarar la herencia en Java usamos la palabra clave extends. Ejemplo: public class MiClase2 extends Miclase1. Si quisiéramos podríamos escribir para todas las clases public class NombreDeLaClase extends Object, aunque como es algo implícito a Java normalmente no lo escribiremos por ser redundante. En los diagramas representativos de la jerarquía de herencia ocurre lo mismo. Recordar que en Java los tipos primitivos no son objetos: no son instancias de clase, y por tanto no heredan de la superclase Object. Los campos privados de una superclase no son accesibles por la subclase directamente. Decimos que la subclase no tiene derechos de acceso sobre los campos privados de la superclase. Para acceder a ellos tendrá que hacer uso de métodos de acceso o modificación. Una subclase puede invocar a cualquier método público de su superclase como si fuese propio. Programación - Tema 8: Programación Orientada a Objetos (POO) 17
18 Polimorfismo Al igual que se forma una jerarquía de clases, el hecho de que las clases definan tipos hace que la herencia dé lugar a una jerarquía de tipos. El tipo que se define mediante una subclase se dice que es un subtipo del tipo definido en su superclase. Los supertipos pueden usarse para definir operaciones que admitan objetos de distintos subtipos. Por ejemplo, podemos crear una colección que admita objetos de distintos subtipos. Al uso de variables de subtipos en lugares donde se espera (o se admite) un objeto de un supertipo se le denomina sustitución. Los lenguajes orientados a objetos trabajan con el principio de sustitución: los tipos hijos pueden sustituir a los tipos padres. Sin embargo, la operación contraria no es posible: un tipo padre no puede ocupar el lugar de un tipo hijo. Programación - Tema 8: Programación Orientada a Objetos (POO) 18
19 Polimorfismo Una variable que apunta a un objeto de un supertipo puede contener objetos de ese supertipo (si es que es coherente que existan) o de cualquier subtipo en escalas dependientes dentro de la jerarquía de tipos. Así resultarían válidas declaraciones como estas: Persona p1 = new Persona(); Persona p1 = new Profesor(); Persona p3 = new ProfesorInterino(); Esto sería erróneo: ProfesorInterino p1 = new Persona();. La persona puede ser un profesor interino o no: existe la incertidumbre de que lo sea o no lo sea. Java no puede saber si la persona es profesor interino o no, por lo que diremos que esta asignación no es válida en Java. También sería erróneo declarar ProfesorInterino p1 = new ProfesorTitular();. Obviamente esto no tiene sentido. Programación - Tema 8: Programación Orientada a Objetos (POO) 19
20 Tema 8. Prog. Orientada a Objetos Tipos abstractos de datos. Encapsulación, Herencia y Polimorfismo. Objetos. Programación - Tema 8: Programación Orientada a Objetos (POO) 20
21 Objetos Un objeto es una instancia de una clase, creada en tiempo de ejecución. Es una estructura de datos formada por tantos campos como atributos tiene la clase. El estado de un objeto viene dado por el valor de los campos. Los métodos permiten consultar y modificar el estado del objeto. Programación - Tema 8: Programación Orientada a Objetos (POO) 21
22 Instanciación Programación - Tema 8: Programación Orientada a Objetos (POO) 22
23 Tipos de los atributos Tipos de datos primitivos: Enteros: byte, short, int, long Reales: float, double Carácter: char Booleano: boolean Referencias: Sus valores son objetos de tipos no básicos,pertenecientes a otras clases. Enumerados: son clases que representan un conjunto finito de valores Programación - Tema 8: Programación Orientada a Objetos (POO) 23
24 Enumerados enum EstadoCuenta{ OPERATIVA, INMOVILIZADA, NUM_ROJOS; } public class Cuenta{ private String titular; private double saldo; private EstadoCuenta estado; } Programación - Tema 8: Programación Orientada a Objetos (POO) 24
25 Métodos y mensajes Un método está compuesto por: Cabecera: Identificador y Parámetros Cuerpo: Secuencia de instrucciones Mensaje: Mecanismo básico de la computación OO. Invocación de la aplicación de un método sobre un objeto. Un mensaje está formado por tres partes Objeto receptor Identificador del método a aplicar Argumentos Programación - Tema 8: Programación Orientada a Objetos (POO) 25
26 Ejemplo método vs. mensaje Método reintegro en la clase Cuenta: public double reintegro (double cantidad) { if (puedosacar(cantidad)) saldo = saldo cantidad; } Mensaje, aplica el método reintegro sobre un objeto cuenta: cuenta.reintegro(600.0); Programación - Tema 8: Programación Orientada a Objetos (POO) 26
27 Instancia actual Cada operación de un programa OO es relativa a cierto objeto, la instancia actual, en el momento de la ejecución de la operación. A qué objeto Cuenta se refiere el texto de la rutina reintegro? El cuerpo de una rutina se refiere a la instancia sobre la que se aplica La instancia actual es el receptor de la llamada actual, el objeto receptor del mensaje Programación - Tema 8: Programación Orientada a Objetos (POO) 27
28 Instancia actual Si se aplica un método y no se especifica el objeto receptor, se asume que es la instancia actual. public double reintegro (double cantidad) { if (puedosacar(cantidad)) saldo = saldo cantidad; } El objeto receptor de puedosacar será el objeto receptor del reintegro Programación - Tema 8: Programación Orientada a Objetos (POO) 28
29 Referencia this El lenguaje Java proporciona la palabra clave this que referencia a la instancia actual. Utilidad: Distinguir los atributos de los parámetros y variables locales dentro de la implementación de un método. Aplicar un mensaje a otro objeto estableciendo como parámetro la referencia al objeto actual. Programación - Tema 8: Programación Orientada a Objetos (POO) 29
30 Referencia this Programación - Tema 8: Programación Orientada a Objetos (POO) 30
31 Creación de Objetos La declaración de una variable cuyo tipo sea una clase no implica la creación del objeto. Se necesita un mecanismo explícito de creación de objetos: new Por qué? Evitar cadena de creaciones antes de empezar a hacer nada útil Estructuras recursivas Los objetos se crean cuando se necesitan (referencias vacías, compartir objeto) Programación - Tema 8: Programación Orientada a Objetos (POO) 31
32 Declaración vs. Creación Programación - Tema 8: Programación Orientada a Objetos (POO) 32
33 Constructores Método encargado de inicializar correctamente los objetos Métodos con el mismo nombre de la clase pero sin valor de retorno No se pueden invocar una vez que el objeto se ha creado Permite sobrecarga para especificar formas distintas de inicializar los objetos Toda clase tiene que tener al menos un constructor Si no se define ningún constructor, el compilador crea uno por defecto sin argumentos, vacío, que inicializa los atributos a los valores por defecto. Programación - Tema 8: Programación Orientada a Objetos (POO) 33
34 Ejemplo de Constructores Programación - Tema 8: Programación Orientada a Objetos (POO) 34
35 Creación de objetos La construcción de un objeto consta de tres etapas: Se reserva espacio en memoria para la estructura de datos que define la clase. Inicializa los campos de la instancia con los valores por defecto Garantiza que cada atributo de una clase tenga un valor inicial antes de la llamada al constructor Se aplica sobre la instancia el constructor que se invoca Programación - Tema 8: Programación Orientada a Objetos (POO) 35
36 Atributos invariantes Java permite especificar que el valor de un atributo no podrá variar una vez construido el objeto. Un atributo se declara de sólo consulta anteponiendo el modificador final a su declaración. Los atributos finales sólo pueden ser inicializados en la declaración o en el constructor Programación - Tema 8: Programación Orientada a Objetos (POO) 36
37 Atributo final Programación - Tema 8: Programación Orientada a Objetos (POO) 37
38 Atributos de clase Representa una propiedad cuyo valor es compartido por todos los objetos de una misma clase Ejemplo: Si tenemos una clase Cuentas con un atributo para el código de cuenta (en cada instancia). Es necesario una variable que almacene el último código de cuenta asignado (de manera global). En un lenguaje imperativo se declararía una variable global. Java es un lenguaje OO puro que no permite declaraciones fuera del ámbito de una clase. Programación - Tema 8: Programación Orientada a Objetos (POO) 38
39 Ejemplo de Atributos de clase A los atributos de clase se tiene acceso desde cualquier método de la clase Programación - Tema 8: Programación Orientada a Objetos (POO) 39
40 Constantes En Java no hay una declaración específica para las constantes. Se consigue el mismo resultado definiendo un atributo de clase y final. Las constantes no pueden ser modificadas. No tiene sentido definir métodos de acceso y modificación. El nivel de acceso es controlado por su visibilidad. Programación - Tema 8: Programación Orientada a Objetos (POO) 40
41 Ejemplo de Constantes Programación - Tema 8: Programación Orientada a Objetos (POO) 41
42 Métodos de clase Cómo definimos operaciones que manejan atributos de clase? Un método se define de clase anteponiendo el identificador static a su declaración En el cuerpo del método de clase sólo se puede acceder a los atributos de clase Para la aplicación de un método de clase no se hace uso de ningún objeto receptor, sino del nombre de la clase Programación - Tema 8: Programación Orientada a Objetos (POO) 42
43 Ejemplo de Métodos de clase public class Cuenta { private static int ultimocodigo = 0; } public static int getnumerocuentas() { return ultimocodigo; } Cuenta.getNumeroCuentas(); Programación - Tema 8: Programación Orientada a Objetos (POO) 43
44 El ciclo de vida de un objeto Empieza por su declaración, su instanciación y su uso en un programa Java hasta que finalmente desaparece. Cuando un objeto deja de ser utilizado, Java libera la memoria asignada al objeto y la reutiliza. El entorno de ejecución de Java decide cuándo puede reutilizar la memoria de un objeto que ha dejado de ser útil en un programa. El programador no debe preocuparse de liberar la memoriautilizada por los objetos. A este proceso se le conoce como recolección de basura (Garbage Collector). Programación - Tema 8: Programación Orientada a Objetos (POO) 44
45 Destrucción de objetos Java cuenta con un sistema recolector de basura (Garbage Collector) que se encarga deliberar los objetos y los espacios de memoria que ocupan cuando éstos dejan de ser utilizados en un programa (objetos no referenciados). En la clase Object existe un método finalize() Este método se invocará justo antes de la recolección de basura Por defecto no hace nada, pero se puede sobreescribir (@Override), por ejemplo para liberar recursos. Su ejecuciń no está garantizada: En C++ todos los objetos se destruyen (en un programa sin errores), mientras que en Java no siempre se recolectan. Programación - Tema 8: Programación Orientada a Objetos (POO) 45
46 Modelo de ejecución OO Para obtener un código ejecutable se deben ensamblar las clases para formar sistemas (cerrado). Un sistema viene dado por: Un conjunto de clases La clase raíz El procedimiento de creación de la clase raíz. La ejecución de un programa OO consiste en: Creación dinámica de objetos Envío de mensajes entre los objetos creados, siguiendo un patrón impredecible en tiempo de compilación Ausencia de programa principal Programación - Tema 8: Programación Orientada a Objetos (POO) 46
47 Inicio de un programa Debemos proporcionar el nombre de la clase que conduzca la aplicación. Cuando ejecutamos un programa, el sistema localizará esta clase y ejecutará el main que contenga El método main es un método de clase que recibe como parámetro un array de cadenas de texto que son los parámetros del programa Programación - Tema 8: Programación Orientada a Objetos (POO) 47
48 El método main Definición del método main public class Eco{ public static void main(string[] args){ for(int i=0; i < args.length; i++) System.out.println(args[i]+ ); } } Parámetros del programa: c:\ java Eco estamos aquí > SALIDA: estamos aquí Programación - Tema 8: Programación Orientada a Objetos (POO) 48
Programación Orientada a Objetos (POO)
Programación Orientada a Objetos (POO) Introducción La programación orientada a objetos es una técnica de programación en la cual expresamos el código en términos relacionados a como vemos las cosas en
QUÉ ES UNA CLASE JAVA? ATRIBUTOS (PROPIEDADES O CAMPOS), CONSTRUCTOR Y MÉTODOS. (CU00623B)
APRENDERAPROGRAMAR.COM QUÉ ES UNA CLASE JAVA? ATRIBUTOS (PROPIEDADES O CAMPOS), CONSTRUCTOR Y MÉTODOS. (CU00623B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero Fecha revisión:
Derechos de Acceso: COMPOSICION
CLASES Una clase es un tipo definido por el usuario que describe los atributos y los métodos de los objetos que se crearan a partir de la misma. class nombre_clase cuerpo de la clase Derechos de Acceso:
Clases y Objetos en Java. ELO329: Diseño y Programación Orientados a Objetos
Clases y Objetos en Java ELO329: Diseño y Programación Orientados a Objetos Construyendo clases nuevas La forma más simple de una clase en Java es: Class Nombre_de_la_Clase { } /* constructores */ /* métodos
PROGRAMACION ORIENTADA A OBJETOS EN C++
PROGRAMACION ORIENTADA A OBJETOS EN C++ 1- INTRODUCCIÓN El lenguaje C++ representa el resultado de los esfuerzos realizados para proporcionar las ventajas de la programación Orientada a Objetos a un lenguaje
Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
Aplicaciones de Escritorio
Aplicaciones de Escritorio Introducción n a la Programación Orientada a Objetos con Java Disertantes: Ing. Rasjido, Jose. AdeS Montenegro, Cristian. Agenda Clases y Paquetes. Clases y Paquetes. Modificadores
Curso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra [email protected] Curso INEM. Programación en Java Marzo 2011 Índice Previo Repaso y encapsulación Empaquetado Relaciones entre clases Herencia
Diseño Basado en Componentes. Curso 2008 / 09
Beneficios de OOP Diseño Basado en Componentes Ingeniería Informática Universidad Carlos III de Madrid Programación Orientada a Objetos (OOP) en VB.NET Diseño Basado en Componentes. Curso Conceptos orientados
Principios de Computadoras II
Departamento de Ingeniería Electrónica y Computadoras Ing. Ricardo Coppo [email protected] Qué es un Objeto? Un objeto es una instancia de una clase Las clases actuán como modelos que permiten la creación
Introducción a la Orientación a Objetos
Introducción a la Orientación a Objetos Breve historia de la OO 1960s. Simula incorpora características propias de la OO. 1970s. Smalltalk. Lenguaje totalmente OO. 1990s. Boom de la OO. 2000-Hoy. Época
Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.
Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los
Programación orientada a objetos. Capítulo 8 Mejora de las estructuras mediante herencia
Programación orientada a objetos Capítulo 8 Mejora de las estructuras mediante herencia Clases y objetos de DoME Modelo de objetos Modelo de clases Crítica de la v1 de DoME - Duplicación de código - Las
Java Avanzado Facultad de Ingeniería. Escuela de computación.
2 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 5 3 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo de sus prácticas
Guía práctica de estudio 04: Clases y objetos
Guía práctica de estudio 04: Clases y objetos Elaborado por: M.C. M. Angélica Nakayama C. Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena Guía práctica de estudio 04: Clases y
Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
SISTEMAS INFORMÁTICOS I Junio 2003 INGENIERÍA EN INFORMÁTICA - Código Carrera 55 - Código Asignatura 077 Tipo de Examen: A NO SE PERMITE EL USO DE NINGÚN MATERIAL Tiempo: 2 horas Apellidos: Nombre: DNI:
Java Inicial (20 horas)
Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción
INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA
Objetivo: Identificar los concentos principales en java POO, que es una clase, un objeto así como sus características principales abstracción, modularidad, encapsulamiento, herencia, polimorfismo. INTRODUCCIÓN
Tema: Clases y Objetos en C#. Parte II.
Programación II. Guía No. 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Clases y Objetos en C#. Parte II. Objetivos Implementar clases, objetos, propiedades, métodos y
CONCEPTO O DEFINICIÓN DE HERENCIA EN JAVA Y EN PROGRAMACIÓN ORIENTADA A OBJETOS. QUÉ ES? EXTENDS. EJEMPLOS. (CU00684B)
APRENDERAPROGRAMAR.COM CONCEPTO O DEFINICIÓN DE HERENCIA EN JAVA Y EN PROGRAMACIÓN ORIENTADA A OBJETOS. QUÉ ES? EXTENDS. EJEMPLOS. (CU00684B) Sección: Cursos Categoría: Curso Aprender programación Java
Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas
2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos
La sintaxis básica para definir una clase es la que a continuación se muestra:
DEFINICIÓN DE CLASES Y OBJETOS EN C# Sintaxis de definición de clases La sintaxis básica para definir una clase es la que a continuación se muestra: class nombreclase miembros De este modo se definiría
Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.
Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1
Tema 2: Clase y objetos en Java. Programación Orientada a Objetos Curso 2009/2010 Begoña Moros Valle
Tema 2: Clase y objetos en Java Programación Orientada a Objetos Curso 2009/2010 Begoña Moros Valle Índice Introducción Clases Objetos Semántica referencia Métodos y mensajes Creación de objetos Modelo
PROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas
PROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas Instituto Tecnológico de Nuevo Laredo 1 Qué es UML? UML = Unified Modeling Language Un lenguaje de propósito general
TEMA 2 Introducción a C# ANÁLISIS Y DESARROLLO DE APLICACIONES INFORMÁTICAS Curso 2010/2011
TEMA 2 Introducción a C# ANÁLISIS Y DESARROLLO DE APLICACIONES INFORMÁTICAS Curso Origen Nuevo lenguaje de propósito general de Microsoft para la plataforma.net Es el único que ha sido diseñado específicamente.net
Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1
Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos
2.2 Nombres, Ligado y Ámbito
2.2 Nombres, Ligado y Ámbito Ligado estático y dinámico, reglas de ámbito y prueba de tipos. Conceptos Nombres e Identificadores Variables Tipos Ámbito Constantes Nombres Identificador que designa en el
CLASES QUE UTILIZAN OBJETOS. RELACIÓN DE USO ENTRE CLASES JAVA. CONCEPTO DE DIAGRAMA DE CLASES. (CU00641B)
APRENDERAPROGRAMAR.COM CLASES QUE UTILIZAN OBJETOS. RELACIÓN DE USO ENTRE CLASES JAVA. CONCEPTO DE DIAGRAMA DE CLASES. (CU00641B) Sección: Cursos Categoría: Curso Aprender programación Java desde cero
HERENCIA Y TIPOS. Articulo. Video Audio Altavoces. Amplificador
HERENCIA Y TIPOS. Las clases con propiedades y funciones comunes se agrupan en una superclase. Las clases que se derivan de una superclase son las subclases. Las clases se organizan como jerarquía de clases.
Herencia. Hay clases que comparten gran parte de sus características.
Herencia Hay clases que comparten gran parte de sus características. El mecanismo conocido con el nombre de herencia permite reutilizar clases: Se crea una nueva clase que extiende la funcionalidad de
Forma Básica Clase Java
Programación Orientada a Objetos Conceptos Básicos de Objetos en Java Ing. Julio Ernesto Carreño Vargas MsC. Forma básica de una clase en Java Especifica que la clase forma parte del paquete conceptos
Métodos que devuelven valor Dado el siguiente triángulo rectángulo:
Métodos que devuelven valor Dado el siguiente triángulo rectángulo: hipotenusa altura base Para dibujar este triángulo necesitamos los siguientes datos: base y altura La base y la altura, se utilizarán
Lenguaje de programación con JAVA
Pág. N. 1 Lenguaje de programación con JAVA Familia: Editorial: Autor: Tecnología de la información y computación Macro Eric Gustavo Coronel Castillo ISBN: 978-612-304-288-2 N. de páginas: 360 Edición:
Elementos de un programa en C
Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución
TEMA 8: Gestión dinámica de memoria
TEMA 8: Gestión dinámica de memoria 8.1.-Tipo de datos puntero Hasta ahora, los tipos de datos que hemos visto (a excepción de strings y ficheros) eran estructuras de datos estáticas, es decir, estructuras
Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.
LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan
PRÁCTICA No 4 POO Encapsulación. El alumno conocerá los principios de la encapsulación, y el uso de constructores para la inicialización de datos
Objetivos El alumno conocerá los principios de la encapsulación, y el uso de constructores para la inicialización de datos Introducción En esta práctica se abarcará el concepto de la encapsulación, así
Modulo 11. Clases y Objetos en Java
El siguiente texto es una traducción no oficial del documento publicado por el grupo JEDI, Introduction to Programming 1, no pretende en ningún momento reemplazar los contenidos generados por este grupo.
Curso Fundamentos de Informática Lección 7. Programación Orientada a Objetos
Fundamentos de Informática Lección 7. Programación Orientada a Objetos Curso 2010-2011 José Ángel Bañares y Pedro Álvarez 2/11/2010. Dpto. Informática e Ingeniería de Sistemas. Índice de contenidos Implementación
Conceptos a tratar. Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos
Fundamentos de la Programación Orientada a Objetos Ampliación sobre clases y objetos Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad
INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA
APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto
APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.
APUNTADORES Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No hay que confundir una dirección de memoria con el contenido
Tema 7.- Fundamentos de la Programación Orientada a Objetos
Tema 7.- Fundamentos de la Programación Orientada a Objetos 7 de enero de 2014 Objetivos Saber definir clases propias. Saber crear objetos de una clase determinada e interactuar con ellos (Problema 1).
Tema 3. Programación orientada a objetos en Java (Parte 1)
Programación en Java Tema 3. Programación orientada a objetos en Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Clases y objetos (I) Clase Cojunto de datos (atributos) y funciones (métodos)
16. Herencia Definición de herencia. 168 A. García-Beltrán y J.M. Arranz
168 A. García-Beltrán y J.M. Arranz 16. Herencia Objetivos: a) Definir el concepto de herencia entre clases b) Interpretar el código fuente de una aplicación Java donde aparecen clases relacionadas mediante
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Elementos de lenguaje: Identificadores Tipos de datos 2 Tipos de datos primitivos 3 Tipos de datos referenciados Clases Interfaces Arrays
Una Clase: define un grupo de objetos que tienen propiedades similares y se comportan de manera similar.
Clases La programación orientada a objetos utiliza clases para encapsular (envolver, esconder) datos (atributos) y métodos (comportamientos). Por ejemplo, el estéreo de un auto encapsula todos los atributos
Tutorial de C# Delegados y Eventos. Por: Óscar López, M.Sc.
Tutorial de C# Delegados y Eventos Por: Óscar López, M.Sc. [email protected] DELEGADOS Delegados Son unos objetos que implícitamente extienden de System.Delegate y definen un tipo referencia soportado
Patrones de Diseño. Patrón estructural Composite. Técnicas de Programación - Curso 2007/08
Patrones de Diseño Patrón estructural Composite Técnicas de Programación - Curso 2007/08 Propósito Componer objetos en estructuras arbóreas para representar jerarquías todo-parte. Manipular todos los objetos
Estructuras de Datos Declaraciones Tipos de Datos
Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación
FUNDAMENTOS DE INFORMÁTICA
FUNDAMENTOS DE INFORMÁTICA Tema 1 Introducción a la Programación en Visual Basic Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo undamentos de Informática. Departamento de Ingeniería
Objeto Clase Atributo / Método Encapsulamiento Mensaje Herencia Polimorfismo Encadenamiento Dinámico
Conceptos Objeto Clase Atributo / Método Encapsulamiento Mensaje Herencia Polimorfismo Encadenamiento Dinámico Objeto Representa una instancia de un elemento del mundo del problema Es cualquier elemento
Computación Avanzada Clase 3. Mauricio Hidalgo Barrientos
Computación Avanzada Clase 3 Introducción a la Programación Orientada a Objetos (POO) Definición de Programación Orientada a Objetos Qué es la POO? Según Wikipedia: POO es un paradigma de programación
PATRONES DE DISEÑO DE CREACIÓN. Abstract Factory Builder Factory Method Prototype
PATRONES DE DISEÑO DE CREACIÓN Abstract Factory Builder Factory Method Prototype Patrones de diseño de creación Abstraen el proceso de creación de instancias Encapsulan el conocimiento sobre las clases
Tema 4. Excepciones en Java
Programación en Java Tema 4. Excepciones en Java Luis Rodríguez Baena Facultad de Informática Excepciones (I) Permiten la captura de errores en tiempo de ejecución. El control de excepciones permite extraer
Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A)
aprenderaprogramar.com Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A) Sección: Cursos Categoría: Curso Visual Basic Nivel I Fecha revisión: 2029 Autor: Mario R. Rancel
Introducción a Java LSUB. 30 de enero de 2013 GSYC
Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial
Lección 2: Creando una Aplicación en Java. 1. Estructura del archivo de una clase. 3. Definiendo clases fundamentos
Lección 2: Creando una Aplicación en Java 1. Estructura del archivo de una clase 2. Usando una clase 3. Definiendo clases fundamentos Objetivos Conocer: La forma en la cual está se está estructurado el
INTERFACE COMPARATOR. DIFERENCIAS ENTRE COMPARATOR Y COMPARABLE. CLASE COLLECTIONS. EJERCICIOS RESUELTOS. (CU00918C)
APRENDERAPROGRAMAR.COM INTERFACE COMPARATOR. DIFERENCIAS ENTRE COMPARATOR Y COMPARABLE. CLASE COLLECTIONS. EJERCICIOS RESUELTOS. (CU00918C) Sección: Cursos Categoría: Lenguaje de programación Java nivel
Conceptos de Programación Orientada a Objetos
Paradigmas de programación Prog. orientada a objetos Conceptos de Programación Orientada a Objetos Abstracción de Programación estructurada Programación imperativa 2 Programación estructurada (I) Programación
INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11
Índice INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11 1.1 PROGRAMA Y LENGUAJESDE PROGRAMACIÓN...12 1.1.1 EL LENGUAJE JAVA...13 1.1.2 EL JDK...15 1.1.3 LOS PROGRAMAS EN JAVA...16
Tema 3: Programación orientada a objetos (I)
Tema 3: Programación orientada a objetos (I) Ventajas del enfoque orientado a objetos Clases y Objetos Métodos y Mensajes Algoritmos y Sentencias Construcción de software orientado a objetos Búsqueda de
Las plantillas permiten definir funciones genéricas.
Introducción (Genericidad). Plantillas de funciones o funciones genéricas. Sintaxis de plantillas. Ejemplos de declaraciones. A tener en cuenta Un ejemplo de plantilla de funciones: Máximo de un vector.
Tema 2. El lenguaje JAVA
Tema 2. El lenguaje JAVA Nomenclatura habitual Variables Tipos de variables Tipos primitivos Referencias Arrays Operadores Operadores de Java Precedencia de operadores Sentencias de control Sentencias
Tema 7: Polimorfismo. Índice
Tema 7: Polimorfismo Antonio J. Sierra Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos. Recursividad. Control de acceso. Static. Final. Argumento
Programación orientada a objetos. Resumen de Temas Unidad 6: Polimorfismo y reutilización
Programación orientada a objetos Resumen de Temas Unidad 6: Polimorfismo y reutilización 6.1 Concepto de Polimorfismo Polimorfismo quiere decir "un objeto y muchas formas". Esta propiedad permite que un
Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.
Java Avanzado. Guía 1 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo
Programación estructurada (Introducción a lenguaje C)
Programación estructurada (Introducción a lenguaje C) M. en C. Sergio Luis Pérez Pérez UAM CUAJIMALPA, MÉXICO, D. F. Trimestre 15-I Sergio Luis Pérez (UAM CUAJIMALPA) Curso de programación estructurada
GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos.
1 Programación II, Guía 2 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos. Objetivos Utilizar la sintaxis de las funciones
El Concepto De Objeto y Clase
TEMA 3 El Concepto De Objeto y Clase V1.2 Manuel Pereira González Agenda Encapsulamiento y Reutilización Introducción a Objetos y Clases Resumen 1 Encapsulamiento y Reutilización Nivel de abstracción ->
Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación
1 Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera Fundamentos de programación Agenda Caracteres y Cadenas Conversión de Datos Introducción a las funciones y procedimientos
Universidad Salesiana de Bolivia
Universidad Salesiana de Bolivia Ingeniería de Sistemas I DATOS DE IDENTIFICACIÓN PLAN DE DISCIPLINA GESTIÓN II - 2015 INSTITUCIÓN UNIVERSITARIA: Universidad Salesiana de Bolivia RECTOR: Dr. Rvdo. P. Thelian
PROGRAMACIÓN ORIENTADA A OBJETOS
CONCEPTOS GENERALES PROGRAMACIÓN ORIENTADA A OBJETOS XAVIER CALDERÓN H. CONCEPTOS Paradigma: Palabra de origen griego que significa modelo o patrón. Paradigma de Programación: Propuesta de una comunidad
Clases en Java. Declaración de clases en Java 02/09/16. Ing. Roberto Martínez Román - public class Alumno { private int matricula;
Clases en Java ESCRIBIENDO CLASES [email protected] Declaración de clases en Java public class Alumno private int matricula; public void mostrardatos() System.out.println("Matrícula: " + matricula); Firma
Algoritmos y programas. Algoritmos y Estructuras de Datos I
Algoritmos y programas Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2012 Departamento de Computación - FCEyN - UBA Programación funcional - clase 1 Funciones Simples - Recursión - Tipos de
Funciones como Subprogramas en C++
FUNCIONES Cuando es necesario escribir programas complicados para resolver problemas complejos, una práctica común entre los programadores es descomponer el algoritmo (el diagrama de flujo) en varias partes.
1. Cuántas sentencias hay en la secuencia principal del siguiente programa?
1. Cuántas sentencias hay en la secuencia principal del siguiente programa? public class PruebaSwitch { System.out.print ("Opcion: "); case 3: System.out.println ("miércoles "); A. 1. B. 4. C. Más de 10.
PRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos
ESCUELA DE INGENIERÍA DE SISTEMAS DEPARTAMENTO DE COMPUTACIÓN PROGRAMACIÓN 2 PRÁCTICA DE LABORATORIO 4 Programación Orientada a Objetos Contenido Introducción...1 Objeto...2 Atributo...2 Métodos...2 Clase...3
Tema 13: Apuntadores en C
Tema 13: Apuntadores en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com [email protected] @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Introducción
Java para programadores
Java para programadores Java y Servicios Web I Master en Ingeniería Matemática Manuel Montenegro Dpto. Sistemas Informáticos y Computación Desp. 467 (Mat) [email protected] Contenidos Variables. Tipos
4.1 - OBJETOS Y CLASES
4.- Elementos relacionados con la Orientación a Objeto 4.1 - OBJETOS Y CLASES Intoducción Alan Kay (Smalltalk) Todo es un objeto. Un programa es un grupo de objetos diciendose unos a otros qué deben hacer
Interfaces y Clases Internas. ELO329: Diseño y Programación Orientados a Objetos
Interfaces y Clases Internas ELO329: Diseño y Programación Orientados a Objetos Qué queremos decir con interfaces y clases internas? NOTA: El término interfaz aquí NO se refiere a las interfaces gráficas
Categorías de métodos. Métodos constructores y destructores
1. Categorías de los métodos 2. Inicialización de miembros 3. Métodos constructores 4. Inicialización de objetos con y sin constructores 5. Sobrecarga de funciones constructoras 6. Argumentos implícitos
Metodologías en la Ingeniería del Software Métodos Orientados a Objetos
Metodologías en la Ingeniería del Software Métodos Orientados a Objetos García Departamento de Ciencias de la Computación Universidad de Alcalá Contenidos Historia Orientación a Objetos (OO) Problemas
Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C
Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales
Tema 4 Genericidad en Java. Programación Orientada a Objetos Curso 2013/2014
Tema 4 Genericidad en Java Programación Orientada a Objetos Curso 2013/2014 Contenido Antecedentes. Genericidad en Java 5 y posterior. Características avanzadas: Genericidad restringida. Tipo puro. Limitaciones
RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA
UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí
www.aprendoencasa.com Curso Introducción JAVA Pág.: 1
www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 Introducción Java es un lenguaje basado en la programación orientada a objetos (POO), este tipo de programación va más allá del tipo de programación
Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.
Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1
Prácticas de Programación
Prácticas de Programación Tema 1. Introducción al análisis y diseño de programas Tema 3. Herencia y Polimorfismo Tema 4. Tratamiento de errores Tema 5. Aspectos avanzados de los tipos de datos Tema 6.
ÍNDICE DEL LIBRO Y DEL EBOOK APRENDER A PROGRAMAR EN JAVA DESDE CERO. CURSO PASO A PASO.
ÍNDICE DEL LIBRO Y DEL EBOOK APRENDER A PROGRAMAR EN JAVA DESDE CERO. CURSO PASO A PASO. INDICE 1. INTRODUCCIÓN A JAVA 1.1. Qué es Java? 1.2. Es Java un lenguaje ideal para aprender a programar? 1.3. Es
UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.
UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. TRUJILLO 1.- Resumen de Prog1 Comentarios es C++ Declaraciones de variables.
Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...
