You are on page 1of 4

ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA

INGENIERIA ELECTRICA/INGENIERIA EN CONTROL Y AUTOMATIZACION


ACADEMIA DE COMPUTACION
ASIGNATURA DE PROGRAMACION ORIENTADA A OBJETOS

SINOPSIS PARA EL 3er EXAMEN DEPARTAMENTAL


SEM: 2016ENE-2016AGO (2016MAY29)

1 Herencia.
1.1 Definicin:
Caracterstica por medio de la cual una clase llamada derivada o hija,
adems de tener sus caractersticas propias tiene las de otra clase llamada
base o hija. Esta clase es una clase normal.
1.2 Operacin.
1.2.1 Creacin de una clase derivada. Sintaxis.
class Base{.};
class Derivada: public Base{.};
1.2.2 Manipulacin.
..
int main(){
.
Base objBase;
Derivada objDerivada;
..
objBase.metXbase();
objDerivada.metXderivada();
objDerivada.metXbase();

}
1.3 Cascada de clases con herencia.

class Padre{

};
class Hijo: public Padre{

};
class Nieto: public Hijo{

};
class Bisnieto: public Nieto{

};

class Padre1{

};
class Padre2{

};
class Hijo: public Padre1; public Padre2{

};
1.4 Polimorfismo en la herencia.
Se refiere a tener dentro de la herencia, mtodos con el mismo nombre, esto
genera operar con el concepto de mtodos virtuales. Dentro de la clase base,
se define el mtodo con la palabra reservada virtual para indicar que se va
a redefinir en la(s) clase(s) derivadas.

class Insecto{

virtual imprime();
virtual ~Insecto();
};
class Mosca: public Insecto{

imprime();
~Mosca();
};
class Cucaracha: public Insecto{

imprime();
~Cucaracha();
};

2 Amistad
2.1 Definicin.
Una clase puede definir como amiga a otra clase, a un mtodo de otra clase o a
una funcin (no pertenece a ninguna clase). Esto permite que lo declarado como
amigo, pueda accesar a todos los miembros de la clase que definio la amistad.
2.2 Operacin
2.2.1 Creacin de una clase amiga, un mtodo amigo, una funcin amiga:

class ClaseAmiga; //definicion implicita


class ClaseX; //definicion implicita

class Clase{
.
friend ClaseAmiga;
friend void ClaseX::metodoAmigo(.);
friend int funcionAmigo();
.
};
2.2.2 Manipulacin.
.
void funAmigo();
int main(){
.
Clase objClase;
/* este objeto es manipulado por los mtodos de Clase.

ClaseAmiga objClaseAmiga();
/* este objeto es manipulado por los mtodos de ClaseAmiga
y los mtodos de Clase.

ClaseX objClaseX();
/* este objeto es manipulado por los mtodos de ClaseX y en
particular con su mtodo metodoAmigo() manipula los
miembros de la clase Clase.

int a funcinAmigo();
/* esta funcin manipula los miembros de la clase Clase.
.
}

2.3 Nota. El concepto de amistad no opera en cascada. Si claseA define como amiga
la claseB y esta define como amiga la claseC; esta ltima clase es amiga de
claseB, pero no es amiga de claseA.

3 Sobrecarga de operadores.
3.1 Definicin.
Se refiere a que un operador, adicionalmente a su accin normal se le
implemente otra accin diferente. Existe una relacin de los operadores que se
pueden sobrecargar: +, ++, -, *, /, %, &, |, >, >>, <, <<, ==, &, =, ! .
3.2 Operacin.
3.2.1. Creacin de la sobrecarga de operadores. Sintaxis.
class ClaseX{
.
ClaseX operator+(ClaseX );
void operator-();
};
3.2.2 Manipulacin de la sobrecarga de operadores.
..
int main(){
.
ClaseX ob1,ob2,ob3;
.
ob3 = ob1 + ob2;
- ob3;
.
}
4 Sobrecarga de mtodos.
4.1 Definicin.
Se refiere a que varios mtodos de una clase, tienen el mismo nombre, pero
realizan acciones diferentes. El programa detecta cual de los mtodos va a
ejecutar de acuerdo a los parmetros que lleguen.
4.2 Operacin.
4.2.2 Creacin de la sobrecarga de mtodos. Sintaxis.
class ClaseX{
.
V
void metodoX(lista-parametros1);
void metodoX(lista-parametros2);
..
};

4.2.2 Manipulacin de la sobrecarga de mtodos.


..
int main(){
.
ClaseX ob1,ob2;
.
ob1.metodoX(lista-parametros1);
ob2.metodoX(lista-parametros2);
.
}

You might also like