El siguiente desarrollo hace referencia a un ejemplo de como usar un metodo por otro metodo de la misma clase (usar un procedimiento por un procedimiento de la misma clase), utilizando lenguaje de programación c++. Como referencia se tiene la programación orientada a objetos en C++.
En cada clase creada se asignan procedimientos que actuan como funciones de la clase, el problema se presenta cuando los procedimientos(metodos) de una clase generan codigo repetitivo, o cuando algun procedimiento de la clase debe elegir entre dos procedimientos diferentes. Para eliminar código repetitivo se utilizan las funciones, que son equivalentes a procedimientos; la solución implica que un procedimiento de la clase utilize un procedimiento(o procedimientos dentro de la misma clase). La solución se lleva a cabo de la siguiente forma:
Las funciones o procedimientos utilizados por procedimientos de la clase equivale a procedimientos de tipo privado. El siguiente ejemplo muestra como declarar y utilizar procedimientos de tipo privado por procedimientos publicos:
//Archivo Edwin.h
//Clase con procedimiento publico para calcular el area y perimetro de un rectangulo
//el procedimiento publico es area, que calcula area y perimetro; el area la calcula
//dentro del procedimiento publico y para calcular el perimitro hace uso de un
//procedimiento privado de la clase
//Desde aca comienza la clase
#include <stdio.h>
class Edwin
{
public:
void area (int l, int a);
private:
int are, per;
void perimetro (int l, int a);// Esto es lo importante. Declarar la funcion como //privada
};
void Edwin::perimetro (int l, int a) // Se construye la funcion como un metodo de
// la clase
{
per=2*l+2*a;
}
void Edwin::area (int l, int a)
{perimetro(l, a); //Se invoca la funcion como se hace normalmente
are=l*a;
printf ("el perimetro es : %d\n", per);
printf ("el area es: %d\n", are);
}//Aca finaliza la clase//Archivo CEdwin.cpp
//Programa utilizado para probar la clase Edwin.h //Aca comienza el programa principal (.cpp)
#include <stdio.h>
#include "Edwin.h"
int main ()
{
int la, an, s;
Edwin Reyes;
printf("largo: \n");
scanf("%d",&la);
printf("ancho: \n");
scanf("%d",&an);
Reyes.area(la, an);
scanf("%d",&s); //se hace para no salir hasta presionar una tecla
return 0;
} //Aca finaliza el programa principal (.cpp)
Referencias:
http://jlmarina.net/metodos2/
No hay comentarios:
Publicar un comentario