8.clases y objetos java

15
8.Clases y objetos: Un análisis más detallado Ramiro Estigarribia Canese

Upload: ramiro-estigarribia-canese

Post on 19-Jul-2015

173 views

Category:

Technology


7 download

TRANSCRIPT

Page 1: 8.Clases y objetos Java

8.Clases y objetos:Un análisis más detallado

Ramiro Estigarribia Canese

Page 2: 8.Clases y objetos Java

¿Qué es una Clase?➔ La programación orientada a objetos se basa en las

clases.➔ Una clase es un molde del que luego se pueden

crear múltiples objetos, con similares características.

➔ Una clase es una plantilla (molde), que define atributos (variables) y métodos (funciones).

➔ La clase define los atributos y métodos comunes a los objetos de ese tipo, pero luego, cada objeto tendrá sus propios valores.

Page 3: 8.Clases y objetos Java

Estructura de una ClaseDebemos crear una clase antes de poder crear objetos (instancias) de esa clase. Al crear un objeto de una clase, se dice que se crea una instancia de la clase o un objeto.

La estructura de una clase es:class [nombre de la clase] { [atributos o variables de la clase] [métodos o funciones de la clase] [main]}

Page 4: 8.Clases y objetos Java

1.Clase Persona.//Carga los datos de una persona.//Identifica si es mayor de edad.package persona;import java.util.Scanner;public class Persona {private Scanner entrada;private String nombre;private int edad;public void inicializar() {entrada=new Scanner(System.in);System.out.print("Ingrese nombre:");nombre=entrada.next();System.out.print("Ingrese edad:");edad=entrada.nextInt(); }

public void imprimir() {System.out.println("Nombre:"+nombre);System.out.println("Edad:"+edad); }

public void esMayorEdad() {if (edad>=18) System.out.print(nombre+" es mayor");elseSystem.out.print(nombre+" es menor"); }

public static void main(String[] ar) {Persona persona1;persona1=new Persona();persona1.inicializar();persona1.imprimir();persona1.esMayorEdad(); } }

Bajar Código Aquí

Page 5: 8.Clases y objetos Java

Clase Triángulo Equilátero.

//Carga los lados de un triángulo.//Identifica el lado Mayor.//Identifica si es Equilátero.package triangulo;import java.util.Scanner;public class Triangulo {private Scanner entrada;private int lado1,lado2,lado3;

public void inicializar() {entrada=new Scanner(System.in);System.out.print("Medida lado 1:");lado1=entrada.nextInt();System.out.print("Medida lado 2:");lado2=entrada.nextInt();System.out.print("Medida lado 3:");lado3=entrada.nextInt(); }

public void ladoMayor() {System.out.print("Lado mayor:");if (lado1>lado2 && lado1>lado3)System.out.println(lado1);else if (lado2>lado3)System.out.println(lado2);else System.out.println(lado3); }

public void esEquilatero() {if (lado1==lado2 && lado1==lado3) System.out.print("Es un equilátero");else System.out.print("No es equilátero"); }

public static void main(String []ar) {Triangulo triangulo1=new Triangulo();triangulo1.inicializar();triangulo1.ladoMayor();triangulo1.esEquilatero(); } }

2.Clase Triángulo. Bajar Código: http://pastebin.com/9eNf8itb

Page 6: 8.Clases y objetos Java

¿Qué es un Constructor?Es un un método que se ejecuta al inicio de forma automática, y que sirve para inicializar un objeto.Características:1. Tiene el mismo nombre de la clase.2. No puede retornar datos.3. Se ejecuta una única vez.Ejemplo:public MismoNombreQueLaClase (tipo parámetro1, ...tipo parámetro n) { campo1 = valor o parámetro; . campo n = valor o parámetro;}

Page 7: 8.Clases y objetos Java

Clase StringPermite trabajar con texto.

Principales Métodos:➔ boolean equals(String s1): Retorna true si son iguales.➔ boolean equalsIgnoreCase(String s1): Igual a equal, y no

tiene en cuenta mayúsculas y minúsculas.➔ int length(): Retorna la cantidad de caracteres.➔ String toUpperCase(): Retorna un String con el contenido

convertido todo a mayúsculas.➔ String toLowerCase(): Convierte a minúsculas.➔ String substring(int posición1,int posición2): Retorna unString, desde la posición 1 a la 2.

Mas információn:http://docs.oracle.com/javase/7/docs/api/java/lang/String.html

Page 8: 8.Clases y objetos Java

