//Archivo Personaje.java
package com.carmeth.core.polimorfismo;
//Las clases abstractas no se pueden instanciar, al menos uno de sus metodos debe ser abstracto
public abstract class Personaje{
//Metodos abstractos
public abstract void pelear();
public abstract void saltar();
public abstract void pegar();
//Método concretos
public void gameOver(){
System.out.println("Juego terminado...");
}
}
//Archivo Ryu.java
package com.carmeth.core.polimorfismo;
public class Ryu extends Personaje{
public void pelear(){
System.out.println("Lanzar bola de poder");
}
public void saltar(){
System.out.println("Giro mortal");
}
public void pegar(){
System.out.println("Pega con golpe doble");
}
}
//Archivo Santo.java
package com.carmeth.core.polimorfismo;
public class Santo extends Personaje{
public void pelear(){
System.out.println("Ataca con quebradora");
}
public void saltar(){
System.out.println("Salta desde la tercera cuerda");
}
public void pegar(){
System.out.println("Pega con tope");
}
}
//Archivo Peleador.java
package com.carmeth.core.polimorfismo;
public abstract class Peleador extends Personaje{
public void pelear(){
//
}
public void pegar(){
//
}
//se puede omitir la declaracion de los metodos abstractos
}
Java Espalda con Espalda
miércoles, 8 de junio de 2011
Java Semana 4 Dia 15 Ejemplo de código 1 (Polimorfismo; Persona.java, Bombero.java, Cientifico.java, Policia.java, TestPersona.java)
//Archivo Persona.java
package com.carmeth.core.polimorfismo;
public class Persona{
private String name;
private long id;
private String mail;
public void correr(){
System.out.println("La persona ha comenzado a correr");
}
public void setName(String s){
name=s;
}
public void setId(long i){
id=i;
}
public void setMail(String m){
mail=m;
}
public String getName(){
return name;
}
public long getId(){
return id;
}
public String getMail(){
return mail;
}
}
//Archivo Bombero.java
package com.carmeth.core.polimorfismo;
public class Bombero extends Persona{
private double sueldo;
public void correr(){
System.out.println("El bombero ha empezado a correr");
}
public void run(){
System.out.println("+++Bombero corriendo como persona++");
super.correr();
}
public void setSueldo(double s){
sueldo=s;
}
public double getSueldo(){
return sueldo;
}
}
//Archivo Cientifico.java
package com.carmeth.core.polimorfismo;
public class Cientifico extends Persona{
private int numPremios;
public void correr(){
System.out.println("El cientifico ha comenzado a correr");
}
public void setNumPremios(int n){
numPremios=n;
}
public int getNumPremios(){
return numPremios;
}
}
//Archivo Policia.java
package com.carmeth.core.polimorfismo;
public class Policia extends Persona{
private String arma;
public void setArma(String a){
arma=a;
}
public String getArma(){
return arma;
}
}
//Archivo TestPersona.java
package com.carmeth.core.polimorfismo;
public class TestPersona{
public static void main (String []args){
Persona per = new Persona();
per.correr();
Persona b4 = (Persona)new Bombero(); //up casting
Bombero b = new Bombero();
b.correr();
b.run();
b.setName("Juan");
b.setSueldo(1000);
Cientifico c = new Cientifico();
c.correr();
Policia poli = new Policia();
poli.correr();
Persona b2 = new Bombero();
b2.correr();
//b2.setSueldo(5000); La instancia b2 solo puede ocupar los metodos que esten definidos en la interfaz de Persona
Persona c2 = new Cientifico();
c2.correr();
Persona poli2 = new Policia();
poli2.correr();
Persona [] people = {new Persona(), new Bombero(), new Cientifico()};
for(Persona p: people){
p.correr();
}
Bombero b21 = (Bombero)b2; //Down Casting
}
}
package com.carmeth.core.polimorfismo;
public class Persona{
private String name;
private long id;
private String mail;
public void correr(){
System.out.println("La persona ha comenzado a correr");
}
public void setName(String s){
name=s;
}
public void setId(long i){
id=i;
}
public void setMail(String m){
mail=m;
}
public String getName(){
return name;
}
public long getId(){
return id;
}
public String getMail(){
return mail;
}
}
//Archivo Bombero.java
package com.carmeth.core.polimorfismo;
public class Bombero extends Persona{
private double sueldo;
public void correr(){
System.out.println("El bombero ha empezado a correr");
}
public void run(){
System.out.println("+++Bombero corriendo como persona++");
super.correr();
}
public void setSueldo(double s){
sueldo=s;
}
public double getSueldo(){
return sueldo;
}
}
//Archivo Cientifico.java
package com.carmeth.core.polimorfismo;
public class Cientifico extends Persona{
private int numPremios;
public void correr(){
System.out.println("El cientifico ha comenzado a correr");
}
public void setNumPremios(int n){
numPremios=n;
}
public int getNumPremios(){
return numPremios;
}
}
//Archivo Policia.java
package com.carmeth.core.polimorfismo;
public class Policia extends Persona{
private String arma;
public void setArma(String a){
arma=a;
}
public String getArma(){
return arma;
}
}
//Archivo TestPersona.java
package com.carmeth.core.polimorfismo;
public class TestPersona{
public static void main (String []args){
Persona per = new Persona();
per.correr();
Persona b4 = (Persona)new Bombero(); //up casting
Bombero b = new Bombero();
b.correr();
b.run();
b.setName("Juan");
b.setSueldo(1000);
Cientifico c = new Cientifico();
c.correr();
Policia poli = new Policia();
poli.correr();
Persona b2 = new Bombero();
b2.correr();
//b2.setSueldo(5000); La instancia b2 solo puede ocupar los metodos que esten definidos en la interfaz de Persona
Persona c2 = new Cientifico();
c2.correr();
Persona poli2 = new Policia();
poli2.correr();
Persona [] people = {new Persona(), new Bombero(), new Cientifico()};
for(Persona p: people){
p.correr();
}
Bombero b21 = (Bombero)b2; //Down Casting
}
}
jueves, 2 de junio de 2011
Java Semana 3 Dia 11 Ejemplo de código 2 (Más sobre constructores; Clase PMP.java y TestPMP.java)
//Archivo PMP.java
package com.carmeth.core;
import static java.lang.System.out;
//La clase PMP no hereda los constructores por default se tienen que construir por medio de la instruccion super
//y mandar uno o n argumentos para acceder a esos constructores
public class PMP extends Manager{
//Atributos de la clase PMP
private String clave;
//Se crea el costructor PMP que recibe como argumento un long
public PMP(long id){
//Con esta linea se construye la clase padre
super(id);
out.println("Creando PMP");
}
//Se crea el constructor PMP que recibe como argumento un String, un Long y otro String
public PMP(String name, long id, String c){
//Con esta linea se construye la clase padre
super(name);
//Se accede al id por medio del metodo setId
super.setId(id);
this.clave = c;
}
}
//Archivo TestPMP.java
package com.carmeth.core;
import static java.lang.System.out;
public class TestPMP{
public static void main (String []args){
//Se crea la instancia p1
PMP p1 = new PMP(5L);
}
}
package com.carmeth.core;
import static java.lang.System.out;
//La clase PMP no hereda los constructores por default se tienen que construir por medio de la instruccion super
//y mandar uno o n argumentos para acceder a esos constructores
public class PMP extends Manager{
//Atributos de la clase PMP
private String clave;
//Se crea el costructor PMP que recibe como argumento un long
public PMP(long id){
//Con esta linea se construye la clase padre
super(id);
out.println("Creando PMP");
}
//Se crea el constructor PMP que recibe como argumento un String, un Long y otro String
public PMP(String name, long id, String c){
//Con esta linea se construye la clase padre
super(name);
//Se accede al id por medio del metodo setId
super.setId(id);
this.clave = c;
}
}
//Archivo TestPMP.java
package com.carmeth.core;
import static java.lang.System.out;
public class TestPMP{
public static void main (String []args){
//Se crea la instancia p1
PMP p1 = new PMP(5L);
}
}
Java Semana 3 Dia 11 Ejemplo de código 1 (Constructores; Clase Manager.java y TestManager.java)
//Archivo Manager.java
package com.carmeth.core;
import static java.lang.System.out;
/*El objetivo de este ejercicio es observar que cuando se crea un constructor, el compilador ya no genera el constructor por default*/
public class Manager{
//Atributos de la clase Manager
private long id;
private String name;
//Esto es un bloque de instancia
//Estos bloques de instancia se ejecutan antes que los constructores
{
out.println("###FirstBlock##");
}
//Esto es un bloque de instancia estático, se ejecuta al inicio y solo una vez
static{
out.println("Only once");
}
//Constructor de clase Manager recibiendo como argumento un String
public Manager(String name){
this.name = name;
out.printf("creating %s \n",name);
}
//Constructor de clase Manager recibiendo como argumento un Long
public Manager(long id){
this.id = id;
out.println("Creating Manager");
}
//Setters
public void setId(long i){
id = i;
}
public void setName(String n){
name=n;
}
//Getters
public long getId(){
return id;
}
public String getName(){
return name;
}
}
//Archivo TestManager.java
package com.carmeth.core;
import static java.lang.System.out;
public class TestManager{
public static void main (String []args){
//Se crean 3 instancias de Manager utilizando el constructor que recibe un long como argumento
Manager m1 = new Manager(1L);
Manager m2 = new Manager(2L);
Manager m3 = new Manager(3L);
//Se crean 2 instancias de Manager utilizando el constructor que recibe un String como argumento
Manager m4 = new Manager("Juan");
Manager m5 = new Manager("Luis");
}
}
package com.carmeth.core;
import static java.lang.System.out;
/*El objetivo de este ejercicio es observar que cuando se crea un constructor, el compilador ya no genera el constructor por default*/
public class Manager{
//Atributos de la clase Manager
private long id;
private String name;
//Esto es un bloque de instancia
//Estos bloques de instancia se ejecutan antes que los constructores
{
out.println("###FirstBlock##");
}
//Esto es un bloque de instancia estático, se ejecuta al inicio y solo una vez
static{
out.println("Only once");
}
//Constructor de clase Manager recibiendo como argumento un String
public Manager(String name){
this.name = name;
out.printf("creating %s \n",name);
}
//Constructor de clase Manager recibiendo como argumento un Long
public Manager(long id){
this.id = id;
out.println("Creating Manager");
}
//Setters
public void setId(long i){
id = i;
}
public void setName(String n){
name=n;
}
//Getters
public long getId(){
return id;
}
public String getName(){
return name;
}
}
//Archivo TestManager.java
package com.carmeth.core;
import static java.lang.System.out;
public class TestManager{
public static void main (String []args){
//Se crean 3 instancias de Manager utilizando el constructor que recibe un long como argumento
Manager m1 = new Manager(1L);
Manager m2 = new Manager(2L);
Manager m3 = new Manager(3L);
//Se crean 2 instancias de Manager utilizando el constructor que recibe un String como argumento
Manager m4 = new Manager("Juan");
Manager m5 = new Manager("Luis");
}
}
lunes, 30 de mayo de 2011
Java Semana 3 Dia 9 Ejemplo de código 3 (Java Swing;Clase NameDialog.java)
//Archivo NameDialog.java
package deitel.chap03;
//Se importa la libreria javax.swing.JOptionPane
import javax.swing.JOptionPane;
public class NameDialog{
public static void main (String []args){
//Se manda llamar el método JOptionPane.showMessageDialog
JOptionPane.showMessageDialog(null,"Welcome to java");
}
}
package deitel.chap03;
//Se importa la libreria javax.swing.JOptionPane
import javax.swing.JOptionPane;
public class NameDialog{
public static void main (String []args){
//Se manda llamar el método JOptionPane.showMessageDialog
JOptionPane.showMessageDialog(null,"Welcome to java");
}
}
Java Semana 3 Dia 9 Ejemplo de código 2 (Constructores y Overloading; Clase Person.java y Main MainPerson.java)
//Archivo Person.java
package suntraining.chap02;
public class Person{
//Atributos
private int id;
private String name;
private String userName;
private String userMail;
private String userPassword;
public static int personCounter;
//Setters
public void setId(int i){
id=i;
}
public void setName(String n){
name=n;
}
public void setUserName(String u){
userName=u;
}
public void userMail(String m){
userMail=m;
}
public void userPassword(String p){
userPassword=p;
}
//Getters
public int getId(){
return id;
}
public String getName(){
return name;
}
public String getUserName(){
return userName;
}
public String getUserMail(){
return userMail;
}
public String getUserPassword(){
return userPassword;
}
//Constructores
public Person(){
System.out.println("Creando Objeto");
personCounter++;
}
public Person(String name){
System.out.println("Overloading con 1 string");
//Se utiliza la palabra reservada this para referirse al name de esta clase y que no quede la asignacion name=name
this.name=name;
personCounter++;
}
public Person (String name, String userName){
System.out.println("Overloading con dos strings");
this.name=name;
this.userName=userName;
personCounter++;
}
public Person(int id){
System.out.println("Overloadig con un entero");
this.id = id;
personCounter++;
}
}
//Archivo MainPerson.java
package suntraining.chap02;
public class MainPerson{
public static void main (String []args){
//Se manda a imprimir la variable estatica personCounter para checar que no se necesita declarar una instancia
// para utilizar una variable estatica
//Se crean instancias mandando con distintos parametros para ver el concepto de sobrecarga u overloading
System.out.println("counter: "+Person.personCounter);
Person p = new Person();
System.out.println("counter: "+p.personCounter);
Person per1 = new Person(1);
System.out.println("counter: "+Person.personCounter);
Person per2 = new Person("Juan");
System.out.println("counter: "+Person.personCounter);
Person per3 = new Person("Luis","luis@mail.com");
System.out.println("counter: "+Person.personCounter);
System.out.println("counter: "+p.personCounter);
System.out.println("counter: "+per1.personCounter);
System.out.println("counter: "+per2.personCounter);
System.out.println("counter: "+per3.personCounter);
/*Se le da el valor a personCounter de -1 para observar que aunque se utilicen distintas instancias para imprimir la variable, se conserva en todos el mismo valor*/
Person.personCounter=-1;
System.out.println("counter: "+p.personCounter);
System.out.println("counter: "+per1.personCounter);
System.out.println("counter: "+per2.personCounter);
System.out.println("counter: "+per3.personCounter);
}
}
package suntraining.chap02;
public class Person{
//Atributos
private int id;
private String name;
private String userName;
private String userMail;
private String userPassword;
public static int personCounter;
//Setters
public void setId(int i){
id=i;
}
public void setName(String n){
name=n;
}
public void setUserName(String u){
userName=u;
}
public void userMail(String m){
userMail=m;
}
public void userPassword(String p){
userPassword=p;
}
//Getters
public int getId(){
return id;
}
public String getName(){
return name;
}
public String getUserName(){
return userName;
}
public String getUserMail(){
return userMail;
}
public String getUserPassword(){
return userPassword;
}
//Constructores
public Person(){
System.out.println("Creando Objeto");
personCounter++;
}
public Person(String name){
System.out.println("Overloading con 1 string");
//Se utiliza la palabra reservada this para referirse al name de esta clase y que no quede la asignacion name=name
this.name=name;
personCounter++;
}
public Person (String name, String userName){
System.out.println("Overloading con dos strings");
this.name=name;
this.userName=userName;
personCounter++;
}
public Person(int id){
System.out.println("Overloadig con un entero");
this.id = id;
personCounter++;
}
}
//Archivo MainPerson.java
package suntraining.chap02;
public class MainPerson{
public static void main (String []args){
//Se manda a imprimir la variable estatica personCounter para checar que no se necesita declarar una instancia
// para utilizar una variable estatica
//Se crean instancias mandando con distintos parametros para ver el concepto de sobrecarga u overloading
System.out.println("counter: "+Person.personCounter);
Person p = new Person();
System.out.println("counter: "+p.personCounter);
Person per1 = new Person(1);
System.out.println("counter: "+Person.personCounter);
Person per2 = new Person("Juan");
System.out.println("counter: "+Person.personCounter);
Person per3 = new Person("Luis","luis@mail.com");
System.out.println("counter: "+Person.personCounter);
System.out.println("counter: "+p.personCounter);
System.out.println("counter: "+per1.personCounter);
System.out.println("counter: "+per2.personCounter);
System.out.println("counter: "+per3.personCounter);
/*Se le da el valor a personCounter de -1 para observar que aunque se utilicen distintas instancias para imprimir la variable, se conserva en todos el mismo valor*/
Person.personCounter=-1;
System.out.println("counter: "+p.personCounter);
System.out.println("counter: "+per1.personCounter);
System.out.println("counter: "+per2.personCounter);
System.out.println("counter: "+per3.personCounter);
}
}
Java Semana 3 Dia 9 Ejemplo de código 1 (Gettters y Setters; Clase Dog.java y main TestDog.java)
//Archivo Dog.java
package suntraining.chap02;
public class Dog{
private int weight;
private String name;
//Creacion del metodo getter que obtiene el atributo weight
public int getWeight(){
return weight;
}
//Creacion del metodo setter que recibe y asigna el argumento w al atributo weight
public void setWeight(int w){
weight = w;
}
//Creacion del metodo getter que obtiene el atributo name
public String getName(){
return name;
}
//Creacion del metodo setter que recibe y asigna el argumento n al atributo name
public void setName(String n){
name=n;
}
}
//Archivo TestDog.java
package suntraining.chap02;
public class TestDog{
public static void main (String []args){
Dog d = new Dog();
//d.weight = 50; Marcaria error por tener el modificador de acceso private
//Se manda llamar el método setWeight pasando como argumento el numero 50
d.setWeight(50);
//Se llama al método getWeight para obtener el valor del atributo weight
System.out.println("Peso es: "+d.getWeight());
d.setName("puppy");
System.out.println("El nombre del perro es: "+d.getName());
}
}
package suntraining.chap02;
public class Dog{
private int weight;
private String name;
//Creacion del metodo getter que obtiene el atributo weight
public int getWeight(){
return weight;
}
//Creacion del metodo setter que recibe y asigna el argumento w al atributo weight
public void setWeight(int w){
weight = w;
}
//Creacion del metodo getter que obtiene el atributo name
public String getName(){
return name;
}
//Creacion del metodo setter que recibe y asigna el argumento n al atributo name
public void setName(String n){
name=n;
}
}
//Archivo TestDog.java
package suntraining.chap02;
public class TestDog{
public static void main (String []args){
Dog d = new Dog();
//d.weight = 50; Marcaria error por tener el modificador de acceso private
//Se manda llamar el método setWeight pasando como argumento el numero 50
d.setWeight(50);
//Se llama al método getWeight para obtener el valor del atributo weight
System.out.println("Peso es: "+d.getWeight());
d.setName("puppy");
System.out.println("El nombre del perro es: "+d.getName());
}
}
Suscribirse a:
Entradas (Atom)