15

manual de programación

Embed Size (px)

DESCRIPTION

manual de programación orientada a objetos, como programar, ejemplos de programación orientada a objetos

Citation preview

Page 1: manual de programación
Page 2: manual de programación

CONTENIDO

Introducción ……………………………………………………………………………………………………………. 1

Java ……………………………………………………………………………………………………………………... 2

Programación orientada a objetos o POO ………………………………………………………………………….. 3

Permisos y declaración de clases, propiedades o métodos.……………………………………………………… 4

Bucles y tomas de decisión…………………………………………………………………………………………… 5

Clases en java …………………………………………………………………………………………………………. 6

Ejemplo de encapsulamiento…………………………………………………………………………………………. 7

Declaración de clases, atributos, métodos y encapsulamiento…………………………………………………… 8

Ejemplo de un programa con métodos y con pantallas.…………………………………………………………… 9

Métodos con paso de parámetros……………………………………………………………………………………. 10

Constructor……………………………………………………………………………………………………………… 11

Herencia…………………………………………………………………………………………………………………. 12

Page 3: manual de programación

Introducción

La analogía de éste manual es simple: piensa en un programador de java co-mo un escritor que escribe una novela de acción. Todos los personajes y esce-narios son los usuales, y necesitan ser modificados un poco para que se aco-moden a un nuevo libro. Todo lo que falta para escribir un bestseller es crear una trama que junte todos los elementos. Este manual habla sobre los temas básicos de Programación Orientada a Objetos o POO

1

Page 4: manual de programación

Java Es un lenguaje de programación creado para satisfacer una necesidad de la época (así aparecen todos los lenguajes) planteada por nuevos requerimientos hacia los lenguajes existentes.

2

Page 5: manual de programación

Programación orientada a objetos o POO

Permite fabricar programas de forma más parecida al pensamiento humano. de hecho simplifica el problema dividiéndolo en obje-tos y permitiendo centrarse en cada objeto, para de esa forma eliminar la complejidad. Cada objeto se programa de forma autóno-ma y esa es la principal virtud. Es un paradigma de programación que considera todo lo dl mundo real un objeto en el cual tiene una serie de características (atributos) y comportamientos (métodos ). Esta basado en varias técnicas incluyendo herencia, abstracción, polimorfismos, sobrecarga y encapsulamiento. Su uso se popula-rizo a principios de la década de los años 1990. en la actualidad, existe variedad de lenguajes de programación que soportan la orientación a objetos, entre los mas comunes C++ y Java. Nombres de Variables Los nombres de variables en Java se pueden crear con mucha libertad. Pueden ser cualquier conjunto de caracteres numéricos y alfanuméricos, sin algunos caracteres especiales utilizados por Java como operadores o separadores ( ,.+-*/ etc.). Existe una serie de palabras reservadas las cuales tienen un significado especial para Java y por lo tanto no se pueden utilizar como nombres de variables. Dichas palabras son:

(*) son palabras reservadas, pero no se utilizan en la actual implementación del lenguaje Java.

3

Page 6: manual de programación

Permisos y declaración de clases, propiedades o métodos. Definen los permisos a un método o clase de objetos, haciendo visible u oculto un método propiedad o clase a otras clases de objetos u otros objetos que quieran accederlas.

4

Page 7: manual de programación

Bucles y tomas de decisión Se utilizan para el control de bucles y tomas de decisión en un programa, se utilizan paréntesis () para encerrar las condiciones, y llaves {} para los bloques de datos

5

Page 8: manual de programación

Clases en java

Las clases son el centro de la Programación Orientada a Objetos (OOP - Object Oriented Programming). Algunos de los conceptos más importantes de la POO son los siguientes: 1. Encapsulación. Las clases pueden ser declaradas como públicas (public) y como package (accesibles sólo para otras clases del package). Las variables miembro y los métodos pueden ser public, private, protected y package. De esta forma se puede controlar el acceso y evitar un uso inadecuado. 2. Herencia. Una clase puede derivar de otra (extends), y en ese caso hereda todas sus variables y métodos. Una clase derivada puede añadir nuevas variables y métodos y/o redefinir las variables y métodos heredados. 3. Polimorfismo. Los objetos de distintas clases pertenecientes a una misma jerarquía o que implementan una misma interface pueden tratarse de una forma general e individualizada, al mismo tiempo. Esto, como se ha visto en el ejemplo del Capítulo 1, facilita la

programación y el mantenimiento del código.