3. Clase String /*Se ingresa un texto, y luego se obtiene el tamaño, en mayúsculas/minúsculas, finalmente las primeras 3 letras. */ package palabras;import java.util.Scanner;public class Palabras{public static void main(String[] a) {Scanner entrada=new Scanner(System.in);String texto;System.out.print("Ingrese 1 texto:");texto=entrada.nextLine();System.out.println("El largo de texto1 es "+texto.length());System.out.println(texto+ " en mayúsculas es "+texto.toUpperCase());System.out.println(texto+ " en minúsculas es "+texto.toLowerCase());System.out.println("Las primeras 3 letras son "+texto.substring(0,3)); } }

Page 9: 8.Clases y objetos Java

package comparar;import java.util.Scanner;public class Comparar{public static void main(String[] args) {Scanner entrada=new Scanner(System.in);String texto1, texto2;System.out.println("Ingrese 2 variables String:");texto1=entrada.nextLine();texto2=entrada.nextLine();if (texto1.equals(texto2)==true) System.out.println(texto1+" es igual a "+texto2);else System.out.println(texto1+" no es igual a "+texto2); if (texto1.compareTo(texto2)>0) System.out.println(texto1+ " es mayor alfabéticamente");else System.out.println(texto2+ " es mayor alfabéticamente"); } }

4.Comparar 2 textos.

Page 10: 8.Clases y objetos Java

Clase StringBuscar Texto➔ int indexOf(String s1)

Retorna -1 si el String que le pasamos como parámetro no está contenida en la cadena del objeto que llama al método. En caso que se encuentre contenido el String s1 retorna la posición donde comienza a repetirse.

Ejemplo:public class Ejemplo { public static void main(String[] args){ String cadena = "Codigo Fuente en Java"; int posicion = cadena.indexOf("Java"); System.out.println(posicion); }}

Page 11: 8.Clases y objetos Java

Clase StringBuscar Texto

package palabras;import java.util.Scanner;public class Palabras{public static void main(String[] args) {Scanner entrada=new Scanner(System.in);String texto1, texto2;System.out.println("Ingrese 2 variables String:");texto1=entrada.nextLine();texto2=entrada.nextLine(); if (texto1.indexOf(texto2)==-1) System.out.println("No encontrado"); else System.out.println("Encontrado en la posición "+texto1.indexOf(texto2)); } }

Bajar Código Aquí

Page 12: 8.Clases y objetos Java

Colaboración de clasesNormalmente un problema resuelto con la metodología de programación orientada a objetos no interviene una sola clase, sino que hay muchas clases que interactúan y se comunican.

Plantearemos un problema separando las actividades en dos clases.Ejemplo:➔ Un banco tiene 3 clientes que pueden hacer

depósitos y extracciones. ➔ El banco requiere al final saber el total de dinero.

Page 13: 8.Clases y objetos Java

5. Clase Cliente y Banco. Atributos y Métodos.

Cliente atributos nombre monto métodos constructor depositar extraer retornarMonto

Banco atributos 3 Clientes 1 Scanner métodos constructor operar depositosTotales

Pasos para ejecutar el ejemplo:1. Crear un Proyecto: Banco, copiar el primer código.2. Hacer click en NewFile, elegir Java, y nombre:Cliente: Aquí copiar el 2do. código.

Page 14: 8.Clases y objetos Java

package banco;public class Banco {private Cliente cliente1,cliente2,cliente3;public Banco() { cliente1=new Cliente("Juan"); cliente2=new Cliente("Ana"); cliente3=new Cliente("Pedro"); }public void operar() { cliente1.depositar (100); cliente2.depositar (150); cliente3.depositar (200); cliente3.extraer (150); }public void depositosTotales () { int dinero=cliente1.retornar()+cliente2.retornar()+cliente3.retornar(); System.out.println ("El dinero en el banco es:"+dinero); cliente1.imprimir(); cliente2.imprimir(); cliente3.imprimir(); }public static void main(String[] ar) { Banco banco1=new Banco(); banco1.operar(); banco1.depositosTotales(); } }

http://pastebin.com/M7Ttx4SN

Page 15: 8.Clases y objetos Java

package banco;public class Cliente { private String nombre; private int monto; public Cliente(String nom) { nombre=nom; monto=0; } public void depositar(int m) { monto=monto+m; } public void extraer(int m) { monto=monto-m; } public int retornar() { return monto; } public void imprimir() { System.out.println(nombre+" tiene depositado "+monto); } }

http://pastebin.com/HVN4Bdn4