Danny Muñoz
En orientación a objetos la herencia es el mecanismo fundamental para implementar la reutilización y extensibilidad del software. A través de ella los diseñadores pueden construir nuevas clases partiendo de una jerarquía de clases ya existente (comprobadas y verificadas) evitando con ello el rediseño, la modificación y verificación de la parte ya implementada. La herencia facilita la creación de objetos a partir de otros ya existentes, obteniendo características (métodos y atributos) similares a los ya existentes.
Es la relación entre una clase general y otra clase más especifica. Por ejemplo: Si declaramos una clase párrafo derivada de una clase texto, todos los métodos y variables asociadas con la clase texto, son automáticamente heredados por la subclase párrafo.
La herencia es uno de los mecanismos de la programación orientada a objetos, por medio del cual una clase se deriva de otra, llamada entonces clase base o clase padre,(a veces se le denomina superclase pero no es muy comun), de manera que extiende su funcionalidad. Una de sus funciones más importantes es la de proveer Polimorfismo y late binding.
El siguiente codigo es un ejemplo de herencia en java.
CLASE PRINCIPAL

public class Principal {

   
    public static void main(String[] args)
    {
        System.out.println("Creando Objeto Empleado....!");
        //String Cargo, String Departamento,long Cedula, String Nombres, int Edad
        Empleado Juan = new Empleado("Director", "Sistemas","12034576891","Mariuxi Lopez",35);
        Juan.DatosInformativos();
        System.out.println(Juan.CalcularSueldo(60,18));
       
        System.out.println("Creando Objeto Estudiante....!");
        //String Colegio, String Semestre, String Cedula, StriSng Nombres, int Edad
        Estudiante Pedro = new Estudiante("Monterrey","Octavo","1207895431","Carlos Torres", 15);
        Pedro.setEspecialidad("Telecomunicacion");
        Pedro.DatosInformativos();
    }
}

CLASE PERSONA


public class Persona
{
    private String Cedula;
    private String Nombres;
    private int Edad;

    public Persona(String Cedula, String Nombres, int Edad) {
        this.Cedula = Cedula;
        this.Nombres = Nombres;
        this.Edad = Edad;
    }
   
    public void DatosInformativos()
    {
      System.out.println("Cedula Identidad: " + this.Cedula);
      System.out.println("Nombres: " + this.Nombres);
      System.out.println("Edad: " + this.Edad);
    }
   
}

CLASE ESTUDIANTE

public class Estudiante extends Persona
{
    private String Colegio;
    private String Semestre;
    private String Especialidad;

    public void setEspecialidad(String Especialidad) {
        this.Especialidad = Especialidad;
    }

    public Estudiante(String Colegio, String Semestre, String Cedula, String Nombres, int Edad) {
        super(Cedula, Nombres, Edad);
        this.Colegio = Colegio;
        this.Semestre = Semestre;
    }

    @Override
    public void DatosInformativos() {
        super.DatosInformativos();
        System.out.println("Colegio: " + this.Colegio);
        System.out.println("Semestre: " + this.Semestre);
        System.out.println("Especialidad: " + this.Especialidad);
    }
   
   
}

CLASE EMPLEADO


public class Empleado extends Persona
{
   private String Cargo;
   private String Departamento;
  
    public Empleado(String Cargo, String Departamento,String Cedula, String Nombres, int Edad) {
        super(Cedula, Nombres, Edad);
        this.Cargo = Cargo;
        this.Departamento = Departamento;
    }

    @Override
    public void DatosInformativos() {
        super.DatosInformativos();
        System.out.println("Cargo: " + this.Cargo);
        System.out.println("Departamento: " + this.Departamento);
    }
   

    public String CalcularSueldo(int numHoras, double valorHora)
    {
      double sueldo = numHoras * valorHora;
      String cadSueldo = " Sueldo: " + String.valueOf(sueldo);
      return cadSueldo;
    }}

CAPTURAS


Danny Muñoz
Programa que dibuja una circunferencia en un panel de java esta es un pequeño ejercicio que permite al estudiante comenzar en la programacion grafica en java.



CLASE JFRAME

package appdibujarcirculocalculararea;

public class Principal extends javax.swing.JFrame {

    public Principal() {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                         
    private void initComponents() {}                      

    private void btngraficarActionPerformed(java.awt.event.ActionEvent evt) {                                           
       int Xo = Integer.parseInt(this.textX0.getText());
       int Yo = Integer.parseInt(this.texty0.getText());
       int X1 = Integer.parseInt(this.textX1.getText());
       int Y1 = Integer.parseInt(this.texty1.getText());

       panel1.setXo(Xo);
       panel1.setYo(Yo);
       panel1.setX1(X1);
       panel1.setY1(Y1);

       panel1.DibujarCirculo();

    }                                          

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Principal().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify                    
    private javax.swing.JButton btncalcular;
    private javax.swing.JButton btngraficar;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JPanel jPanel1;
    private appdibujarcirculocalculararea.Panel panel1;
    private javax.swing.JTextField textX0;
    private javax.swing.JTextField textX1;
    private javax.swing.JTextField texty0;
    private javax.swing.JTextField texty1;
    // End of variables declaration                  

}

CLASE PANEL

package appdibujarcirculocalculararea;

import java.awt.Graphics;
import java.awt.*;


public class Panel extends javax.swing.JPanel {

    private int Xo,Yo;
    private int X1,Y1;

