Programación Orientada a Objetos usando C++

Slides:



Advertisements
Presentaciones similares
ESTRUCTURA DE DATOS Unidad 01 Conceptos Previos.
Advertisements

Unidad 15 Características de C++ no relacionadas con el DOO.
Paso 1 Portada YO SOY EUROPEO Comisión Europea.
Cuestiones y problemas
Programación Gráfica 8. Clases y objetos.
Clases en C++.
Abstracción de Datos Arrays.
Creación y destrucción de objetos
22/11/2005 E.T.S de Ingenieros de Telecomunicación - UPNA.1 Clases y Objetos Silvia Larrayoz Leire Urriza.
POLIMORFISMO "una interfaz, múltiples métodos".
PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Programación Orientada a Objetos
Lección 1 Introducción a la POO
Ecuaciones y Resolución de Ecuaciones Lineales
Expresiones Racionales
POO en C++: Sintaxis En el .h debe aparecer la declaración de la clase: class NombreClase { private: // atributos y métodos privados public: // atributos.
INFORMATICA I Arreglos 1 CLASE 17.
Informática II Prof. Dr. Gustavo Patiño MJ
Informática II Prof. Dr. Gustavo Patiño MJ
Informática II Prof. Dr. Gustavo Patiño MJ
Herencia y Polimorfismo
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
Informática II 1 Diego Fernando Serna RestrepoSemestre 2011/2.
Encapsulamiento y Abstracción
Objetos y Clases en Java
Programación Orientada a Objetos en Java
Algoritmos y Estructuras de Datos Introducción al C++ Herencia.
Herramientas para el acceso directo a memoria en C++
¿Qué es un PUNTERO?: Un puntero es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Programación I Teoría VI: Recursividad
Introducción a la Programación Orientada a Objetos Redefinición y Sobrecarga Dada la siguiente jerarquía de clases: Alfa Delta Beta.
Herencia e Interfaces.
Medio de tele-comunicación
Modificadores.
POO Java Módulo 3 Elementos de programas Identificadores
Herencia y Polimorfismo en JAVA
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Creación de Aplicaciones
Tema 6: Clases Antonio J. Sierra.
Variables polimórficas (plantillas): definición, uso y aplicación
POO en C++ Programación Orientada a Objetos. Declaración de clases con struct Las clases en C++ pueden definirse utilizando la construcción struct Ejemplo:
 2003 Prentice Hall, Inc. All rights reserved. 1 Capítulo 6: Clases y Abstracción de Datos Índice del capítulo 6.1 Introducción 6.2 Estructuras 6.3 Clases.
SCJP Sun Certified Programmer for Java 6
PROGRAMACIÓN ORIENTADA A OBJETOS USANDO C++
Capitulo # 4 herencia PROGRAMACION III UNIVERSIDAD
Programación Orientada a Objetos usando CONSTRUCTORES DESTRUCTORES.
PROGRAMACIÓN ORIENTADA A OBJETOS USANDO C++
PROGRAMACIÓN ORIENTADA A OBJETOS USANDO C++. 2 PROYECTOS EN C++
FACULTAD DE ESTUDIOS SUPERIORES ARAGON
UNIDAD VI Recursos esenciales de Java LSC. Natalia Rodríguez Castellón.
Constructor  Un constructor es un método que inicia un objeto inmediatamente después de su creación. De esta forma nos evitamos el tener que iniciar.
Metodología de Programación Ayudantía 5 lelagos.ublog.cl 2009.
Informatica II1 Clases Extendidas La clase extendida hereda los campos y métodos de la clase que ha sido extendida. La clase original se conoce como superclase.
1 LAS CLASES EN C++ PROGRAMACIÓN ORIENTADA A OBJETOS USANDO C++
Clases y Objetos en Java ELO329: Diseño y Programación Orientados a Objetos.
Programación Orientada a Objetos
Sesión 09: Sobrecarga (1) /1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática II Universidad.
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Sesión 06: Clases y Objetos (2)
:: Prof. Yeniffer Peña Programación I Programación Orientada a Objetos Presentación.
6. Clases y Métodos..  6.1 Structs  6.2 Funciones  6.3 Namespaces  6.4 Clases.
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Prof. Manuel B. Sánchez. La parte ingenieril de un proceso de desarrollo de software, comprende realizar un diseño del sistema antes de empezar a escribir.
1 La sobrecarga de funciones y operadores le da al programador la oportunidad de asignar nuevos significados a las funciones y a los operadores.
Prof. Manuel B. Sánchez. Declaración de Objetos Una vez que la clase ha sido implementada se pueden declarar objetos como variables locales de métodos.
Constructores Los constructores inicializan nuestra clase, le dan un estado inicial estable listo para su uso. Siempre que declarábamos una variable numérica.
Prof. Manuel B. Sánchez. Es un mecanismo y uno de los pilares de la POO que permite definir nuevas clases a partir de otras preexistentes. La Herencia.
Transcripción de la presentación:

Programación Orientada a Objetos usando C++ LAS CLASES EN C++

TÓPICOS Clases Especificadores de acceso Métodos – Mensajes - Interfaz Prototipo Constructores - Destructores Sobrecarga de funciones

Ejercicios Fracción Cuenta Corriente Vendedor Alumno Complejos

Estructura de una clase class <nombre> {private: <datos privados> <métodos privados> public: <datos públicos> <método públicos> protected: <datos protegidos> <método protegidos> };

Ejemplo class Uno {private: int k; float x; public: procedim(int x); int funcion(); }; Uno a, *b;

Ejemplo class Empleado {private: char *nom; char *app; float sueldo; public: void Imprimir_Datos(); float Mostrar_Sueldo(); };

Conceptos Especificador de acceso: public: private: protected: Ningún miembro podrá ser objeto de la clase que está siendo declarada. Ningún miembro puede declararse como: auto extern register

Atributos de control de accesos FM: Funciones Miembro (Métodos) usuarios en general FM o FM de clases derivadas Sólo FM o amigas public: protected: private:

Métodos Los métodos se pueden implementar: Dentro de la declarativa de la clase A continuación de la declarativa de la clase Tipo Método(parámetros) {sentencias} Tipo Nombre_Clase::Método(parámetros) {sentencias}

Método: Constructor Método con el mismo nombre de la clase Propósito explícito: inicializar un objeto Se invoca automáticamente al declarar un objeto de la clase.

Método: Constructor Único medio para inicializar un objeto. Cuando una clase tiene un constructor TODOS los objetos de dicha clase son inicializados. NO se puede invocar directamente.

objeto.método_público(argumentos) Mensaje Mecanismo por el cual el usuario solicita a un objeto que realice alguna acción. El objeto, si reconoce el mensaje, activa el método adecuado en respuesta al mensaje. objeto.método_público(argumentos)

Interfaz Mecanismo por el cual un objeto puede comunicarse con su medio. Está formada por todos los métodos públicos de la clase. public: Fraccion(); void Listar(); int Numerador(); int Denominador(); float Equivalente();

Ejemplo1: Fracción Numerador Denominador != 0 Ambos enteros Crear una fracción con datos desde el teclado Conocer su numerador Conocer su denominador Obtener su equivalente real.

Objetos: tipo Fracción num: 5 den: 7 Listar() Numerador() Denominador() Equivalente() f: num: 1 den: 2 Listar() Numerador() Denominador() Equivalente() f1: num: 3 den: 8 Listar() Numerador() Denominador() Equivalente() f2:

Mensajes f 0,333 Equivalente 1 3 Listar() Numerador() Denominador()

Clase Fracción class Fraccion {public: Fraccion(); void Listar(); int Numerador(); int Denominador(); float Equivalente(); private: int num; int den; } Constructor Métodos Variables miembros

Sobrecarga de funciones Igual nombre de funciones Se diferencian en : La cantidad de parámetros y Tipo de dato de los parámetros. class Fraccion {public: Fraccion(); Fraccion(int,int); void Listar(); int Numerador(); : }

Constructores por defecto No poseen argumentos, o Los argumentos tienen valores asignados. Fracción f; Fraccion() Fraccion(int x=0,int y=1)

Clase Fracción class Fraccion {public: Fraccion(); Fraccion(int,int); void Listar(); int Numerador(); int Denominador(); float Equivalente(); private: int num; int den; }

Uso clase Fracción Mensaje Constructores void main() Fraccion g(2,3); {Fraccion f; Fraccion g(2,3); f.Listar(); cout<<f.Numerador(); cout<<"Equivalente de: "<<endl; cout<<f.Numerador()<<" /" <<f.Denominador() <<": "; cout<<f.Equivalente()<<endl; cout<<g.Numerador()<<" /" <<g.Denominador() <<": "; cout<<g.Equivalente()<<endl; } Mensaje

Creación de objetos Estático: Fraccion f1; x = f1. Numerador( ); Dinámico: Fraccion *f1; f1 = new Fraccion( ); x = (*f1).Numerador( ); x = f1->Numerador();

Destructores Utilidad: Liberar recursos solicitados por el constructor. Objeto en el heap: se destruye con el operador delete. No se requiere implementar si no se utiliza almacenamiento dinámico como parte del objeto. Invocación: Se llama en forma implícita cuando una variable está fuera de su alcance o ámbito. (bloque en el que fue declarada).

Ejemplo: Fracción void main() {int n,d; Fraccion f1; f1.Imprimir(); cout<<f1.Equivalente()<<endl; do {cout<<"Numerador : "; cin>>n; cout<<"Denominador: "; cin>>d; if (d!=0) { Fraccion f2(n,d); f2.Imprimir(); cout<<f2.Equivalente()<<endl; } }while (d!=0); //Se crea el objeto f1 //Creación de f2 //Destrucción f1 //Destrucción f1

Ejemplos a desarrollar

Ejemplo 1: Cta. Cte Una cuenta corriente se puede representar por : Saldo Operaciones como: Depositar(cantidad) Girar(cantidad) Saldo()

Ejemplo 2: Vendedor Registro sobre sus ventas mensuales. Crear un vendedor. Inicializa las ventas mensuales. Registrar las ventas mensuales. Desplegar la venta anual

Ejemplo 3: Alumno Registro sobre sus datos generales Realizar inscripción de una asignatura Realizar un registro de nota de asignatura aprobada. Listar información general del alumno Listar asignaturas inscritas. Listar asignaturas aprobadas

Ejemplo 4: Complejos e=5+3i Parte real Parte imaginaria