Conceptos Básicos. I. López
|
|
- María del Pilar Poblete Maldonado
- hace 6 años
- Vistas:
Transcripción
1 Conceptos Básicos I. López
2 Correspondencia de terminología UML y C++ UML C++ Clase Clase (declaración en.h) Atributos Miembros de datos (declaración en.h) Operaciones Miembros de función (declaración en.h) Método Definición de la función (imprementación en.cpp) Mensajes de salida Invocación a funciones Excepciones Detección de errores y funciones de tratamiento de errores Superclase y subclase Clase base y clase derivada Clases interactivas (visibilidad) #include Objeto Objeto (variable de una clase) Solo lectura const Clase abstracta Clase virtual
3 Conceptos básicos de C++ Clases, tipos Objetos y colecciones Funciones y operaciones Estructura y uso de los archivos de cabecera (includes)
4 Clase Declaración de la clase: Class Fecha { Public: Fecha (int mes, int dia, int año); Void visualizar ( ); Fecha ( ); Private: int dia, mes, año; } Definición de la función Void Fecha :: Visualizar ( ) { } Creación de un objeto mifecha = Fecha (2, 4, 2000); Visualización del objeto myfecha.visualizar (); // constructor // función para visualizar la fecha // dectructor // miembros de datos privados
5 Pasos para crear una clase Modelar graficamente la clase con un diagrama de clases Modelar textualmente la clase con la especificación textual Crear la estructura de la clase (esqueleto) Definir los atributos como miembros de datos en la sección privada de la clase Definir las operaciones como funciones miembro en la sección pública de la clase Definir las excepciones como funciones miembro en la sección privada de la clase Implantar todas las funciones con sus mensajes de salida (invocación a funciones) Definir la clase base y derivadas para herencia Completar la definición de la clase y las directivas #include Declarar un objeto de la clase Desarrollar un programa de pruebas que envíe mensajes al objeto de la clase
6 Clases y tipos Crear un nuevo tipo en C Crear un nuevo tipo en C++ Declaración (especificación) de la Clase Implantación de la Clase Uso de la Clase Miembros de una Clase Miembros de datos (atributos) Miembros de funciones Visibilidad de los miembros Públicos, Privados, Protegidos Funciones y datos miembros constantes Funciones miembro estáticas Funciones miembro amigas
7 Objetos y colecciones Instancias u objetos de una clase El puntero implícito this Colecciones
8 Variables y objetos Una variable es una instancia de un tipo clásico. Ej.: int ix; Un objeto es una instancia de una clase. Un objeto se puede crear/destruir: Con los constructores/destructores de la clase Con los operadores new/delete
9 Inicialización Las variables se inicializan en las declaraciones: Ej.: int ix = 5; char chnombre [ = {"pepe"}; Los objetos se inicializan al crearlos con los constructores de la clase: Ej.: Persona pepe (Lopez, Jose, 24);
10 Acceso a miembros de clases Nombre del objeto: Acceso por. Ej.: spepe.edad; pepe.visualizad(); Puntero al objeto: Acceso por -> Ej.: ptrpepe->edad; ptrpepe->visualizad();
11 El puntero this Es un puntero especial que es accesible a las funciones miembro. El puntero this apunta al objeto para el cual la función miembro ha sido invocada. No hay puntero this para las funciones estáticas. Una función miembro puede usar el puntero this para comprobar si un objeto pasado como parámetro es el mismo que el que invoca la función miembro.
12 Función: Paso de parámetros Por valor: Declaración: void f1 (Estructipox xvar); Invocación : f1 (xvar1); Acceso: con.; xvar1. comp1 Semantica: se copia la variable en el stack y de alli la obtiene la funcion. Si se modifica en la función no se refleja el cambio en el origen. Uso: con tipos básicos. No eficiente con tipos complejos. Por puntero: Declaración: void f1 (const Estructipox *xvar); Invocación: f1 (&xvar1); Acceso: con ->; xvar1-> comp1 Semántica: La funcion obtiene la direccion de la variable. Si se modifica en la función se refleja el cambio en el origen. El puntero permanece cosntante. Uso: con tipos complejos (estructuras, arrays,...) y parametro modificable. Por referencia:( significado de &: Referencia si hay un tipo delante de &; direccion de variable en otro caso) Declaración: void f1 (const Estructipox &xvar); Invocación: f1 (xvar); Acceso: con.; xvar1. comp1 Semántica: se copia la variable en el stack y de alli la obtiene la funcion. La funcion recibe un alias a la copia de la variable. Si se modifica en la función no se refleja el cambio en el origen. Simplicidad por el acceso con punto. Uso: con tipos complejos y parametros no modificables.
13 Función: Vuelta de valores Por valor Por puntero Por referencia Declaración: int & f1 () {return ivar;} Invocación: i = f1 (); f1() = i; Vuelta del parámetro implícito this con funciones no estáticas miembro de clases.
14 Funciones y operaciones Constructor y destructor Constructor Destructor Acceso a los miembros de datos (Poner y obtener el valor de atributos) Set, Get visualización, impresión y salvado funciones especificas de colecciones Iteradores Búsquedas Otras funciones del usuario
15 Operaciones (funciones) con objetos de clases Asignación (obj1 = obj2) Igualdad (objeto1 == objeto2) Relacionales (<, < =<, >=) Gestión de memoria (new, delete) Indices [ ] Referencia & Indirección * Archivos
16 Conceptos avanzados Características de clases I Funciones amigas (Friends) Miembros constantes Miembros estáticos Herencia Clase base y clase derivada Funciones virtuales Clase abstracta Polimorfismo Reescritura (redefinición) de los componentes de una clase
17 Funciones y clases amigas (friends) Función amiga: función de una clase que accede (lee y/o escribe) a los atributos privados de otra clase. Clase amiga: clase cuyas funciones acceden a los datos privados de otra clase. En la clase que permite el acceso a sus datos privados hay que poner el calificativo friend seguido de la función o clase de la clase que quiere acceder. La clase que pide la amistad se comporta como si sus atributos fueran los propios y los de la clase que ofrece la amistad. La declaración de una función friend se puede hacer en la parte pública o privada de una clase. Friend es una relación unidireccional
18 Ejenplos de friend Class MiClase { Friend class TuClase; Private: Int intsecreto; }; Class TuClase { Public: void cambio (TuClase yc) }; Void YourClass:: cambio (TuClase yc) { yc.intsecreto++; }
19 Objetos y Funciones miembro Constantes (solo lectura) La declaración const se puede aplicar a: Variables: const int mes = 12; Objetos : Ej.: const Fecha (7, 12, 2000); //objeto solo lectura Función: int getmes ( ) const; // función solo lectura Una función solo lectura: No modifica el objeto, es decir, no puede modificar ninguno de los atributos del objeto No puede invocar ninguna función miembro que no sea de solo lectura, ya que de lo contrario esta otra podría modificar el objeto. El token const hay que usarlo tanto en declaración como en la definición de la función: Ej.: inline int Fecha :: getmes ( ) const {..} Si se declaran todas las funciones de una clese como constantes, el compilador da un error. Siempre que sea posible declarar funciones de solo lectura. Esto obliga a los usuarios de la clase a declarar objetos constantes.
20 Objetos miembros: Composición de clases Una clase puede contener objetos como miembros de datos. Class persona { Public: Private: Char nombre [30]; Fecha fechanacimiento; // objeto miembro } En la declaracióndel miembro objeto, no se especifican parámetros Composición de clases: Es la utilización de otras clases como componente para definir una nueva clase. No confundir la composición de clases con la colección de objetos.
21 Funciones y datos miembros estáticas (I) Cuando un miembro de datos se declara static, solo se crea una copia para todas las instancias de la clase. Ej.: static int mes; Un miembro de datos static equivale a una variable global que van a usar todas las instancias de la clase. Para referirse a un miembro de datos stático conviene poner el prefijo de la clase seguido del operador de resolución del ámbito ::, para indicar que el valor se modifica para la clase y no para un objeto individual de esta Ej.: Fecha::mes = 12; La inicialización se pone en el módulo que contiene la definición de los miembros de función de la clase y no en el archivo de cabecera.h que contiene la declaración de la clase, ya que este se puede incluir más de una vez en el programa.
22 Funciones y datos miembros estáticas (II) Las funciones que acceden a miembros de datos estáticos de una clase, se tienen que declarar estáticas. Ej.: static void setmes (int mimes) { } Mes = mimes; Las funciones estáticas no tienen el puntero this, y en consecuencia: no pueden acceder a ninguno de los miembros de datos que no sean estáticos. no pueden invocar a funciones que no sean estáticas. Los miembros estáticos son útiles para: implantar recursos comunes que todos los objetos necesitan, para mantener información de estado de los objetos ( Ojo no el estado de un objeto!). Ej.: almacenar el número de objetos de la clase que se han creado.
23 Funciones virtuales (I) Una función virtual es una función miembro de una clase que se redefinirá en sus clases derivadas. Cuando se invoca una función virtual a través de un puntero a la clase base, el compilador invoca a su correspondiente función derivada. Una función virtual se declara anteponiendo el token virtual delante de la declaración de la función miembro de la clase base. Este token no es necesario en la declaración de las funciones virtuales en las clases derivadas. Ej.: Class Figura Class Circulo { { Public: Public: Virtual void dibujar ( ): void dibujar ( ); } { La función virtual requiere definición Declarar el destructor de una clase base como virtual para evitar problemas
24 Funciones virtuales (II): Función virtual pura y clase abstracta Función virtual pura : función virtual que no requiere definición. Se especifica escribiendo un igual a cero después del prototipo de la función miembro. Ej.: virtual int dibujar ( ) const = 0; La función se tiene que redefinir en cada una de sus clases derivadas No se puede declarar ninguna instancia de la clase en la cual se ha declarado una función virtual pura. Clase abstracta: la que no tiene instancias, es decir, la que define funciones virtuales puras.
25 Polimorfismo Es la posibilidad de invocar funciones de un objeto sin especificar su tipo exacto. Ej.: mifigura.dibujar ( ); invoca dibujar objeto sin conocer si es un rectángulo o un circulo En C hay que poner una sentencia switch para invocar a dibujarrectangulo o al circulo: Switch (tipofigura) { Case RECTANGULO: dibujarrectangulo ( ); Break; Case CIRCULO: dibujarcirculo ( ): Break; }
26 Formas de Polimorfismo Polimorfismo simple: Por herencia sinple Polimorfismo múltiple: Por herencia múltiple Polimorfismo con asignación estática (static binding o erly binding)): La asociación de un objeto con sus operaciones se hace en tiempo de compilación. Polimorfismo con asignación dinámica (dynamic binding o late bingding)): La asociación de un objeto con sus operaciones se hace en tiempo de ejecución.
27 Enlace (bindig) dinámico La asociación de un objeto con sus operaciones se hace en tiempo de ejecución. Permite modificar el comportamiento de un código compilado. Se puede hacer un módulo nuevo que maneje nuevos tipos sin necesidad de modificar el codigo fuente y recompilarlo. Permite que un programador extienda una librería de clases aunque no tenga el código fuente, sino solo los archivos.h,.obj o.lib. El enlace diámico se implanta en C++ a través del uso de una tabla de funciones virtuales o v-table o tabla de punteros a funciones que el compilador construye para cada clase que usa funciones virtuales. La v-table de una clase contiene un puntero para cada función virtual en la clase. El enlace dinamico no es costoso en tiempo de ejecución.
28 Sobrecarga (overloading) de funciones y operadores Es el uso de los símbolos de los operadores básicos del lenguaje, para ser utilizados con las clases del usuario. Ej.: Operación con tipos básicos: int a, b, c; a = c + b; Operación con tipos del usuario:vector v1, v2, v3; v1= v2 + v3; La sobrecarga de operadores es una alternativa más elegante a la escritura funcional de la operación: Vector sumarvercores (Vector v2, Vector v1) Los operadores escribir << y leer >> estan sobrecargados.
29 Sobrecarga de operadores Como función miembro: Class Vector { Public: Vector operator + ( cost Vector &vector2) const; } Vector Vector::operator+ (const Vector &vector2) const Las funciones miembro requieren solo un parámetro. El primer operando es el objeto para el cual se invoca y el segundo operador es el parámetro Como función aniga Friend Vector operator + (const Vector &vector1, Vector &vector2); Las funciones amigas requieren dos parámetros
30 Operadores reescribibres +`, -,*, /, %, v, &,,!,, =, <, >, <=, >= ++, --, <<, >>, ==,!=, &&, +=, -=, *=, /=, %=, v=, &=, = <<=, >>=, [ ], ( ), ->, ->*, new, delete
31 Limitaciones de la sobrecarga No se puede usar para: No se puede extender el lenguaje inventando nuevos operadores No se puede cambiar la aridad (número de operandos) No se puede cambiar la precedencia de un operador No se puede cambiar la asociatividad de la operación No se puede cambiar la forma en la que trabaja un operador con los tipos básicos Sobrecargar operadores cuando el significado del operador sea claro y no ambiguo
32 Herencia Clase base (superclase) : Clase genérica de la cual se derivan otras clases más particulares o clases derivadas. Clase derivada (subclase) : Clase obtenida de una clase base heredando todos los miembros (de datos y funciones) de su clase base y enriqueciéndolos con nuevos miembros propios de la clase derivada.
33 Herencia simple y herencia múltiple Herencia simple: la clase derivada solo hereda los miembros de una única clase base. Herencia múltiple: la clase derivada hereda miembros de varias clases base. H. simple H. múltiple Clases base Clases derivadas
34 Notación Class <clase derivada> : class < clase base1> : class <clase base2> : clas... Class Persona //clase base Persona Class Deportistista { { Public: Int getedad (); getdeporte();...,,, Private: Private: Char nombre [30]; char deporte [20]; Int edad; } } // Clase derivada simplealumno //Clase derivada múltiple Class alumno : class Persona Class AlumnoDeportista : class persona: class Deportista { { Public: Private: Curso curso1; }; };
35 Miembros protegidos Son como los miembros privados, excepto que solo son accesibles por los miembros de función de las clases derivadas. Class Base { Public: Protected: int secreto; Private: int misecreto; }; Class Derivada : class Base { Public: void funcion (); }; Void Derivada :: funcion () { secreto = 1: // Se puede acceder a un miembro protegido topsecreto = 1; // Error: no se puede acceder a un miembro privado }
36 Miembros protegidos: implicaciones Usar miembros protegidos con mesura. Si la parte protegida de una clase base se reescribe, todas las clases derivadas que usen los miembros protegidos también deben ser reescritas.
37 Colecciones Una colección es un conjunto de objetos Funciones específicas de las colecciones: Iteradores : recorren los objetos para visualizarlos, imprimirlos, etc. Búsquedas: buscan un objeto dada una condición
38 Implantación de Colecciones Colecciones usando clases amigas Colecciones usando punteros a la clase base Clase base definida por el usuario Clase base CobList tomada de la librería de clases de Microsoft.
39 Colecciones usando clases amigas Escribir una clase iterador que sea amiga de la clase conjunto. Clase ListaCursos { Fiend class IteradorCursos; // para que la clase iterador puede acceder al atributo privado, lista de cursos Public: ListaCursos (); Int añadircurso (...); Curso buscarcurso (...); Private: Curso Lista [ 10]; // lista de cursos int primerovacio = 0; };
40 Clase Iterador Class IteradorCursos { Public: IteradorCursos (ListaCursos &milista); // constructor Curso *getprimercurso ( ); Curso *getultinocurso ( ); Curso *getanteriorcurso ( ); Curso *getsiguientecurso ( ); Private: const ListaCursos *ptrcurso; // puntero a lista de cursos (objeto clase ListaCursos) int indiceactual; };
41 Colecciones usando herencia de una clase colección de la librería de clases Clase ListaPersonas : public CObjList { Public: ListaPersonas ( ); };
42 CObjList Es una clase cuya instancia es una lista de punteros a objetos de tipo Cobject Class CObjList { Public: Xx getnext (int posicion); Xx getlast (int posicion);... Private: };
Principios de Computadoras II
Departamento de Ingeniería Electrónica y Computadoras Ing. Ricardo Coppo rcoppo@uns.edu.ar Qué es un Objeto? Un objeto es una instancia de una clase Las clases actuán como modelos que permiten la creación
Más detalles1. Sobrecarga de operadores. 2. Métodos operadores unarios Operador de incremento (prefijo)
. Sobrecarga de operadores. unarios Operador de incremento (prefijo). Devolución de objetos en los métodos. Retorno por referencia Sobrecarga de operadores Los operadores aceptan uno o varios operandos
Más detallesJava 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
Más detallesPROGRAMACION 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
Más detalles2.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
Más detallesINTRODUCCIÓ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
Más detallesTema 6. Gestión dinámica de memoria
Tema 6. Gestión dinámica de memoria http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz@icc.uji.es Estructuras de datos y de la
Más detallesUnidad 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
Más detallesProgramació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
Más detallesDefinición y Conversión de datos. Agustín J. González ELO-329
Definición y Conversión de datos Agustín J. González ELO-329 1 Calificador Const El calificador const previene que un objeto sea modificado con posterioridad a su definición. El objeto calificado como
Más detallesAgradecimientos. 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
Más detallesHerencia. 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
Más detallesElementos 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
Más detallesPolimorfismo. Métodos virtuales
Polimorfismo. Métodos virtuales El polimorfismo indica que una variable pasada o esperada puede adoptar múltiples formas. Cuando se habla de polimorfismo en programación orientada a objetos se suelen entender
Más detallesClases 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
Más detallesDescripción y Contenido del Curso. Programación C++ Capacity Academy.
Descripción y Contenido del Curso Programación C++ Capacity Academy Educación en Tecnología de la Información Online, Efectiva y Garantizada Qué aprenderá si toma este Curso? En este curso aprenderás todo
Más detallesTema 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
Más detallesINTRODUCCIó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
Más detallesCONTENIDOS. La herencia permite: - Adoptar automáticamente características ya implementadas. Ahorro de tiempo y esfuerzo
CONTENIDOS 1. Introducción 2. Cuándo se aplica el mecanismo de herencia 3. Un ejemplo de herencia 4. Terminología 5. Clase derivada. Creación de una clase derivada 6. Miembros que no se heredan automáticamente
Más detallesTest : 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:
Más detallesLaboratorio de Arquitectura de Redes. Punteros en lenguaje C
Laboratorio de Arquitectura de Redes Punteros en lenguaje C Punteros en lenguaje C Definición Declaración e inicialización de punteros Operadores de punteros: «*» y «&» Operaciones con punteros Operaciones
Más detallesCURSO de C++ Ignacio López
CURSO de C++ Ignacio López Introducción al lenguaje C++ Visión General Objetivos del Curso C++ Conceptos básicos de la programación orientada a objetos (OOP) Visión General I Curso de C++ Introducción
Más detallesProgramació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
Más detallesTodo 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
Más detallesManual de turbo pascal
Universidad Nacional Experimental De Los Llanos Occidentales Ezequiel Zamora UNELLEZ-Barinas Manual de turbo pascal Bachilleres: Martinez Ninibeth C.I:20.867.002 Mora Yaco C.I:17.205.073 Estructura de
Más detallesUNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES
UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES Área de formación: Disciplinaria Unidad académica: Programación Orientada a Objetos Ubicación: Cuarto Semestre Clave: 2087 Horas
Más detallesCapítulo 16. Diagrama de Clases UML
Capítulo 16. Diagrama de Clases UML Florentino TORRES M. CINVESTAV-Tamaulipas 15 de Oct del 2012 Florentino TORRES M. (CINVESTAV) 15 de Oct del 2012 1 / 70 1 Capítulo 16. Diagrama de Clases UML Aplicando
Más detallesClases en C++ Agustín J. González ELO329
Clases en C++ Agustín J. González ELO329 1 Clases y Objetos Una clase es un tipo de datos definido por el usuario. Provee un molde o diseño" para múltiples objetos del mismo tipo o categoría. Un objeto
Más detalles1
Curso: BORLAN DELPHI 5 Curso de desarrollo de aplicaciones Windows utilizando el entorno de programación Borland Delphi 5. Se estudian las particularidades del lenguaje Delphi, así como su sintaxis; sus
Más detallesLa Herencia: Teoría (1)
Introducción a la Herencia Presentación basada en: 1. Construcción de Software Orientado a Objetos. Bertrand Meyer.1998. 2. Java 2., Curso de programación. Fco. Javier Ceballos. Ed. Alfoomega&RA-MA, 2003.
Más detallesMASTER PROFESIONAL C# 5 Y ASP.NET MVC 5
MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5 TEMARIO MODULO I. EL LENGUAJE C# 5 Introducción al desarrollo de soluciones informáticas. El Framework.NET. o Descripción de la plataforma. o Las especificaciones
Más detallesTema 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)
Más detallesModulo 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.
Más detallesEl patrón Composite (Compuesto) Propósito Componer los objetos a una estructura de jerarquía de relación partetodo.
Definición más precisa de los patrones Un patrón del diseño nomina, abstrae y identifica los aspectos claves de un diseño común para crear un diseño orientado a objetos reutilizable. Son descripciones
Más detallesVariables. 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
Más detallesCurso de Java POO: Programación orientada a objetos
Curso de Java POO: Programación orientada a objetos Luis Guerra Velasco Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Introducción a la POO 2 Herencia y polimorfismo 3 Empaquetado de proyectos
Más detallesUNIVERSIDAD 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.
Más detallesCONTENIDOS. 1. Completar el ejemplo de Herencia: Superclase Persona-Subclase Alumno
CONTENIDOS 1. Completar el ejemplo de Herencia: Superclase Persona-Subclase Alumno 2. Redefinición de métodos. 3. Jerarquía de clases. 4. Ejecución de los pasos de mensajes con Herencia. 5. Problemas con
Más detallesGUÍA DE ESTILO EN JAVA
GUÍA DE ESTILO EN JAVA Formato de líneas 1. No usar más de 80 caracteres por línea (imagen de tarjeta). De esta forma se pueden visualizar las líneas completas con un editor de texto o en una hoja impresa
Más detallesLas 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.
Más detallesJava 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) montenegro@fdi.ucm.es Contenidos Variables. Tipos
Más detallesJAVA -INTRODUCCIÓN AL LENGUAJE
JAVA -INTRODUCCIÓN AL LENGUAJE Temario 1 -Introducción al lenguaje Java 2 - Introducción a Eclipse 3 - Clases e Inicialización 4 Colecciones 5 - Creando nuestras clases de Java 6- Clases, Métodos y Variables
Más detallesMé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
Más detallesDiplomado Programación orientada a objetos con C++ y UML. Las empresas necesitan contar con sistemas de información modernos, ágiles y de calidad para alcanzar sus objetivos y ser cada vez más competitivos
Más detallesGuí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
Más detallesTema: 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
Más detallesPRÁ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
Más detallesPROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I
PROGRAMA DE ASIGNATURA DE PROGRAMACIÓN I Table of contents 1 INFORMACIÓN GENERAL...2 2 INTRODUCCIÓN... 2 3 OBJETIVOS GENERALES DE LA ASIGNATURA... 3 4 OBJETIVOS, TEMAS Y SUBTEMAS... 3 5 PLAN TEMÁTICO...6
Más detallesProgramación con Visual C#
Programación con Visual C# Duración: 40.00 horas Descripción Visual C# es uno de los lenguajes de programación desarrollados por Microsoft, basado en la programación orientada a objetos. Es imprescindible
Más detallesObjeto 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
Más detallesIntroducción. Herencia y Polimorfismo. Ejemplos (I) Ejemplos (II) Control de Acceso. Herencia
Introducción Herencia y Polimorfismo Se pueden definir jerarquías de clases, con clases generales que definen el comportamiento común a unos objetos y clases específicas que sólo añaden o redefinen el
Más detallesTEMA 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
Más detallesCURSO DE LENGUAJE C. 4.1 Conceptos básicos de funciones 4.2 Funciones que regresan valores no enteros 4.3 Variables externas 4.4 Reglas de alcance
Capítulo 1. Introducción general 1.1 Comencemos 1.2 Variables y expresiones aritméticas 1.3 La proposición FOR 1.4 Constantes simbólicas 1.5 Entrada y salida de caracteres 1.6 Arreglos 1.7 Funciones 1.8
Más detallesCurso de Programación en C. Licenciatura, FCQeI. APUNTADORES.
APUNTADORES. La memoria de una máquina esta ordenada en forma de celdas numeradas consecutivamente y que se pueden manipular individualmente o en grupos contiguos. La siguiente figura muestra una representación
Más detalles16. 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
Más detalles20483 Programación en C#
20483B 20483 Programación en C# Fabricante: Microsoft Grupo: Desarrollo Subgrupo: Microsoft Visual Studio 2012 Formación: Presencial Horas: 25 Introducción Este curso enseña a los desarrolladores las habilidades
Más detallesProgramació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
Más detallesPRÁ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í
Más detallesIntroducció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
Más detallesCONTENIDO. Programación orientada a objetos - POO. Clases. Constructores y destructores. Definiciones. Entrada y salida
INFORMÁTICA II 1 CONTENIDO 2 1 Programación orientada a objetos - POO 2 Clases 3 Constructores y destructores 4 Definiciones 5 Entrada y salida PROGRAMACIÓN ORIENTADA A OBJETOS Los lenguajes de programación
Más detallesElementos Diagramas de Clases Clase:
Diagramas de Clases Un diagrama de clases o estructura estática muestra el conjunto de clases y objeto importantes que forman parte de un sistema, junto con las relaciones existentes entre clases y objetos.
Más detallesProgramación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.
Programación n Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño o Vargas MsC. Variables y expresiones aritméticas Variables Conceptos de Memoria Una variable es un espacio en la memoria
Más detallesC# para no Programadores
C# para no Programadores Programa de Estudio C# para no Programadores Aprende a programar con una de las tecnologías más utilizadas en el mercado de IT. Este curso está orientado a quienes no tienen experiencia
Más detallesJava 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
Más detallesTema 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).
Más detallesTema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle
Tema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Asertos en C++ Mecanismo de excepciones: Declaración de excepciones Lanzar excepciones
Más detallesProgramación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.
Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC. Variables Conceptos de Memoria Una variable es un espacio en la memoria del PC Cada variable tiene un nombre, un tipo, un tamaño y un valor
Más detallesLas clases como tipos de datos definidos por el usuario
. La clase Fraccional. Representación en UML de los niveles de acceso 3. Categorías de los objetos que aparecen en los métodos 4. El puntero this. Métodos operadores La clase Fraccional Vamos a diseñar
Más detallesCLA. Diagramas de clases en Métrica V3
CLA Diagramas de clases en Métrica V3 1 Diagramas de clases Qué es? Representa la estructura y comportamiento de cada uno de los objetos del sistema y sus relaciones con los demás objetos. Objetivos? Representar
Más detalles4.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
Más detallesTema: Sobrecarga de Operadores.
Programación II. Guía 7 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Sobrecarga de Operadores. Objetivos Describir como redefinir (sobrecargar) operadores para que funcionen
Más detallesCarlos 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
Más detallesUNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS PROGRAMA DEL CURSO INTRODUCCION A LA PROGRAMACION Y COMPUTADORAS 1 CODIGO: 770 CREDITOS: 4 ESCUELA: Ciencias
Más detallesINSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO
INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 01-II 1. DATOS GENERALES SÍLABO UNIDAD DIDÁCTICA : LENGUAJES Y HERRAMIENTAS DE DESARROLLO DE SOFTWARE MÓDULO : DESARROLLO DE SOFTWARE
Más detallesINTRODUCCIÓ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
Más detallesNecesidad de la herencia pertenencia variedad is a has a herencia variedad definir una clase modificando una o más clases añadir nuevos miembros
Necesidad de la herencia La mente humana clasifica los conceptos de acuerdo a dos dimensiones: pertenencia y variedad. Se puede decir que el Ford Fiesta es un tipo de coche (variedad o, en inglés, una
Más detallesLa clase Integer y sus métodos. Los Operadores (concepto). Operadores Lógicos y a nivel de Bits. Operadores de desplazamiento. Concatenaciones. La Con
Fases de POO (Análisis y Diseño). Un ejemplo de Análisis y Diseño. Repaso de conceptos de Abstracción y ejemplos. Repaso y definición de Clases, estructura de una clase en Java. Declaración de atributos
Más detallesTutorial de C# Delegados y Eventos. Por: Óscar López, M.Sc.
Tutorial de C# Delegados y Eventos Por: Óscar López, M.Sc. olopez@uniandino.com.co DELEGADOS Delegados Son unos objetos que implícitamente extienden de System.Delegate y definen un tipo referencia soportado
Más detallesJAVA 7 Los fundamentos del lenguaje Java
Presentación 1. Historia 9 1.1 Por qué Java? 9 1.2 Objetivos del diseño de Java 10 1.3 Auge de Java 11 2. Características de Java 12 2.1 El lenguaje de programación Java 12 2.1.1 Sencillo 13 2.1.2 Orientado
Más detallesCentro 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...
Más detallesC.I.F.: B Inscrita en el Registro Mercantil de Madrid, Tomo Libro 0, Folio 135, Sección 8. Hoja M Inscripción 1ª
INTRODUCCIÓN A JAVA QUÉ ES JAVA Introducción ORGANIZACIÓN JME (Mobile / Wireless) JSE (Core / Desktop) JEE (Enterprise / Server) LA HISTORIA El comienzo Aparición de Internet Por qué el nombre JAVA DESARROLLO,
Más detallesTema: Arreglos de Objetos en C++.
Programación II. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Arreglos de Objetos en C++. Objetivos Específicos Describir la implementación de arreglos de Objetos.
Más detallesAREA A LA QUE PERTENECE: 103 Matemática Básica 2 34 créditos POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS NOMBRE DEL CURSO: Introducción a la Programación Y Computación 1 CODIGO: 770 CREDITOS: 4 ESCUELA: Ciencias y Sistemas AREA
Más detallesCapítulos 2 y 5: Modelación con UML y Modelo Objeto
Capítulos 2 y 5: Modelación con UML y Modelo Objeto Agenda Recordar: Modelo de Sistema: modelo objeto + modelo funcional + modelo dinámico Ultima Clase: Modelo Objeto Definir el concepto de Modelo de Clases
Más detallesPOST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015 HORAS POR SEMANA DEL LABORATORIO: DIAS QUE SE IMPARTE EL LABORATORIO:
UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS NOMBRE DEL CURSO: Introducción a la Programación Y Computación 1 CODIGO: 770 CREDITOS: 4 ESCUELA: Ciencias y Sistemas AREA
Más detallesObjetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)
Objetivos de la sesión Entender el tipo de programas que se pueden realizar con aplicaciones de consola. Conocer el concepto de variable, la forma en que se declaran y su utilización. Conocer la forma
Más detallesINTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS EN C++
INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS EN C++ El presente tutorial va a tratar de manera muy introductoria la programación orientada a objetos en C++ cuya comprensión básica es necesaria para
Más detallesIntroducción a C++ y Code::Blocks
Introducción a C++ y Práctica Imperativo Clase 1 Luis Agustín Nieto Departamento de Computación, FCEyN,Universidad de Buenos Aires. 28 de mayo de 2010 Menu de esta Tarde Funcional Vs. Imperativo (Intérprete
Más detallesProgramación. Test Autoevaluación Tema 3
Programación Test Autoevaluación Tema 3 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordoñez Morales Juan Gómez Romero José A. Iglesias Martínez José Luis Mira Peidro SOLUCIONES 1.
Más detallesLección 2 Introducción al lenguaje C
Lección Introducción al lenguaje C Decimal Binario Hexadecimal A B C D E F Octal Equivalencia entre decimal, binario, hexadecimal y octal. Código ASCII (American Standard Code for Information Interchange)
Más detallesContenido. 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo
Tutorial Contenido 1. El proceso 2. Los modelos 3. Los diagramas 4. Ejemplo 1. El proceso Fases soportadas por UML Análisis de requisitos de usuario Análisis de requisitos de software Diseño de la plataforma
Más detallesPráctica 4: Herencia. Objetivos:
Práctica 4: Herencia Objetivos: Como se implementa la herencia en Java (superclase - clase descendiente). Utilizar super. Redefinición de métodos Clase Object Clase System Clases abstractas 1. Herencia.
Más detallesRelación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática
Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2013-2014. 1º Grado en Informática Práctica 1: Punteros Objetivos Se hará hincapié en la aritmética de punteros
Más detallesUnidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas
Unidad II Fundamentos de programación en Java Ing. José Luis Llamas Cárdenas En java para poder escribir se emplea el objeto System.out, t pero para leer del teclado es necesario emplear System.in Et Este
Más detallesCaracteres 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
Más detallesEjercicio 1. Ejercicio 2
Todos los ejercicios incluyen una parte opcional de mayor dificultad, indicada con una serie de asteriscos en función del grado de dificultad. Ejercicio 1 Este ejercicio servirá para practicar la declaración
Más detallesESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF
ESCUELA POLITÉCNICA SUPERIOR GRADO EN DISEÑO IND. INFORMÁTICA CURSO 2012-13 PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF HASTA AHORA... En prácticas anteriores se ha aprendido: La estructura principal de un
Más detallesClases 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 rmroman@itesm.mx Declaración de clases en Java public class Alumno private int matricula; public void mostrardatos() System.out.println("Matrícula: " + matricula); Firma
Más detallesLa 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
Más detallesÍ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
Más detalles