Métodos de objeto

Los métodos son funciones definidas dentro de una clase. Salvo los métodos static o de clase, se aplican siempre a un objeto de la clase por medio del operador punto (.). Dicho objeto es su argumento implícito. Los métodos pueden ade-más tener otros argumentos explícitos que van entre paréntesis, a continuación del nombre del método.

6

Page 9: manual de programación

7

Ejemplo de encapsulamiento

Page 10: manual de programación

Realizar encapsulamiento y desarrollo del código en java para

la suma de 2 números enteros

//PROGRAMA SUMA DE 2 NUMEROS ENTEROS

//declaración de variables y metodos

import java.util.Scanner; // librería que te permite introducir datos o valores

public class CLASESUMAR // nombre de la clase

{

private int SUM, A,B; //variables de tipo privado y

enteros

public void LEER() // se declara el metodo de

tipo publico

,

Scanner entrada=new Scanner (System.in); //permite la entrada de datos

y almacenarlos en las variables

System.out.print("Dame numero 1:"); //mensaje a pantalla

A=entrada.nextInt();

//se almacena el valor que

introduces de tipo entero

System.out.print("Dame numero 2:");

B=entrada.nextInt();

-

public void SUMAR() //metodo para realizar la

operacion

,

SUM=A+B; //se realiza la operacion y se

almacena en la variable SUM de tipo entero

}

public void IMPRIMIR() //metodo para imprimir el

resultado

,

System.out.printf("la suma es: %d",SUM); //imprime en pantalla el

resultado de la suma

-

-

//PROGRAMA PRINCIPAL //programa principal declaracion del objeto public class CLASESUMAR2 //nombre de la clase { public static void main(String arg*+) //el metodo main empieza la ejecucion del programa { CLASESUMAR OBJETO=new CLASESUMAR(); //crea el objeto CLASESUMAR y lo asigna a OBJETO OBJETO.LEER(); //llama al metodo LEER OBJETO.SUMAR(); //llama al método SUMAR OBJETO.IMPRIMIR(); //llama al método IMPRIMIR - -

Declaración de clases, atributos, métodos y encapsulamiento

8

Page 11: manual de programación

Ejemplo de un programa con métodos y con pantallas. Promedio de un alumno con 4 calificaciones

//PROGRAMA PROMEDIO DE UN ALUMNO //nombre del programa //DECLARACION DE CLASE Y METODOS import javax.swing.JOptionPane; //librería que te permite crear pantallas public class CLASEPromedio1 //declara la clase de acceso publico , private double calificacion1, calificacion2, calificacion3, calificacion4, promedio; //declaras variables public void LEER() //declara el metodo LEER { String a=JOptionPane.showInputDialog("dame calificacion 1:"); //Mensaje a pantalla se alma-cena en cadena calificacion1=Double.parseDouble(a); //el valor encadenado se con-vierte en Double o decimal String b=JOptionPane.showInputDialog("dame calificacion 2:"); calificacion2=Double.parseDouble(b); String c=JOptionPane.showInputDialog("dame calificacion 3:"); calificacion3=Double.parseDouble(c); String d=JOptionPane.showInputDialog("dame calificacion 4:"); calificacion4=Double.parseDouble(d); } public void PROMEDIO() //declara el metodo PROMEDIO , promedio=(calificacion1+calificacion2+calificacion3+calificacion4)/4; //operación del promedio - public void IMPRIMIR() //declara el método IMPRIMIR , JOptionPane.showMessageDialog(null,"calificacion 1="+calificacion1+"\n"+"calificacion 2=" +calificacion2+"\n"+"calificacion 3="+calificacion3+"\n"+"calificacion 4="+calificacion4+"\n" +"Tu promedio es:"+promedio+"\n"); //imprime en pantalla el prome-dio - -

//PROMEDIO DE UN ALUMNO //PROGRAMA PRINCIPAL DECLARACION DEL OBJETO import javax.swing.JOptionPane; //libreria que te permite crear pantallas public class CLASEPromedio2 //declaras la clase { public static void main(String arg*+) // el metodo main em-pieza la ejecucion del programa , CLASEPromedio1 objeto=new CLASEPromedio1(); //declaras el objeto CLASEPromedio y lo asigna a objeto objeto.LEER(); // llama al método LEER objeto.PROMEDIO(); //llama al método PROMEDIO objeto.IMPRIMIR(); //llama al método IMPRIMIR - -

Asi funciona la CLASEPromedio1

