Anda di halaman 1dari 5

08/05/2014

 Altérmino de la presentación, se estará


familiarizado con la programación orientada
a objetos identificando el concepto de clase
y objeto, así como las variables y funciones
miembros.
Raquel Malca
Clase 10

 Antecedentes:

 Introducción a POO.  Programa estructurada.

 Clases
y objeto. Variable miembro y
funciones Miembros.

 Ejemplos
 Mundo real.

Diferentes Acciones que  Conceptos de clase y objeto.


tipos de actúen sobre Tiene características o
datos. los datos. atributos.

P
Color
O Años de fabricación
Placa
O
Variables Funciones

Frenar. Realiza acciones.


Muchos datos modificados por muchas funciones Acelerar.
Estacionar.

1
08/05/2014

 Declarar una clase.  Recordamos la diferencia entre Clase y


E objeto.
Variables Miembros.
N
C Clase: Idea abstracta.
A
P Objeto: concreto.
S
U
Funciones Miembros. L
A Vamos a definir una clase!

 Declarar una clase.  Declarar una clase.


Class Nombre class Perro
{ {
//lista de sus variables miembros Unsigned int pedad;//lista de sus variables
//lista de sus funciones miembros miembros
Unsigned int ppeso;//lista de sus variables
}; miembros
Void ladrar(); //lista de sus funciones
miembros
};

Perro, PERRO, (.)


perro ?

 Acceso a los miembros de una clase:


 Definir un objeto (Instancia a una clase).
 Cotito.ppeso = 18;
Perro Cotito
 Cotito.ladrar();
// definimos un objeto llamado Cotito que
pertenece a la clase Perro.
Siempre se asignan valores a los
objetos NUNCA a las clases.
Vamos a acceder a los miembros de
una clase!

2
08/05/2014

 Correcto o incorrecto: Recuerde:


Perro.pedad = 10; //incorrecto
 No confundir Declaración con una
Cotito.relinchar(); //incorrecto definición.

Perro Cotito; //correcto  No confundir una clase con un objeto.

Cotito.pedad = 10; //correcto  No asignar valores a una clase.

Private

 Public / Private  Corrección:


class Perro class Perro
{ { public:
Unsigned int pedad; Unsigned int pedad;
Unsigned int ppeso; Unsigned int ppeso;
Void ladrar(); Void ladrar();
}; };
Int main() Int main()
{ {
Perro scott; Perro scott;
scott.pedad = 6; //incorrecto scott.pedad = 6; //correcto

 Referencias:

 http://c.conclase.net/?id=vercodigo.
Herencia.
 Resolucion de Problemas con C++ Prentice
Hall. Walter Savitch.
 Curso C++ Kast Out
 https://www.youtube.com/watch?v=g-
98Qjrpm5E. Encapculamiento.

3
08/05/2014

 Encapsulamiento.
Autosuficiente,
independientes.

 Herencia.
Crearse a partir de otro.

 Polimorfismo.
Distintas clases ejecutan
métodos de diferentes
formas

Las clases permiten que el programador cree


1. Clases objetos que tiene atributos ( representadas como
miembros de datos o datos miembros) y defina
2. Funciones con prefijo set y get operaciones para ellos (representadas como
3. Funciones amigas funciones miembro). En C++ los objetos contienen
4. Sobrecarga de operadores datos miembros y funciones miembros que son
definidos con la palabra reservada class. Una vez
que se haya definido una clase; el nombre de la
clase puede ser utilizado para declarar objetos de
dicha clase.

Una función miembro con el mismo nombre que la


clase se le llama función constructora de dicha
En general los miembros de datos aparecen clase. Un constructor es una función especial que
listados en la sección private, de una clase y inicializa los datos de un objeto de la clase.
normalmente las funciones miembro aparecen Cuando se crea un objeto de una clase se llama a
listados en la sección public. la función constructora de dicha clase.
Para un mejor entendimiento analizaremos un
ejemplo simple que define la clase circulo.
En el ejemplo anterior; la función miembro inicio
de la clase circulo puede definirse de la siguiente
Ejemplo 1: Una clase circulo manera:
Clase-circulo class circulo{
public;
circulo() {};
circulo(float a) {radio = a; }
}

4
08/05/2014

Ahora, si existen constructores podemos afirmar Para poder definir las funciones miembro fuera de
que también existen destructores los cuales la clase se utiliza el especificador de acceso a
tienen la misión de liberar el espacio utilizado en miembro, llamado también operador de
la memoria. Para el ejemplo un destructor sería de resolución o ámbito ::
la siguiente manera :
~circulo() {}; Para nuestro ejemplo se tendrá:
Continuando, imaginemos que nuestro clase es Declaración del constructor dentro de la clase.
demasiada compleja o pesada; entonces la manera
de declarar y definir las funciones miembro
dentro del bloque public seria muy engorrosa y no class circulo{
llevaríamos un adecuado orden y control dentro public;
del programa. Una buena alternativa es declararlas circulo() {};
dentro de la clase, pero definirlas fuera de ella. circulo(float a);
}

Y respecto a las funciones miembro se tiene :


// declaración dentro de la clase; De allí, que el programa se convertiría así:
double area();
double perimetro();
Clase-circulo-II
//definición fuera de la clase;
circulo :: circulo(float a)
{ radio = a; }
double circulo :: area()
{ return PI*radio*radio; }
double circulo :: perimetro()
{ return 2*PI*radio; }

De esta forma podemos llevar un mejor orden y


control sobre lo que estamos desarrollando

Las funciones con prefijo set permiten establecer


o ingresar datos a un objeto.
 Referencias:
Las funciones con prefijo get permiten devolver,
recuperar o imprimir un dato o datos de un objeto.
Lo explicaremos mejor con un ejemplo.  Mg. Edgar Ruiz Lizama.

Hallar el área y el perímetro de 3 rectángulos


diferentes.
Solución:
Aplicaremos los pasos que seguimos
anteriormente: definición de librerías
Clase-rectangulo

Anda mungkin juga menyukai