Sdf

Enviado por Programa Chuletas y clasificado en Otras materias

Escrito el en español con un tamaño de 3,83 KB

En la programación imperativa o procedural programamos pensando primero en qué estructura de datos vamos a usar:
- Variables, Arreglos, Estructuras, Listas, etc.
- Pensamos en términos de objetos, definir sus propiedades y sus métodos

Y luego pensamos en el algoritmo que va a manipular estas estructuras.

Leer 3 notas por alumno para n alumnos y calcular el promedio de c/u y el promedio del curso.

Ejemplo de POO en lenguaje C++.

class alumno{
private:
char nombre[30];
float nota1, nota2, nota3, prom;
public:
alumno (char *nom, float n1, float n2, float n3){
strcpy(nombre, nom); nota1=n1; nota2=n2; nota3=n3;
prom = (nota1+nota2+nota3)/3; }
~alumno() { printf(“Destruyendo alumno…”;}
float getprom(){return prom};
}

main(){
char nom[30];
float n1, n2, n3, suma=0, promal, promcur;
int n;
scanf(“%d”, &n);
for ( i=1; i <= n; i++){
scanf(“%s %f %f %f”, nombre, &n1, &n2, &n3);
alum = new alumno(nom, n1, n2, n3);
promal = alum.getprom();
printf(“El promedio del alumno %s es: %f”, nom, promal);
suma += proal;
delete alum;
}
promcur = suma/n;
printf(“El promedio del curso es: %f”, promcur);
}


Al principio parecera que escribimos mas codigo, pero:
• La gracia es que las clases se almacenan en archivos separados formando paquetes (biblioteca), los que posteriormente pueden ser reutilizados.
• Por lo tanto el trabajo grande se realiza sólo cuando creamos las clases por primera vez.
• Una clase define las propiedades y los métodos de una entidad en particular.

Alumno <-
Nombre de la clase

nombre char[30]
nota1 float
nota2 float <-
Propiedades
nota3 float
prom float

alumno (char *nom, float n1, float n2, float n3)
~alumno() <-
Mé todos
float getprom()

• Un objeto es una “instancia” de una clase.
• Tiene valores concretos en las propiedades.

Alumno: Juan Pérez
nombre : Juan
nota1 : 5.0
nota2 : 6.4
nota3 : 6.2
prom : 5.9

Ventajas de la POO : Las clases son reutilizables, por lo que se recomienda su uso en proyectos grandes, donde se comparten las clases entre programadores.
• Es menor el tiempo de codificación, si algo ya fue codificado para qué lo voy a crear de nuevo, lo reutilizo.
• Los datos se encapsulan dentro de la clase por lo que quedan protegidos de uso inadecuado. Se manejan tres privilegios de acceso: private, protected, public.

•Conceptos asociados a la POO : Clases, Objetos, Propiedades, Metodos, Encapsulamiento, Poliformismo, Herencia

Entradas relacionadas: