Beruflich Dokumente
Kultur Dokumente
Pag.
1 de 23
CONTENIDO
I. INTRODUCCION A LA POO
1.1. CONCEPTOS BASICOS DE LA PROGRAMACION ORIENTADA A
OBJETOS.
1.1.1. QUE ES LA PROGRAMACION ORIENTADA A OBJETOS:
1.1.2. COMO ES LA ESTRUCTUTURA DE LA PROGRAMACION
ORIENTADA A OBJETOS:
1.1.3. MECANISMOS BASICOS DE LA OOP
1.1.3.1. OBJETOS
1.1.3.2. MENSAJES
1.1.3.3. METODOS
1.1.3.4. CLASES
1.1.3.5. SUBCLASES
II. PROGRAMACION POR ABSTRACCION
2.1 LA ABSTRACCION COMO PROCESO NATURAL MENTAL
2.2. MECANISMOS DE ABSTRACCION
2.2.1. PROCEDIMIENTOS Y FUNCIONES
2.2.2. MODULOS
2.2.3. TAD
2.2.4. OBJETOS
2.3 ELEMENTOS IMPORTANTES DEL MODELO OOP.
2.3.1. ABSTRACCION:
2.3.2. ENCAPSULACION:
2.3.3. MODULARIDAD:
2.3.4. JERARQUIA:
2.3.4.1. ESTRUCTURA DE CLASES (is a)
2.3.4.2. ESTRUCTURA DE OBJETOS (part of) agregacin
Pag.
2 de 23
Pag.
3 de 23
I. INTRODUCCION A LA POO
Pag.
4 de 23
Pag.
5 de 23
Pag.
6 de 23
2.2.4. OBJETOS
ES UN TAD AL QUE SE AADEN INNOVACIONES EN
COMPARTICION DE CODIGO Y REUTILIZACION.
EN POO, LAS ENTIDADES CENTRALES SON LOS OBJETOS, QUE
SON TIPOS DE DATOS QUE ENCAPSULAN CON EL MISMO
NOMBRE ESTRUCTURAS DE DATOS Y LAS OPERACIONES O
ALGORITMOS QUE MANIPULAN ESOS DATOS.
2.3 ELEMENTOS IMPORTANTES DEL MODELO OOP.
2.3.1. ABSTRACCION:
PROPIEDAD QUE PERMITE REPRESENTAR LAS
CARACTERISTICAS ESENCIALES DE UN OBJETO, SIN
PREOCUPARSE DE LAS RESTANTES CARACTERISTICAS.
EL ELEMENTO CLAVE DE LA OOP ES LA CLASE.
2.3.2. ENCAPSULACION:
PROPIEDAD QUE PERMITE ASEGURAR QUE EL
CONTENIDO DE LA INFORMACION DE UN OBJETO ESTA
OCULTA AL MUNDO EXTERIOR.
LA ENCAPSULACION PERMITE LA DIVISION DE UN
PROGRAMA EN MODULOS. ESTOS MODULOS SE
IMPLEMENTAN MEDIANTE CLASES, DE FORMA QUE
UNA CLASE REPRESENTA LA ENCAPSULACION DE UNA
ABSTRACCION.
EN LA PRACTICA, ESTO SIGNIFICA QUE CADA CLASE
DEBE TENER DOS PARTES: UN INTERFAZ (CAPTURA SU
VISTA EXTERNA) Y UNA IMPLEMENTACION (CONTIENE
LA REPRESENTACION DE LA ABSTRACCION, ASI COMO
LOS
MECANISMOS
QUE
REALIZAN
EL
COMPORTAMIENTO DESEADO)
2.3.3. MODULARIDAD:
PROPIEDAD
QUE
PERMITE
SUBDIVIDIR
UNA
APLICACIN EN PARTES MAS PEQUEAS(MODULOS).
EN LA PRACTICA LOS INTERFACES DE LOS MODULOS
EN ARCHIVOS .h Y LOS LA SIMPLEMENTACIONES DE
LOS MODULOS EN ARCHIVOS .cpp
2.3.4. JERARQUIA:
PROPIEDAD QUE PERMITE UNA ORDENACION DE LAS
ABSTRACCIONES.
LAS DOS JERARQUIAS MAS IMPORTANTES DE UN
SISTEMA COMPLEJO SON:
2.3.4.1. ESTRUCTURA DE CLASES (is a)
generalizacion/especializacion
LAS JERARQUIAS DE generalizacin / especializacin
SE CONOCEN COMO HERENCIA, BASICAMENTE
ESTA DEFINE UNA RELACION ENTRE CLASES, EN
Pag.
7 de 23
Pag.
8 de 23
ALGOL
SIMULA 67
CLU
PASCAL
SMALLTALK
BASIC
OBJECT
PASCAL
ADA
ACTOR
OBJETIVE C
C++
VISUAL 3
EIFFEL
ADA 95
VISUAL 4
BORLAND PASCAL
DELPHI
JAVA
Pag.
9 de 23
FUNCIONES MIEMBRO
I
N
T
E
R
F
A
Z
Label1
INTERIOR
EXTERIOR
Pag.
10 de 23
Pag.
11 de 23
UN
OBJETO
CON
UN
Pag.
12 de 23
//archivo conta.h
Cuenta();
float saldo_cuenta();
float retirar(float);
void depositar(float);
private:
Float saldo;
};
IMPLEMENTACION
Cuenta :: cuenta()
//archivo conta.cpp
{
saldo=0.0;
}
float cuenta :: saldo_cuenta()
{
return saldo;
}
float cuenta :: retirar(float cantidad)
{
if (cantidad<=saldo)
{
saldo=saldo-cantidad;
return cantidad;
}
else
{
return o;
}
}
void cuenta :: depositar(float cantidad)
{
saldo=saldo+cantidad;
}
::
OPERADOR DE RESOLUCION DE ALCANCE, MUESTRA
CUALES SON LAS FUNCIONES MIEMBRO DE UNA CLASE.
Pag.
13 de 23
#include <iostream.h>
#include <conta.h>
void main()
{
cuenta miguel;
float total;
cout << Saldo miguel= << miguel.saldo_cuenta << endl;
miguel.depositar(100);
cout << Saldo miguel= << miguel.saldo_cuenta << endl;
total=miguel.retirar(20);
cout <<miguel ha retirado<< total <<endl;
cout << Saldo miguel= << miguel.saldo_cuenta << endl;
miguel.depositar(50);
cout << Saldo miguel= << miguel.saldo_cuenta << endl;
}
Cuando se compila y ejecuta el programa anterior se visualizara:
saldo miguel = 0
saldo miguel = 100
nmiguel ha retirado 20
saldo miguel = 80
saldo miguel = 130
Pag.
14 de 23
Class empleado
{
char nombre[ ];
int edad;
float salario;
public:
void leer_datos_emp(void);
void calcular_salario();
};
LA DEFINICIOPN DE OBJETOS SE HACE EN EL PRORAMA
PRINCIPAL,
main()
{
empleado emp1;
emp1.leer_datos_emp();
empl.calcular_salario();
}
Pag.
15 de 23
Pag.
16 de 23
ES
UN
CONSTRUCTOR
QUE
NO
REQUIERE
RGUMENTOS; LA LISTA DE ARGUMENTOS ES O BIEN
VACIA O TODOS LOS ARUMENTOS TIENEN VALORES
POR OMISION ASINADOS A ELLOS.
Class Complejo
{
public:
complejo()
// constructor por defecto
{
real = 0;
imag =0;
}
~complejo();
// funciones miembro restantes
private
double real;
double imag;
};
Complejo Cn;
Pag.
17 de 23
Pag.
18 de 23
GENERAL
FIGURA
ES UN
FIGURA CERRADA
ES UN
POLGONO
ES UN
CUADRILATERO
ES UN
RECTANGULO
ESPECIFICO
Pag.
19 de 23
Pag.
20 de 23
Pag.
21 de 23
};
class D1:virtual public B {
protected:
..
};
class D2:virtual public B {
protected:
..
};
class z:public D1, public D2 {
..
};
Pag.
22 de 23
Pag.
23 de 23
QUIZZ
I. Cual es la diferencia de significado entre la estructura
struct a {
int i,j,k;
}
y la clase
class a {
int i, j, k;
};
II. Explique la razn por la que la declaracin de la clase no es til.
III. Como se puede utilizar la palabra reservada public para cambiar la
declaracin de la clase en una declaracin equivalente a struct a?
IV. Realizar un programa que calcule la distancia media correspondiente a
100 distancias entre ciudades dadas cada una de ellas en kilmetros y
metros.