Академический Документы
Профессиональный Документы
Культура Документы
INTRODUCCIN
La POO
-Representa un enfoque nuevo
- Descripcin de los objetos que se manipularn
- Se deben identificar las clases y el enfoque en que estas
interactuarn
OBJETIVO
POO
Objetivo
Conceptos Bsicos de la
POO
Reutilizacin y Jerarqua de
Clase
Clase
Cooperativa de Objetos
Instancia de una clase
Jerarqua de clases
Herencia
Descripcin de un Objeto
POO
Polimorfismo
Sobrecarga de Operadores y
Funciones
Caractersticas
Objetos, Clases,
Herencia, Mensajes y Polimorfismo
Objeto
Unidad de encapsulamiento
Funciones Especiales
Excepciones
Metodologa de Modelado y
desarrollo de Software
Orientado a Objeto
Relaciones de herencia
Datos y Funciones
OBJETO
Auto
Objetivo
Conceptos Bsicos de la
POO
Nombre
Atributos
Marca
Dato
Valor
Reutilizacin y Jerarqua de
Clase
Nombre
Herencia
Mtodo
Accin
Cuerpo
Polimorfismo
Sobrecarga de Operadores y
Funciones
Funciones Especiales
Objeto-Objeto
Mensaje
Peticin
Mtodos-Objeto
Excepciones
Metodologa de Modelado y
desarrollo de Software
Orientado a Objeto
Emisor
Matrcula
Receptor
Precio
Ao_compra
Cal_prec_act
CLASE
Cuenta
Cuenta Cte
Cuenta Ahorro
Servicio
S1010
S2020
Conceptos Bsicos de la
POO
Horas
Frecuencia
Reutilizacin y Jerarqua de
Clase
Descuento
20
10
Herencia
Polimorfismo
Sobrecarga de Operadores y
Funciones
Clase
Instancia
Funciones Especiales
Excepciones
Metodologa de Modelado y
desarrollo de Software
Orientado a Objeto
};
CLASE
NIVELES DE ACCESO
Conceptos Bsicos de la
POO
Pblicos
Privados
Reutilizacin y Jerarqua de
Clase
Miembro
Herencia
Polimorfismo
Protegidos
Sobrecarga de Operadores y
Funciones
class nom_clase
{
Funciones Especiales
Private:
//Miembros privados
Excepciones
Metodologa de Modelado y
desarrollo de Software
Orientado a Objeto
Public:
//Miembros pblicos
Protected:
//Miembros protegidos
};
REUTILIZACIN DE CLASES
Objetivos
Conceptos Bsicos de la
POO
Ventajas
- Ahorro de tiempo
- Facilidad para intercambiar software
Reutilizacin y Jerarqua de
Clase
Clase Compilada
anteriormente
Herencia
Polimorfismo
Sobrecarga de Operadores y
Funciones
Funciones Especiales
Excepciones
Metodologa de Modelado y
desarrollo de Software
Orientado a Objeto
Tipos
Cdigo Fuente de
una Clase
JERARQUA DE CLASES
Estructura de Clase
Jerarqua es un
Generalizacin/Especializacin
Estructura de Objetos
Jerarqua parte de
Agregacin
Persona
Auto
es un
es un
Empleado
Estudiante
es un
Vendedor
Parte_de
Motor
Parte_de
Transmisin
HERENCIA
- Propiedad que permite a los objetos ser construidos a partir de otros objetos
Conceptos Bsicos de la
POO
Tipos
Reutilizacin y Jerarqua de
Clase
Herencia
Herencia Simple
Funciones Especiales
Excepciones
Metodologa de Modelado y
desarrollo de Software
Orientado a Objeto
Artculo
Polimorfismo
Sobrecarga de Operadores y
Funciones
Herencia Mltiple
Video
Audio
Radio
CD
HERENCIA
Sintaxis de la Herencia Simple
Conceptos Bsicos de la
POO
class nom_clase_base { };
Reutilizacin y Jerarqua de
Clase
Herencia
Polimorfismo
...
};
Sobrecarga de Operadores y
Funciones
class A { };
Funciones Especiales
class B { };
Excepciones
Metodologa de Modelado y
desarrollo de Software
Orientado a Objeto
};
HERENCIA
Objetivo
Tipo de Acceso a la clase base
Conceptos Bsicos de la
POO
Reutilizacin y Jerarqua de
Clase
Public
Private
Protected
Herencia
Polimorfismo
Sobrecarga de Operadores y
Funciones
Funciones Especiales
Excepciones
Metodologa de Modelado y
desarrollo de Software
Orientado a Objeto
Pblica
Public
No accesible
Protected
Privada
Private
No accesible
Private
Protegida
Protected
No accesible
Protected
POLIMORFISMO
Objetivo
Conceptos Bsicos de la
POO
permite
Reutilizacin y Jerarqua de
Clase
Polimorfismo
Herencia
Polimorfismo
Sobrecarga de Operadores y
Funciones
Funciones Especiales
Excepciones
Metodologa de Modelado y
desarrollo de Software
Orientado a Objeto
declarar
se debe
POLIMORFISMO
class figura
{
public:
virtual void Area ( );
Reutilizacin y Jerarqua de
Clase
};
Herencia
Polimorfismo
Sobrecarga de Operadores y
Funciones
};
Funciones Especiales
Excepciones
Metodologa de Modelado y
desarrollo de Software
Orientado a Objeto
SOBRECARGA DE OPERADORES
Polimorfismo
Sobrecarga de Operadores y
Funciones
};
Funciones Especiales
Excepciones
Metodologa de Modelado y
desarrollo de Software
Orientado a Objeto
Unarios: ++, -Binarios: /, %, (), [], new, delete, +=, -=, *=, =, ...
Unarios o Binarios: +, -, *, &
SOBRECARGA DE FUNCIONES
Hacer uso de un mismo nombre para varias funciones que ejecutan tareas similares.
Para ello las funciones deben:
- Diferir al menos en el tipo o nmero de parmetros que acepta
Reutilizacin y Jerarqua de
Clase
Herencia
class triangulo
{
Polimorfismo
private:
float area;
Sobrecarga de Operadores y
Funciones
int lado;
Funciones Especiales
public:
Excepciones
Metodologa de Modelado y
desarrollo de Software
Orientado a Objeto
};
FUNCIONES ESPECIALES
Dan sentido a la herencia entre clases y permiten la manipulacin e inicializacin del
objeto
Constructor
Por Defecto
class nom_clase
class nom_clase
Herencia
Polimorfismo
Sobrecarga de Operadores y
Funciones
Funciones Especiales
Excepciones
Alternativo
public:
public:
nom_clase( ) {}
nom_clase(argumentos ) {}
};
};
Destructor
class nom_clase
{
public:
Metodologa de Modelado y
desarrollo de Software
Orientado a Objeto
~nom_clase( ) {}
};
FUNCIONES ESPECIALES
Funciones en Lnea (inline)
class nom_clase
{
public:
Reutilizacin y Jerarqua de
Clase
Herencia
Polimorfismo
Sobrecarga de Operadores y
Funciones
inline tipo_retorno
nom_func(argumentos ); {}
};
Funciones Amigas
class nom_clase_base
{
friend tipo_retorno nom_func(argumentos) ;
Funciones Especiales
Excepciones
Metodologa de Modelado y
desarrollo de Software
Orientado a Objeto
};
class nom_clase_derivada: public nom_clas_base
{
friend tipo_retorno nom_func(argumentos) ;
};
FUNCIONES ESPECIALES
Funciones Virtuales
class nom_clase_base
{
public:
Reutilizacin y Jerarqua de
Clase
Herencia
};
Polimorfismo
Sobrecarga de Operadores y
Funciones
Funciones Especiales
Excepciones
Metodologa de Modelado y
desarrollo de Software
Orientado a Objeto
};
EXCEPCIONES
Objetivo
Anomalas durante la ejecucin
Conceptos Bsicos de la
POO
Reutilizacin y Jerarqua de
Clase
Se captura excepcin
Manejadores
Fuentes de error
Resultado fuera de rango
catch
try
Herencia
Excepciones
Polimorfismo
Sobrecarga de Operadores y
Funciones
Funciones Especiales
Excepciones
Metodologa de Modelado y
desarrollo de Software
Orientado a Objeto
EXCEPCIONES
try {
float f, g;
cout << Introduzca lados del triangulo
rectangulo: ;
cin >> f >> g;
cout << Hipotenusa: << hipo(f, g) <<
endl:
}
catch(char *msg){
cerr << msg << endl;
return 1;
}
return 0;
}
float hipo(float a, float b) thow (char *){
if (a == 0 || b == 0) throw Los valores ser distinto
de cero;
if (a < 0 || b < 0) throw Los valores deben ser
positivos;
return sqrt (a * a + b * b);
Objetivo
Conceptos Bsicos de la
POO
Reutilizacin y Jerarqua de
Clase
Herencia
Polimorfismo
Sobrecarga de Operadores y
Funciones
Funciones Especiales
Excepciones
Metodologa de Modelado y
desarrollo de Software
Orientado a Objeto
Mecanismos generales
No es propietaria
Desarrollo de software
Elementos del
Modelo
Conceptos OO
UML
Diagramas
Descripcin de una vista
vistas
Aspectos del sistema
Partes
fundamentales
Vistas
Diagramas
Elementos del modelo
Mecanismos generales
Conceptos Bsicos de la
POO
Reutilizacin y Jerarqua de
Clase
Herencia
Polimorfismo
Sobrecarga de Operadores y
Funciones
Funciones Especiales
Excepciones
Metodologa de Modelado y
desarrollo de Software
Orientado a Objeto
Dependencia
Generalizacin
Asociacin
Objetivo
Conceptos Bsicos de la
POO
Anlisis de Requerimientos
Reutilizacin y Jerarqua de
Clase
Anlisis
Herencia
Polimorfismo
Sobrecarga de Operadores y
Funciones
Funciones Especiales
Excepciones
Metodologa de Modelado y
desarrollo de Software
Orientado a Objeto
FASES DEL
DESARROLLO
DE UN SISTEMA
Diseo
Programacin
Pruebas
EJEMPLO
Sobrecarga de Operadores y Funciones
#include <iostream.h>
class binario {
int x;
public:
binario () { x = 0; }
binario (int a) { x = a; }
binario operator + (binario &);
void visualizar(){ cout << x << endl; }
};
binario binario::operator + (binario &a) {
binario aux;
aux.x = x + a.x;
return aux;
}
void main() {
binario p(4), s(2), t;
t = p + s;
t.visualizar();
}
EJEMPLO
Herencia
#include <iostream.h>
#include <string.h>
Reutilizacin y Jerarqua de
Clase
#include <stdlib.h>
Herencia
class CEmpleado
{
protected:
char ape[20];
double sueldo;
public:
CEmpleado()
{
strcpy(ape, "");
sueldo=0;
}
CEmpleado(char ap[20], double s)
{
strcpy(ape, ap);
sueldo=s;
}
char* ObtenerApellido();
double ObtenerSueldo();
};
Polimorfismo
Sobrecarga de Operadores y
Funciones
Funciones Especiales
Excepciones
Metodologa de Modelado y
desarrollo de Software
Orientado a Objeto
EJEMPLO
//funciones miembros de CEmpleado
char* CEmpleado::ObtenerApellido ()
{
return ape;
}
double CEmpleado::ObtenerSueldo ()
{
return sueldo;
}
Herencia
//Definicin de la clase CGerente heredada de CEmpleado
Polimorfismo
Sobrecarga de Operadores y
Funciones
Funciones Especiales
Excepciones
Metodologa de Modelado y
desarrollo de Software
Orientado a Objeto
EJEMPLO
Objetivo
//Funciones miembros de CGerente
Conceptos Bsicos de la
POO
Reutilizacin y Jerarqua de
Clase
Herencia
Polimorfismo
Sobrecarga de Operadores y
Funciones
Funciones Especiales
Excepciones
Metodologa de Modelado y
desarrollo de Software
Orientado a Objeto
char* CGerente::ObtenerSecretaria()
{
return secretaria;
}
char* CGerente::ObtenerDpto ()
{
return dpto;
}
//funcin principal
void main(void)
{
CGerente g("Perez", 2500.60, "Sistemas", "Juana");
cout << g.ObtenerApellido()<<endl;
cout << g.ObtenerSueldo()<<endl;
cout << g.ObtenerDpto()<<endl;
cout << g.ObtenerSecretaria()<<endl;
system("pause");
}