Sei sulla pagina 1di 12

Ing.

Tulio Mamani
 Ing. Tulio Mamani
Introduccion OO
El esquema tradicional de un programa, independientemente del
lenguaje que se utilice, está compuesto por una secuencia de
sentencias, más o menos agrupadas en rutinas o funciones, que
van operando sobre una información contenida en campos o
variables.
El problema de esta estructura estriba en que ni las sentencias
tienen un control de las variables con las que trabajan, ni estas
variables están relacionadas en forma alguna con las sentencias
que habrán de tratarlas. ¿Cómo puede la POO ayudarnos?

3
Programas en OO
El objeto es una abstracción en la que se unen sentencias y datos,
de tal forma que a un objeto sólo lo van a poder tratar los métodos
definidos para él, y estos métodos están preparados para trabajar
específicamente con él. Este grado de compenetración evita que
un método pueda tratar datos no apropiados, o bien que unos datos
puedan ser tratados por un método no adecuado, ya que la llamada
a cualquier método ha de ir siempre precedida del objeto sobre el
que se quiere actuar, y éste sabe si ese método se ha definido o no
para él. C++ es un lenguaje que contiene estos y otros conceptos de
POO.
En terminología POO, cuando se quiere ejecutar un método (función)
sobre un objeto, se utiliza un mensaje que se envía al objeto, de tal
forma que el objeto llame al método y éste sepa qué objeto lo ha
llamado.

4
Conceptos en C++

En C++ se cumplen las propiedades del paradigma OO como ser:

Encapsulacion: Proteger el contenido de un objeto y solo


acceder a los atributos y métodos permitidos
Herencia: Permite copiar los atributos y métodos de un objeto y
además poder mejorar los mismos.
Polimorfismo: Tratar de manera general objetos de clases
distintas ahorrando código.
Constructores y Destructores: Un constructor es un meto que
se ejecuta automáticamente cuando se crea un objeto, de esta
manera se puede inicializar el objeto.

Un destructor se ejecuta cuando se elimina un objeto y


permite liberar recursos consumido por el objeto.

5
Clases en C++

La clases pueden definirse en un archivo cabecera o al Inicio de un


archivo de programa y toman el siguiente formato:

class Nombre_de_la_Clase
{
Definición_de_Datos;
Prototipos_y_métodos;
};

6
Objetos en C++

Los objeto se crean igual que definir una variable de algún tipo p.e

Nombre de la Clase Nombre del Objeto;

Punto p1,p2; // Creación de dos objetos de la clase Punto

7
Miembros públicos, privados y
protegidos

Los objeto se crean igual que definir una variable de algún tipo p.e

Public
Un miembro público es accesible en cualquier lugar en el que exista un
objeto de la clase.

protected
Un miembro protegido solo es accesible de desde las clases que se
hereden de la clase que lo contiene.

private
Un miembro privado solo es accesible por los métodos de la clase a la
que pertenece.
8
Definición de una Clase

Ejm. Definir la clase “brazo mecánico” que tenga un atributo ,


angulo de elevación y dos métodos “subir angulo” y “bajarangulo”

class Brazo
{
int angulo; //Miembros privados
public:

void SubirAngulo(int angulo)


{
angulo++;
}
void bajarAngulo(char angulo)
{
angulo--;
}
}; 9
Definición de una Clase

Existe otra forma de definir la clase ¿puedes distinguir la diferencia?

class Brazo
{
int angulo; //Miembros privados
public:
void SubirAngulo(int angulo);
void bajarAngulo(char angulo);
};

void Brazo::SubirAngulo(int angulo)


{
angulo++;
}
void Brazo::bajarAngulo(char angulo)
{ 10

angulo--;
}
Constructores y destructores

En C++ los constructores se definen con el mismo nombre de la


clase y el destructor de igual manera pero antecediendo el símbolo
“~”. Completemos el anterior ejemplo con funciones contructor y
destructor

class Brazo
{
int angulo; //Miembros privados
public:
Brazo(int angulo);
~Brazo();

};

Brazo::Brazo(int valor)
{
angulo=valor;
11
}
Brazo:: ~Brazo(char angulo)
{
Ejercicio
Crear un programa en C++
que permita crear dos
robots (Del tipo mostrado
en la figura) y se los pueda
controlar por teclado las
articulaciones en grados de
uno en uno.

El programa debe mostrar


la variación de los grados
del robot en pantalla

12

Potrebbero piacerti anche