Sie sind auf Seite 1von 21

CONCEPTOS

BSICOS
Programacin Orientada a Objetos
I.C. Wendy Yaneth Garca Martnez
Programacin Orientada a Objetos

La esencia de la POO es el modelado de abstracciones usando clases y objetos.


Una abstraccin denota las propiedades esenciales as como el comportamiento de
un objeto de tal manera que lo diferencie de otros objetos.
La parte difcil de esto es encontrar las abstracciones correctas.
En el sentido ms general, una abstraccin es una representacin concisa de una
idea o de un objeto complicado.
En un sentido ms especfico, la abstraccin localiza y oculta los detalles de un
modelo o diseo para generar y manipular objetos.
Caractersticas de la POO

Los programadores definen nuevas clases (o tipos) de objetos.


Los objetos poseen una serie de operaciones asociadas a ellos.
Las operaciones tienden a ser genricas, es decir, operan sobre mltiples tipos de
datos.
Las clases o tipos de objetos comparten componentes comunes mediante
mecanismos de herencia.
Objetos

Los objetos son en esencia componentes de software reutilizables que modelan


elementos del mundo real.

Un objeto no es ms que un conjunto de variables (o datos) y mtodos (o funciones)


relacionados entre s. (OJO: el termino funcin lo usaremos slo para tener un referente
mental al respecto).

Se usan para modelar objetos o entidades del mundo real.

Recordemos que: un objeto es la representacin en un programa de un concepto y


contiene toda la informacin necesaria para abstraerlo: datos que describen sus atributos
y operaciones que pueden realizarse sobre los mismos.

Cuando se define un objeto, se est creando implcitamente un nuevo tipo de datos.

Los atributos del objeto (estado) y lo que el objeto puede hacer (comportamiento) estn
expresados por las variables y los mtodos que componen al objeto respectivamente.
Objetos

Los objetos se crean y eliminan durante la ejecucin del programa, adems


interactan con otros objetos.
Un objeto particular se denomina instancia.
Para crear un objeto, es preciso definir primero su forma general utilizando la palabra
reservada class.
Una clase (class) es parecida a una estructura; es un tipo definido por el usuario
(TDU) que determina las estructuras de datos y las operaciones asociadas con este
tipo.
Para poder describir todos los objetos de un programa, se recomienda agruparlos en
clases.
Clase

Objetos de un mismo tipo.


Las plantillas para crear objetos son denominadas clases. En otras palabras, una clase es
una plantilla que define las variables y los mtodos que son comunes para todos los
objetos de un cierto tipo.
Despus de haber creado la clase X, se puede crear cualquier nmero de objetos X a
partir de la clase.
Una clase contiene toda la informacin necesaria para crear nuevos objetos.
Una clase es un tipo: un objeto es una instancia de ese tipo.
La clase es un concepto esttico: una clase es un elemento reconocible en el texto del
programa.
Un objeto es un concepto puramente dinmico, el cual pertenece, no al texto del
programa, sino a la memoria de la computadora, donde los objetos ocupan un espacio en
tiempo de ejecucin una vez que haya sido creado.
Clase

Nuevamente, una clase es una coleccin de objetos similares y un objeto es una


instancia de una definicin de una clase.
Una clase puede tener muchas instancias y cada una es un objeto independiente.
Una clase es simplemente, un modelo que se utiliza para describir uno o ms objetos
del mismo tipo.
Por ejemplo: Suponga que se tiene la clase ventana
Atributos: posx, posy, tipo_ventana, tipo_borde, color_ventana
Mtodos miembro: mover_horizontal, mover_vertical
Objeto: ser una ventana concreta (una instancia de la clase)
Por ejemplo: posx: x
posy: y
tipo_ventana: desplegable
tipo_borde: lnea doble
color_ventana: amarillo
EJERCICIO: CLASE PANTALN
Desarrolla la abstraccin para generar una instancia de pantaln. (15 minutos mximo)
CLASE EN C++

OJO: No perder de vista que slo estamos haciendo la


transicin de un paradigma a otro.
Clase en C++

Una clase es la evolucin natural de una estructura.


La existencia de clases es la caracterstica ms significativa que convierte a C++ en
un lenguaje orientado a objetos.
Las clases son estructuras que contienen no slo declaraciones de datos, sino
tambin declaraciones de funciones/mtodos.
Las funciones se conocen como mtodos miembro e indican qu tipo de cosas puede
hacer una clase.
La palabra reservada class introduce una declaracin de clase.
Declaracin de una clase en C++

class nombre_de_la_clase {
datos y mtodos privados
.
public:
datos y mtodos pblicos
..
}lista de objetos;

Una clase puede contener tanto partes pblicas como privadas, por defecto, todos los
elementos que se definen en la clase son privados; esto significa que no pueden acceder
a ellas ninguna funcin que no sea miembro de la clase.
Ejemplo clases en C++
class Counter{

long count; // variable privada, variable miembro de la clase

public:

void SetValue(long); //mtodos pblicos, mtodos miembro de la clase

long GetValue();

};

void Counter::SetValue(long value)

{ count = value; }

long Counter::GetValue()

{ return count; }

La variable long count no est disponible o no se usa por otros mtodos que no estn declarados en la clase, por lo que hacer
lo siguiente es un error:

void main()

{ count = 3.11; }
Clases en C++

Una clase puede tener tantas variables como necesite. Estas pueden ser de cualquier
tipo, incluyendo otras clases, apuntadores a objetos de clases e incluso apuntadores a
objetos dinmicamente asignados.
Clases en C++

Ya que se ha definido la clase, se debe definir un objeto con ella.


Las variables de una clase se definen de igual manera que como se definen las
variables TDU.
Ejemplo: si se quiere declarar un objeto Gente de tipo Counter, lo que se hace es:
class Counter{
....
}Gente;

O bien: Counter Gente;


La definicin de una variable de la clase se denomina instanciacin de la clase.
Una instanciacin es simplemente la instancia de la clase en forma de una variable
especfica.
Las variables instanciadas a partir de clases son objetos.
Ejemplo clases en C++

void main() {

Counter Gente; // declaracin de un objeto

Gente.SetValue(1000); // invocacin al mtodo miembro de Counter

long value = GetValue();//Invocacin al mtodo miembro de Counter }

La iniciacin se tiene que hacer a travs de su mtodo miembro, por lo que hacer
esto es un error:

void main() {

Counter Gente; // declaracin de un objeto

Gente = 1000; // error, la variable NO est disponible en la funcin main()

long value = GetValue();//Invocacin al mtodo miembro de Counter }


Clases en C++

El ejemplo anterior ilustra dos aspectos importantes:


La declaracin de un objeto dentro de un mtodo.
La invocacin de mtodos miembro de un objeto.

Cuando llegue el momento de codificar realmente un mtodo miembro de una clase,


es preciso decirle al compilar a qu clase pertenece el mtodo.
Por ejemplo: void Counter::SetValue(long value)
El :: se llama operador de resolucin de mbito.
Indica al compilador que el mtodo SetValue(long value) pertenece a la clase Counter.
O dicho de otra manera, SetValue(long value) est dentro del mbito de Counter.
Clases en C++

Para llamar a un mtodo miembro desde una parte del programa que NO sea parte de
la clase, se debe utilizar el nombre del objeto y el operador punto.
Ejemplo:
Cola a, b; // se crean dos objetos tipo Cola
a.iniciar(); // llama al mtodo iniciar para el objeto a
PREGUNTAS?
I.C. Wendy Yaneth Garca Martnez

Das könnte Ihnen auch gefallen