La mayoría de los textos siempre se dirigen en cuanto a objetos y estos temas de manera muy teórica, nosotros lo explicaremos de una manera mas bien didáctica, de manera que no se muera ni se pierda la atención que se tenga en el momento por la explicación.
En objetos siempre tendremos un programa principal, que llama por decirlo así, a otros programitas, estos programitas hacen algo, no nos importa que.
Para tomar en cuenta en los códigos a partir de ahora, los que están en color verde son comentarios (las lineas) y las palabras que están en color rojo son palabras reservadas, es decir, palabras propias de java.
- CÓDIGO CLASE: Persona
class Persona{
public static void main(String[] args) {
// Creación de 2 nuevos objetos tipo Humano y otro Alien.
Humano a = new Humano();
Alien x= new Alien();
// Llamado a los métodos de Humano
a. ponerEdad(50);
a. ponerNacimiento("1 Abril 2002");
a. ponerNombre("Federico");
// Llamado a los métodos de Alien
x. ponerName ("Nombre X cualquiera");
x. ponerAge(546546546);
//Imprimimos algunas variables
System.out.println("Del humano tenemos:");
System.out.println("nombre: " + a.getNombre() + " Edad : " + a.getEdad() );
System.out.println("Del Alien tenemos:");
System.out.println("Edad : " + x.getEdadalien() + " Nombre : " + x.getNombrealien());
}
}
- CÓDIGO CLASE: Humano
class Humano {
//Definimos algunas variables para el humano que se retornan luego
private int edad;
private String nacimiento;
private String nombre;
public Humano() {
}
//Método que sirve para poder ponerle la edad al humano, es un entero.
void ponerEdad(int i) {
edad= i;
}
//Método que sirve para poder ponerle el nacimiento al humano, es una cadena.
void ponerNacimiento(String nac) {
nacimiento = nac;
}
//Método que sirve para poder ponerle el nombre al humano, es una cadena.
void ponerNombre(String nom) {
nombre = nom;
}
//Es para cuando llame el principal, se le devuelva este numero.
public int getEdad() {
return edad;
}
public String getNacimiento() {
return nacimiento;
}
public String getNombre() {
return nombre;
}
}
- CODIGO CLASE: Alien
class Alien {
private String nombrealien;
private int edadalien;
public Alien() {
}
//Método que sirve para poder ponerle el nombre al alien, es una cadena.
void ponerName(String nom) {
nombrealien = nom;
}
void ponerAge(int i) {
edadalien= i;
}
public int getEdadalien() {
return edadalien;
}
public String getNombrealien() {
return nombrealien;
}
}
El codigo imprimira algo asi:
Del humano tenemos:
nombre: Federico Edad : 50
nombre: Federico Edad : 50
Del Alien tenemos:
Edad : 546546546 Nombre : Nombre X cualquiera
Si nos fijamos, hemos creado dos objetos, primero los llamamos a y al otro lo llamamos x, luego entonces en las siguientes lineas decimos que a el humano que creamos, es decir, a "a" le vamos a dar un método, o le vamos a asignar una edad, esta edad la vemos como se asigna en el programa o la clase humano. y luego el nacimiento y luego el nombre. En las clases de Humano y alien se ve como se asigna estas variables.
Cuando vamos a llamar o a crear un nuevo objeto, por decir, si estamos llamando un objeto o un programa o una clase lo hacemos así:
Para llamar clase o crear objeto: debemos o importar la clase con "import.nombreclasecondirecciondepaquete" o tenerla dentro de un paquete, lo cual te la importara inmediatamente, y luego debemos crear el objeto con las lineas "NombreClase variablecualquiera = new NombreClase()", En el primer código de esta entrada esta con el llamado o la asignación del paquete.
Para llamar un método de la clase lo podemos hacer con un punto después de la variable que se le ha asignado. Es decir algo así "variablecualquiera.Metodo(parametros);
Ahora bien, si vemos en cada clase explicamos cada llamado y cosas así, por lo tanto el código anterior no se debería explicar de manera tan clara, igual estoy atento a los comentarios y así resolveremos las dudas que se tengan, entonces procedemos con algunos ejemplos mas.
El siguiente ejemplo es de herencia, algo no muy complicado, fue tomado de la plataforma de la materia de lenguajes de programación y se le añaden algunos cambios para explicarse mejor.
- CÓDIGO CLASE: Inicial.
//se observa que la clase alumno hereda todas las propiedades del padre (persona)
//Ejemplo de Objetos con herencia.
import Varios.Alumno;
public class Inicial {
public static void main(String []args){
// se crean dos alumnos nuevos y se les lleva a la variable indicada
Alumno a1=new Alumno();
Alumno a2=new Alumno();
//se llama el metodo asignar datos y se imprime llamando a otro metodo de la misma clase
a1.asignarDatos(111, "Camilo", "Cepeda", "01 Abril", "Boston");
a1.listarDatos();
a2.asignarDatos(222, "Manuel", "Vanegas", "21 Octubre", "Medellin");
a2.listarDatos();
}
}
- CÓDIGO CLASE: Persona.
public class Persona {
//se inician las variables... globales para todas las clases que lo hereden
private int codigo=0;
private String nombre= new String();
private String apellidos= new String();
private String fnacimiento= new String();
private String direccion= new String();
public Persona(){
}
//Metodo para asignar los datos...
public void asignarDatos(int cod, String nom, String ape, String Fna, String dir){
this.codigo=cod;
this.nombre=nom;
this.apellidos=ape;
this.fnacimiento=Fna;
this.direccion=dir;
}
//Metodo que sirve para imprimir los datos
public void listarDatos(){
System.out.println("Lista de los datos de las personas");
System.out.println("Codigo: "+codigo);
System.out.println("Nombre: "+nombre);
System.out.println("Apellidos: "+apellidos);
System.out.println("Fecha de nacimiento: "+fnacimiento);
System.out.println("Direccion: "+direccion);
}
/*
* Observe que los Métodos SET Y GETTER que sirve para poner los datos y enviar...
* No se necesitan, ya que se fue mas recursivo a la hora de enviar los archivos
*/
}
- CÓDIGO CLASE: Alumno
// se dice que el alumno es "hijo" de Persona, por lo tanto hereda sus métodos y tributos y demás.
public class Alumno extends Persona {
public Alumno(){
}
}
Lo que el programa imprimiría seria:
Lista de los datos de las personas
Codigo: 111
Nombre: Camilo
Apellidos: Cepeda
Fecha de nacimiento: 01 Abril
Direccion: Boston
Lista de los datos de las personas
Codigo: 222
Nombre: Manuel
Apellidos: Vanegas
Fecha de nacimiento: 21 Octubre
Direccion: Medellin
Una breve explicación de lo que seria una clase, se muestra en la figura que se toma de la web: http://javabasico.osmosislatina.com/curso/objetos.htm
el llamado, la creada de la clase y el llamado a los objetos seria algo asi:
Lampara candil = new Lampara();
candil.prender(); Llamando varios clases y dándoles sus métodos serian algo así:Lampara candil = new Lampara(); Lampara manual = new Lampara(); Lampara jardin = new Lampara(); candil.prender(); candil.girar(); manual.apagar(); jardin.prender(); jardin.elevar(); candil.apagar();
Tomado de:http://javabasico.osmosislatina.com/curso/objetos.htm
Seguro hemos aprendido lo básico, claro que con la practica de los ejercicios se agiliza el conocimiento y por lo tanto se mejora en el manejo de objetos y creamos ya luego programas que sirven para reutilizaciones o cosas asi. Espero que les haya servido, yo se que la programación orientada a objetos es muy astracta, pero cualquier pregunta, coméntenmela, y yo si tengo la respuesta se las regalo.


Jorge te quedó muy bonito el Blog y mucho más completo.
ResponderEliminar