Conceptos Clave de Programación Orientada a Objetos (POO) en Java

Enviado por Enrique y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 5,87 KB

Arreglos:

Ejemplos de declaración de arreglos en Java:

  1. String Array[]=new String[5];
  2. String [] Array=new String[5];
  3. String Array[]=new String[]{"a","b"};
  4. String Array[]={\"a\",\"b\"};
  5. String Array[]; Array=new String[5];

Clases Abstractas

Una clase abstracta es aquella que puede tener uno o más métodos abstractos. Los métodos abstractos no tienen cuerpo, solo la declaración. Estos métodos se implementan en las subclases de la clase abstracta.

Las clases abstractas no se pueden instanciar. Si una subclase que hereda de una clase abstracta no implementa ningún método abstracto, esta se declara abstracta. Cuando se hereda de una clase abstracta, se tiene que sobreescribir o declarar la subclase como abstracta.

Excepciones

Las excepciones son mecanismos que se activan cuando algo inesperado sucede:

  • Chequeadas: Son las que el programa espera, por ejemplo, archivo no encontrado, falla de red, argumentos ilegales.
  • No chequeadas: Las no esperadas por el programador y ocurren en tiempo de ejecución: Sobrepasa límite de arreglo.

Pilas

Estructura de datos lineal donde los elementos pueden ser añadidos o removidos solo por un extremo. Trabaja con la filosofía LIFO (Last In-First Out).

Colas

Es una estructura en la cual todas las inserciones son hechas en un extremo y todas las eliminaciones de acceso se realizan en el otro extremo. Filosofía FIFO (First In-First Out).

Listas Ligadas

Secuencia de elementos formados uno tras otro donde cada elemento es un nodo que al menos tiene 2 componentes: 1) Datos, 2) Guarda la dirección del siguiente elemento de la secuencia.

Ejercicios:

Arreglos:

import javax.swing.JOptionPane;
public class NomArray {
    public static void main(String args[]) {
        int a = Integer.parseInt(JOptionPane.showInputDialog("Dame el tamaño del arreglo"));
        String Name[] = new String[a];
        for (int i = 0; i < a; i++) {
            Name[i] = JOptionPane.showInputDialog("Dame Un Nombre");
        }
        for (int i = 0; i < a; i++) {
            System.out.println("Nombres[" + i + "] = " + Name[i]);
        }
    }
}

Herencia:

public class Mamifero {
    String nombre;
    int peso;
    String color;

    public Mamifero(String v_nombre, int v_peso, String v_color) {
        nombre = v_nombre;
        color = v_color;
        peso = v_peso;
    }

    public void imprimir() {
        System.out.println("Nombre: " + nombre);
        System.out.println("Peso: " + peso);
        System.out.println("Color: " + color);
    }
}

class Perro extends Mamifero {
    int nladridos;

    public Perro(String v_nombre, int v_peso, String v_color, int nladridos2) {
        super(v_nombre, v_peso, v_color);
        nladridos = nladridos2;
        System.out.println("El Perro Ladra: " + nladridos + " veces");
    }
}

class Gato extends Mamifero {
    int nmaullidos;

    public Gato(String v_nombre, int v_peso, String v_color, int nmaullidos2) {
        super(v_nombre, v_peso, v_color);
        nmaullidos = nmaullidos2;
        System.out.println("El Gato Maulla: " + nmaullidos + " veces");
    }
}

class Descripcion {
    public static void main(String args[]) {
        Perro a = new Perro("Fido", 15, "cafe", 6);
        a.imprimir();
        Gato b = new Gato("Firulais", 3, "negro", 2);
        b.imprimir();
    }
}

Polimorfismo:

Polimorfismo
Argumento PolimórficosInvocación virtual de Métodos
class Empleado {
    public String obtenerDatos() {
        return "Soy Empleado";
    }
}

class Jefe extends Empleado {
    public String obtenerDatos() {
        return "Soy Jefe";
    }
}

class TestEmpJef {
    public TestEmpJef() {
        // haceDatos(new Empleado());
        haceDatos(new Jefe());
    }

    void haceDatos(Empleado E) {
        System.out.println(E.obtenerDatos());
    }

    public static void main(String args[]) {
        new TestEmpJef();
    }
}
class Empleado {
    public String obtenerDatos() {
        return "Soy Empleado";
    }
}

class Jefe extends Empleado {
    public String obtenerDatos() {
        return "Soy Jefe";
    }
}

class TestEmpJef2 {
    public static void main(String args[]) {
        // Empleado E = new Empleado;
        Empleado J = new Jefe();
        System.out.println(J.obtenerDatos());
    }
}

Lista Ligada:

import java.util.LinkedList;

public class ListaLigadaGar {
    public static void main(String args[]) {
        LinkedList LL = new LinkedList();
        if (LL.isEmpty())
            System.out.println("Lista ligada Vacia");
        LL.add(1);
        LL.add(2);
        LL.add(3);
        LL.addFirst("first");
        LL.addLast("Last");
        System.out.println("Tamaño total es: " + LL.size());
        LL.remove(2);
        LL.indexOf(3);
        System.out.println(LL);
    }
}

Pila:

import java.util.Stack;

public class PilaGar {
    public static void main(String args[]) {
        String vocales[] = {"A", "E", "I", "O", "U"};
        int i = 0;
        Stack pila = new Stack();
        for (i = 0; i < vocales.length; i++) {
            pila.push(vocales[i]);
        }
        while (!pila.isEmpty())
            System.out.println(pila.pop());
    }
}

Entradas relacionadas: