Vous êtes sur la page 1sur 6

Código

import javax.swing.*;
import java.text.*;
public class Principal{
public static void main(String args[])
{
String nombre,direccion,telefono,nombremedico,codigomedico,especialidad,cantidadpaciente;
String mensaje;

Capturaeimpresion obj= new Capturaeimpresion();


Creando objeto de la clase Capturaeimpresion
mensaje="introduzca el nombre de la clinica: ";
nombre=obj.captura(mensaje);
mensaje="introduzca la direccion:";
direccion=obj.captura(mensaje);
mensaje="introduzca el telefono: ";
telefono=obj.captura(mensaje);

mensaje="introduzca el nombre del medico: ";


Capturando datos
nombremedico=obj.captura(mensaje);
mensaje="introduzca el codigo del medico: ";
codigomedico=obj.captura(mensaje);
mensaje="introduzca la especialidad del medico: ";
especialidad=obj.captura(mensaje);
mensaje="introduzca la cantidad de pacientes "; Llamando al método
cantidadpaciente=obj.captura(mensaje); desplegar para imprimir
los resultados.
Clinica clic = new Clinica(nombre,direccion,telefono,nombremedico,codigomedico,especialidad,cantidadpaciente);
Medico medic = new Medico(nombre,direccion,telefono,nombremedico,codigomedico,especialidad,cantidadpaciente);
clic.mensaje();
int codi=clic.verifica(); Creando objeto de la clase clínica y de la clase
float ingresos=clic.verifica(codi); Médico y pasándole como argumentos los
System.out.println("--------------------------------------------------------"); valores capturados anteriormente. También
mensaje="Nombre de Nuestra Clinica"; llamando al método mensaje, luego a verifica,
obj.desplegar(mensaje); y por ultimo a mensaje nuevamente para
System.out.println(clic.getnombre()); mandar el mensaje de salida.

12
System.out.println("---------------------------------------------------------");
mensaje="Direccion";
obj.desplegar(mensaje);
System.out.println(clic.getdireccion());
System.out.println("----------------------------------------------------------");
mensaje="Telefono";
obj.desplegar(mensaje);
System.out.println(clic.gettelefono());
System.out.println("-----------------------------------------------------------");
mensaje="Nombre del medico";
obj.desplegar(mensaje);
System.out.println(clic.getnombremedico());
System.out.println("-----------------------------------------------------------");
mensaje="Codigo del medico";
obj.desplegar(mensaje);
System.out.println(clic.getcodigomedico());
System.out.println("------------------------------------------------------------");
mensaje="Especialidad";
obj.desplegar(mensaje);
System.out.println(clic.getespecialidad());
System.out.println("------------------------------------------------------------");
mensaje="Cantidad de pacientes";
obj.desplegar(mensaje);
System.out.println(clic.getcantidadpaciente());
System.out.println("--------------------------------------------------------------");
mensaje="cantidad de dinero que obtuvo un medico por la cantidad de pacientes atendidos";
obj.desplegar(mensaje);
System.out.println(ingresos);
System.out.println("-------------------------------------------------------------------");
medic.mensaje();
}
} Llamando al método
import javax.swing.*; mensaje.

13
import java.text.*;

class Clinica{ //clase principal o super clase

String nombre;
String direccion;
String telefono;
String nombremedico;
String codigomedico;
String especialidad;
String cantidadpaciente;

public Clinica(String nomb,String direcc,String telef,String nombmedic,String codmedic,String espec,String cant)


{
nombre=nomb;
direccion=direcc; Constructor de la clase Clínica métodos para retornar las variables,
telefono=telef; también se puede observar que hay métodos como getnombre()
nombremedico=nombmedic; encargado de retornar valores.
codigomedico=codmedic;
especialidad=espec;
cantidadpaciente=cant;
}
public String getnombre(){
return(nombre);
}
public String getdireccion()
{
return(direccion);
}

public String gettelefono()


{

14
return(telefono);
}
public String getnombremedico()
{
return(nombremedico);
}
public String getcodigomedico()
{
return(codigomedico);
}
public String getespecialidad()
{
return(especialidad);
}
public String getcantidadpaciente() El método mensaje de la clase clínica, da la bienvenida al
{ programa, más adelante podremos observar que en la
return(cantidadpaciente); siguiente clase existe este método con el mismo nombre,
} pero como se da en otra clase, ocurre el polimorfismo.
public void mensaje()
{
System.out.println("BIENVENIDOS"); El método verifica toma el código del médico, obtiene sus dos
} primeros dígitos y los transforma a enteros, y luego lo retorna al otro
public int verifica() { método llamado verifica dentro de esta misma clase, para así detectar
String inicodigo=codigomedico.substring(0,2); cuanto dinero gano un médico de acuerdo al código que tiene y a la
int cod=Integer.parseInt(inicodigo); cantidad de pacientes atendidos, con estos dos métodos llamados de
return(cod); la misma forma y dentro de una misma clase estoy aplicando el
} concepto de sobrecarga

15
public float verifica(int valor){

float consultas=0;
float ingresos;
if (valor==11)
{
consultas=30;
}
else
if(valor==12) Este método llamado también verifica se encarga de obtener el valor del
{ código transformado y verificar si el código comienza con 11 la consulta
consultas=35; cuesta B/30.00 y si es >13 entonces las consultas cuestan B/120. ya que según
} el código que tenga se identifica la cantidad que gana.
else Luego esta cantidad es multiplicada por la cantidad de pacientes atendidos y
if (valor<11) así se obtiene la cantidad de ingresos que obtuvo el medico. Este método es
{ tiene el mismo nombre que el anterior pero hacen diferentes cosas, se aplica el
consultas=28; concepto sobrecarga.
}
else
if (valor>12)
{
consultas=120;
}
int cant=Integer.parseInt(cantidadpaciente);
ingresos=consultas*cant;
return(ingresos);
}

class Medico extends Clinica{


public Medico (String nombre,String direccion,String telefono,String nombremedico,String codigomedico,String especialidad,String
cantidadpaciente)

16
{
super(nombre,direccion,telefono,nombremedico,codigomedico,especialidad,cantidadpaciente);
}
public void mensaje(){
System.out.println("Hasta pronto"); El método mensaje en la clase medico esta encargado de mandar
} el mensaje de salida como podemos ver este método existe en la
} clase clínica y aquí en la clase médico por tanto se da el
} polimorfismo, ya que existen dos métodos con nombres iguales y
import java.text.*; se están llamando en clases diferentes.
import javax.swing.*;
import java.lang.String.*;
class Capturaeimpresion{
public String captura(String mensaje){ //método captura
String valor;
valor=JOptionPane.showInputDialog(null,mensaje);
return(valor);
}
public void desplegar(String msg){ //método desplegar
System.out.println(msg);
}
}

17