Sie sind auf Seite 1von 15

8.

Clases y objetos:
Un anlisis ms detallado

Ramiro Estigarribia Canese

Qu es una Clase?
La programacin orientada a objetos se basa en
las clases.
Una clase es un molde del que luego se pueden
crear mltiples objetos, con similares
caractersticas.
Una clase es una plantilla (molde), que define
atributos (variables) y mtodos (funciones).
La clase define los atributos y mtodos comunes a
los objetos de ese tipo, pero luego, cada objeto
tendr sus propios valores.

Estructura de una Clase


Debemos 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]
[mtodos o funciones de la clase]
[main]
}

Bajar Cdigo Aqu

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");
else
System.out.print(nombre+" es menor"); }
public static void main(String[] ar) {
Persona persona1;
persona1=new Persona();
persona1.inicializar();
persona1.imprimir();
persona1.esMayorEdad(); } }

//Carga los lados de un tringulo.


//Identifica el lado Mayor.
//Identifica si es Equiltero.
Clase Tringulo
Equiltero.
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 equiltero");
else
System.out.print("No es equiltero"); }
public static void main(String []ar) {
Triangulo triangulo1=new Triangulo();
triangulo1.inicializar();
triangulo1.ladoMayor();
triangulo1.esEquilatero(); } }
2.Clase Tringulo.
Bajar Cdigo: http://pastebin.com/9eNf8itb

Qu es un Constructor?
Es un un mtodo que se ejecuta al inicio de forma
automtica, y que sirve para inicializar un objeto.
Caractersticas:
1. Tiene el mismo nombre de la clase.
2. No puede retornar datos.
3. Se ejecuta una nica vez.
Ejemplo:
public MismoNombreQueLaClase (tipo parmetro1, ...tipo parmetro n)
{
campo1 = valor o parmetro;
.
campo n = valor o parmetro;
}

Clase String
Permite trabajar con texto.
Principales Mtodos:
boolean equals(String s1): Retorna true si son iguales.
boolean equalsIgnoreCase(String s1): Igual a equal, y
no tiene en cuenta maysculas y minsculas.
int length(): Retorna la cantidad de caracteres.
String toUpperCase(): Retorna un String con el contenido
convertido todo a maysculas.
String toLowerCase(): Convierte a minsculas.
String substring(int posicin1,int posicin2): Retorna un
String, desde la posicin 1 a la 2.
Mas informcin:
http://docs.oracle.com/javase/7/docs/api/java/lang/String.html

3. Clase String
/*Se ingresa un texto, y luego se obtiene el tamao, en
maysculas/minsculas, 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 maysculas es
"+texto.toUpperCase());
System.out.println(texto+ " en minsculas es "+texto.toLowerCase());
System.out.println("Las primeras 3 letras son "+texto.substring(0,3));

4.Comparar 2 textos.
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 alfabticamente");
else System.out.println(texto2+ " es mayor alfabticamente");
}}

Clase String
Buscar Texto
int indexOf(String s1)
Retorna -1 si el String que le pasamos como parmetro
no est contenida en la cadena del objeto que llama al
mtodo.
En caso que se encuentre contenido el String s1
retorna la posicin 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);
}
}

Clase String
Buscar Texto
package palabras;
import java.util.Scanner;
public class Palabras{
Bajar Cdigo Aqu
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 posicin "+texto1.indexOf(texto2));
}}

Colaboracin de clases
Normalmente un problema resuelto con la metodologa
de programacin orientada a objetos no interviene una
sola clase, sino que hay muchas clases que interactan
y se comunican.

Plantearemos un problema separando las actividades en


dos clases.
Ejemplo:
Un banco tiene 3 clientes que pueden hacer
depsitos y extracciones.
El banco requiere al final saber el total de dinero.

5. Clase Cliente y Banco.


Atributos y Mtodos.
Cliente
atributos
nombre
monto
mtodos
constructor
depositar
extraer
retornarMonto

Banco
atributos
3 Clientes
1 Scanner
mtodos
constructor
operar
depositosTotales

Pasos para ejecutar el ejemplo:


1. Crear un Proyecto: Banco, copiar el primer cdigo.
2. Hacer click en NewFile, elegir Java, y nombre:Cliente: Aqu copiar el 2do. cdigo.

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(); }
http://pastebin.com/M7Ttx4SN
public static void main(String[] ar) {
Banco banco1=new Banco();
banco1.operar();
banco1.depositosTotales(); } }

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

Das könnte Ihnen auch gefallen