Construiremos un sistema que nos permita listar y agendar nuestras citas médicas, lo que que debemos crear algunas clases para cada integrante del sistema: doctores, pacientes, entre otras.
public class Main{
public static void main(String[] arg){
//Para que todo programa en Java pueda vivir, necesitamos
//un método main. Tenemos la clase Main y su método
//Recuerda que para nombrar clases utilizamos UpperCamel
}
}
public class Doctor{
//Atributos
int id;
String name;
String speciality;
//Estos serán los atributos de la clase Doctor, así como
//en una receta de cocina, primero declaramos los ingredientes
//y después su comportamiento
//Comportamiento
//Nuestro método public, imprimirá el nombre del Doctor.
public void showName(){
System.out.println(name);
}
}
Para utilizar estos métodos y atributos fuera de la clase:
Declaramos el nombre de la clase (recuerda que una clase es el molde)
Nombre del objeto o la forma en como vamos a identificar el objeto (el objeto será el resultado de los atributos de la clase)
**Doctor** **myDoctor;**
Tipo de objeto Nombre del objeto
**myDoctor** = **new** **Doctor();**
Nombre del objeto Creando el objeto
Cuando usamos la palabra new el objeto comienza a cobrar vida en la memoria de la computadora, comienza a usar un espacio. En ese momento se dice que se esta instanciando el objeto, osea creando.
**Doctor myDoctor** = **new** **Doctor();**
Declarando el objeto Instanciando/Creando el objeto
Podemos declarar e instanciar en una sola linea. Puedo poner el nombre de la clase, seguido del nombre del objeto único utilizando LowerCamelCase, enseguida new y después el nombre de la clase y unos ( ). De esta forma ya puedo estar utilizando los atributos del objeto.
Doctor myDoctor = new Doctor();
myDoctor.name = "Alejandro Lopez";
myDoctor.showName();
Ahora para utilizar nuestro objeto dentro de la clase main.
public class Main{
public static void main(String[] arg){
Doctor myDoctor = new Doctor();
//La forma en la que yo puedo tener acceso a los atributos y
//a los métodos es con el "." (los que aparecen resaltados
//pertenecen a la clase
myDoctor.name = "Alejandro Rodrigez";
myDoctor.showName();
//Lo que har[a showName, será imprimir el nombre del doctor.
//Aquí nos encontramos aplicando modularidad en clases
//declarar clases donde puedo tener acceso a sus atributos y métodos
}
}