    public void setX1(int X1) {
        this.X1 = X1;
    }

    public void setXo(int Xo) {
        this.Xo = Xo;
    }

    public void setY1(int Y1) {
        this.Y1 = Y1;
    }

    public void setYo(int Yo) {
        this.Yo = Yo;
    }


    public Panel() {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                         
    private void initComponents() {

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 400, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 300, Short.MAX_VALUE)
        );
    }// </editor-fold>                       

    @Override
    public void paint(Graphics g) {
        super.paint(g);
        g.setColor(Color.red);
        g.drawOval(this.Xo, this.Yo, this.X1, this.Y1);
    }
    public void DibujarCirculo()
    {
      repaint();
    }

    // Variables declaration - do not modify                    
    // End of variables declaration                  

}

CAPTURAS



Danny Muñoz
Ejercicio que realiza la operacion matematica de dividir mediante restas sucesivas el numero de resta es el resultado.

CLASE PRINCIPAL

package Packdivi;
 import java.io.*;
public class Principal {

    public static InputStreamReader Leer= new InputStreamReader (System.in);
    public static BufferedReader Teclado = new BufferedReader (Leer);
    public static void main(String[] args)throws IOException {
      
        int a,b;
    System.out.println("ingrese el dividendo ");
       a=Integer.parseInt(Teclado.readLine());
       System.out.println("ingrese el divisor ");
       b=Integer.parseInt(Teclado.readLine());
     
      
      
        Restar Obj= new Restar(a,b);
      
        Obj.Resta();
        // TODO code application logic here
    }
}


CLASE RESTAS

package Packdivi;


public class Restar {

    private int divi;
    private int dvsor;

    public Restar(int divi, int dvsor) {
        this.divi = divi;
        this.dvsor = dvsor;
    }
  
  
    public void Resta(){
  
    int res=0;
  
    while(divi>=dvsor){
      
      
        divi=divi-dvsor;
        res++;
  
    }
    System.out.print(+res);
    System.out.print(".");
   System.out.print(+divi);
  
    }   
}

CAPTURAS



Danny Muñoz
Programa que eleva un numero a cualquier exponente que el usuario ingrese mediante sumas sucesivas.
CLASE PRINCIPAL

package Pckpoten;
import java.io.*;
public class Principal {

    public static InputStreamReader Leer= new InputStreamReader(System.in);
    public static BufferedReader Teclado= new BufferedReader(Leer);
    public static void main(String[] args) throws IOException{
        // TODO code application logic here
        int res,a,b;
        System.out.println("Ingrese la base");
        a=Integer.parseInt(Teclado.readLine());
        System.out.println("Ingrese el exponente");
        b=Integer.parseInt(Teclado.readLine());
        Potencia Obj= new Potencia(a,b);
        res=Obj.Elevar();
        System.out.println("El resultado es: "+res);
       
       
    }
}


CLASE POTENCIA

package Pckpoten;

public class Potencia {
    private int b;//base
    private int e;//exponente

    public Potencia(int b, int e) {
        this.b = b;
        this.e = e;
    }
   
   
    public int Elevar(){
    int r=0,n=1;
        for(int h=0;h<this.e;h++){
            r=0;
        for(int i=0;i<this.b;i++){
        r+=n;
        }
        n=r;
        }
    return r;
    }   
}



CAPTURAS


Danny Muñoz
Crear una aplicacion que permita transformar un numero que el usuario ingrese por teclado en sistema decimal a sistema binario o sistema octal.
CLASE PRINCIPAL

package Packtransformacion;

import java.io.*;

public class Principal {

    //Objetos Leer Datos Teclado.
 public static InputStreamReader Leer = new InputStreamReader(System.in);
 public static BufferedReader Teclado = new BufferedReader(Leer);

    public static void main(String[] args)throws IOException
    {
        int []p= new int [20];
        int []o= new int [20];
            Transformacion bin = new Transformacion();
        System.out.print("Ingrese valor ");
        int valor = Integer.parseInt(Teclado.readLine());
        bin.setValor(valor);
        System.out.print("Escoja 1 binario 2 octal");
        int v = Integer.parseInt(Teclado.readLine());
     
        switch(v){
           
            case 1:
        p=bin.TransformarBinario();
      for (int i=19;i>=0;i--){
          if (p[i]!=2){
       System.out.print(p[i]); }}
       break;  
            case 2:
      o=bin.TransformarOctal();
      for (int i=19;i>=0;i--){
          if (o[i]!=8){
       System.out.print(o[i]); }}
        break;
        }
       
       
       
        // TODO code application logic here
    }
}



CLASE TRANSFORMACION


package Packtransformacion;

public class Transformacion {

    private int valor;

    public Transformacion() {
        this.valor = 0;
           
    }

    public void setValor(int valor) {
        this.valor = valor;
    }
   
   
   
   
    public int [] TransformarBinario(){
    int a=0,b=0;
    int []r=new int[20];
    while (this.valor>0){
        r[b]=this.valor%2;
        this.valor=this.valor/2;
    b++;
    }
    while (b<20){
        r[b]=2;
    b++;
    }
    return r;
    }
   
    public int [] TransformarOctal(){
    int a=0,b=0;
    int []d=new int[20];
    while (this.valor>0){
        d[b]=this.valor%8;
        this.valor=this.valor/8;
    b++;
    }
    while (b<20){
        d[b]=8;
    b++;
    }
    return d;
    }
    
    }

CAPTURAS