9

Page 12: manual de programación

Parámetro: un método puede requerir uno o más parámetros que representan la información adicional que necesita para realizar su tarea. Ejemplo: Generar las tablas del 1 al 10 según lo indique el usuario usando parámetros.

//PROGRAMA TABLA DE MULTIPLICAR //PROGRAMA PRINCIPAL import java.util.Scanner; public class CLASETable2 { public static void main(String arg[]) { int A; Scanner entrada=new Scanner(System.in); int OPC=1; CLASETable TABLA=new CLASETable(); while(OPC==1) { System.out.print("dame numero de tabla:"); A=entrada.nextInt(); TABLA.TABLA_MULTIPLICAR(A); System.out.print("desea realizar otra tabla de multiplicar Si =1 ó No= 2 \n" ); OPC=entrada.nextInt(); } } } //PROGRAMA TABLA DE MULTIPLICAR

//declaracion clase metodos public class CLASETable { private int M; public void TABLA_MULTIPLICAR(int N) { for(int i=1; i<=10; i++) { M=N*i; System.out.printf("%d x %d = %d \n",N,i,M); } } }

10

Métodos con paso de parámetros

Page 13: manual de programación

Ejemplo :determinar el sueldo Neto de N trabajadores si se tiene un

pago por hora y sus sueldo es quincenal ideas determinar el total de nomina. Con constructor.

//PROGRAMA SUELDO NETO DE N TRABAJADORES import java.util.Scanner; public class CLASESueldototal { private double SN,PH,ACUMNOM; public void CLASESueldo() { ACUMNOM= 0; } public void CALCULA_SUELDO(int N) { Scanner entrada=new Scanner (System.in); for(int i=1; i<=N; i++) { System.out.printf("\ntrabajador %d\n",i); System.out.print("intruduce tu pago por hora:\t"); PH=entrada.nextInt(); SN=(double)(PH*8)*15; System.out.printf("EL sueldo neto es:\t%f\n",SN); ACUMNOM=ACUMNOM+SN; } System.out.printf("\nEl Total de nomina es:\t%f",ACUMNOM); } }

//PROGRAMA SUELDO TOTAL import java.util.Scanner; public class CLASESueldototal1 { public static void main(String arg[]) { Scanner entrada=new Scanner(System.in); CLASESueldototal Objeto=new CLASESueldototal(); int N; System.out.print("Dame el numero de trabajadores:"); N=entrada.nextInt(); Objeto.CALCULA_SUELDO(N); } }

11

Constructor

Page 14: manual de programación

//PROGRAMA SUELDO DE N TRABAJADORES //superclase import javax.swing.JOptionPane; public class sueldo { protected int N; protected String A=""; protected String a[][]=new String[100][4]; public sueldo() { N=N; A=A; String a[][]=new String[100][3]; } public void NUMERO_TRABAJADORES() { String x=JOptionPane.showInputDialog("dame el numero de trabajadores:"); N=Integer.parseInt(x); for(int i=0; i<=N-1; i++) { a[i][0]=JOptionPane.showInputDialog("trabajador "+(i+1)+" introduce tu nombre:"); a[i][1]=JOptionPane.showInputDialog("introduce tu pago por hora:"); a[i][2]=Integer.toString((Integer.parseInt(a[i][1]))*8*15); for(int j=0; j<=3;j++) { } } } }

//SUELDO DE N TRABAJADORES //SUBCLASE import javax.swing.JOptionPane; public class trabajadores extends sueldo { public void CONDICION() { for(int i=0;i<=N-1;i++) { if(Integer.parseInt(a[i][2])>=3000) { a[i][3]=Double.toString(.05*Integer.parseInt(a[i][2])); } else { a[i][3]="no hay aumento"; } for(int j=0; j<=3;j++) { A=A+a[i][j]+" "; } A=A+"\n"; } A="si tu sueldo es mayor de 3000 hay aumento del 5%"+"\n"+"NOMBRE"+" "+"PAGO"+" "+"SUELDO"+" "+"AUMENTO"+"\n"+A; JOptionPane.showMessageDialog(null,A); } } //PROGRAMA SUELDO DE N TRABAJADORES //DECLARACION DE OBJETO import javax.swing.JOptionPane; public class SUELDOTOTAL { public static void main(String arg[]) { trabajadores herencia= new trabajadores(); herencia.NUMERO_TRABAJADORES(); herencia.CONDICION(); } }

12

Herencia

Page 15: manual de programación