<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">// Bosquejo de un programa para manipular complejos
// Autor: Antonio Carrillo Ledesma
// http://mmc.geofisica.unam.mx/acl/


//~ public class Complejos {
public class Complejos extends Numero {
   // Parte real del complejo
   private double R;
   // Parte imaginaria del complejo
   private double I;


   // Constructores
   public Complejos() {
      R = 0;
      I = 0;
   }

   // Constructores
   public Complejos(double r, double i) {
      R = r;
      I = i;
   }


   // Constructores
   public Complejos(double r) {
      R = r;
      I = 0;
   }

   // Constructores
   public Complejos(Complejos a) {
      R = a.parteReal();
      I = a.parteImaginaria();
   }

   // Genera un nuevo miembro de la clase
   public Numero nuevo() {
      Numero c = new Complejos();
      return c;
   }

   // Retorna la parte real del complejo
   public double parteReal() {
      return R;
   }

   // Retorna la parte imaginaria del complejo
   public double parteImaginaria() {
      return I;
   }

   // Regresa verdadero si el complejo es cero
   public boolean esCero() {
      if (parteReal() == 0.0 &amp;&amp; parteImaginaria() == 0.0) return true;
      return false;
   }

   // Suma de dos operandos
   public void suma(Numero A, Numero B) {
      Complejos a = new Complejos( (Complejos) A);
      Complejos b = new Complejos( (Complejos) B);

      R = a.parteReal()  + b.parteReal();
      I = a.parteImaginaria() +  b.parteImaginaria();
   }

   // Suma con un operando
   public void suma(Numero A) {
      Complejos a = new Complejos( (Complejos) A);

      R = parteReal()  + a.parteReal();
      I = parteImaginaria() +  a.parteImaginaria();
   }


   // Visualiza el complejo
   public void visualiza() {
      System.out.print(R);
      System.out.print("+");
      System.out.print(I);
      System.out.print("i");
   }


   // Ejemplito de uso ...
   public static void main(String[] args) {
      Complejos a, b, c;
      a = new Complejos(2, 4);
      b = new Complejos(5);
      c = new Complejos();


      c.suma(a, b);

      a.visualizaLN();
      b.visualizaLN();
      c.visualizaLN();
   }


};


</pre></body></html>