in

Concepto de programación orientada a objetos (OOP) en Java

gfg 200x200 min

Como sugiere el nombre, la programación orientada a objetos o POO se refiere a lenguajes que utilizan objetos en la programación. La programación orientada a objetos tiene como objetivo implementar entidades del mundo real como herencia, ocultación, polimorfismo, etc.en programación. El objetivo principal de OOP es unir los datos y las funciones que operan en ellos para que ninguna otra parte del código pueda acceder a estos datos excepto esa función.

Discutamos el requisito previo puliendo los conceptos de declaración y aprobación de métodos. Comenzando con la declaración del método, consta de seis componentes:

  • Modificador de acceso: Define Tipo de acceso del método, es decir, desde donde se puede acceder a él en su aplicación. En Java, hay 4 tipos de especificadores de acceso.
    • público: accesible en todas las clases en su aplicación.
    • protegido: accesible dentro del paquete en el que se define y en su subclase (s) (incluidas las subclases declaradas fuera del paquete)
    • privado: accesible solo dentro de la clase en la que se define.
    • predeterminado (declarado / definido sin usar ningún modificador): accesible dentro de la misma clase y paquete dentro del cual se define su clase.
  • El tipo de retorno: El tipo de datos del valor devuelto por el método o anulado si no devuelve un valor.
  • Nombre del método: las reglas para los nombres de campo también se aplican a los nombres de los métodos, pero la convención es un poco diferente.
  • Lista de parámetros: Se define una lista separada por comas de los parámetros de entrada, precedidos por su tipo de datos, dentro del paréntesis adjunto. Si no hay parámetros, debe usar paréntesis vacíos ().
  • Lista de excepciones: Las excepciones que espera por el método pueden generar, puede especificar estas excepciones.
  • Cuerpo del método: se encierra entre llaves. El código que necesita ejecutar para realizar las operaciones previstas.

Paso de mensajes: Los objetos se comunican entre sí enviándose y recibiendo información entre sí. Un mensaje para un objeto es una solicitud de ejecución de un procedimiento y, por lo tanto, invocará una función en el objeto receptor que genera los resultados deseados. El paso de mensajes implica especificar el nombre del objeto, el nombre de la función y la información que se enviará.

Ahora, con el requisito previo básico para el aprendizaje por pasos, el 4 pilar de OOPS es el siguiente. Empecemos por conocer las diferentes características de un lenguaje de programación orientado a objetos.

Los conceptos de POO son los siguientes:

  1. Clase
  2. Objeto
  3. Método y paso de método
  4. Pilares de OOPS

Object Oriented Programming Concepts

Una clase es un modelo o prototipo definido por el usuario a partir del cual se crean los objetos. Representa el conjunto de propiedades o métodos que son comunes a todos los objetos de un tipo. En general, las declaraciones de clase pueden incluir estos componentes, en orden:

  1. Modificadores: Una clase puede ser pública o tener acceso predeterminado (consulte esto para obtener más detalles).
  2. Nombre de la clase: El nombre debe comenzar con una letra inicial (en mayúscula por convención).
  3. Superclase (si existe): El nombre del padre de la clase (superclase), si lo hay, precedido por la palabra clave extiende. Una clase solo puede extender (subclase) a un padre.
  4. Interfaces (si las hay): Una lista separada por comas de interfaces implementadas por la clase, si las hay, precedidas por la palabra clave implements. Una clase puede implementar más de una interfaz.
  5. Cuerpo: El cuerpo de la clase rodeado de llaves, {}.

Objeto es una unidad básica de Programación Orientada a Objetos y representa las entidades de la vida real. Un programa típico de Java crea muchos objetos que, como sabe, interactúan invocando métodos. Un objeto consta de:

  1. Estado : Está representado por atributos de un objeto. También refleja las propiedades de un objeto.
  2. Comportamiento : Está representado por métodos de un objeto. También refleja la respuesta de un objeto con otros objetos.
  3. Identidad : Da un nombre único a un objeto y permite que un objeto interactúe con otros objetos.
  4. Método: Un método es una colección de declaraciones que realizan una tarea específica y devuelven el resultado a la persona que llama. Un método puede realizar una tarea específica sin devolver nada. Los métodos nos permiten reutilizar el código sin volver a escribir el código. En Java, cada método debe ser parte de alguna clase que sea diferente de lenguajes como C, C ++ y Python.
    Los métodos son ahorradores de tiempo y ayúdanos a reutilizar el código sin volver a escribir el código.

Analicemos ahora los 4 pilares de OOPS:

Pilar 1: Abstracción

La abstracción de datos es la propiedad en virtud de la cual solo se muestran al usuario los detalles esenciales. Las unidades triviales o no esenciales no se muestran al usuario. Ej: un automóvil se considera un automóvil en lugar de sus componentes individuales.
La abstracción de datos también se puede definir como el proceso de identificar solo las características requeridas de un objeto ignorando los detalles irrelevantes. Las propiedades y comportamientos de un objeto lo diferencian de otros objetos de tipo similar y también ayudan a clasificar / agrupar los objetos.
Considere un ejemplo de la vida real de un hombre que conduce un automóvil. El hombre solo sabe que presionar el acelerador aumentará la velocidad del automóvil o aplicar los frenos detendrá el automóvil, pero no sabe cómo al presionar el acelerador la velocidad en realidad está aumentando, no conoce el mecanismo interno del automóvil o la implementación de acelerador, frenos, etc. en el automóvil. Eso es la abstracción.
En Java, la abstracción se logra mediante interfaces y clases abstractas. Podemos lograr una abstracción del 100% utilizando interfaces.

Pilar 2: Encapsulamiento

Se define como el agrupamiento de datos en una sola unidad. Es el mecanismo que une el código y los datos que manipula. Otra forma de pensar en la encapsulación es que es un escudo protector que evita que el código que se encuentra fuera de este escudo acceda a los datos.

  • Técnicamente en encapsulación, las variables o datos de una clase se ocultan de cualquier otra clase y solo se puede acceder a ellas a través de cualquier función miembro de la propia clase en la que están declaradas.
  • Al igual que en la encapsulación, los datos de una clase se ocultan de otras clases, por lo que también se conoce como ocultación de datos.
  • La encapsulación se puede lograr declarando todas las variables de la clase como privadas y escribiendo métodos públicos en la clase para establecer y obtener los valores de las variables.

Pilar 3: Herencia

La herencia es un pilar importante de OOP (Programación Orientada a Objetos). Es el mecanismo en Java por el cual una clase puede heredar las características (campos y métodos) de otra clase.

Analicemos algunas de las terminologías importantes de uso frecuente:

  • Super clase: La clase cuyas características se heredan se conoce como superclase (o una clase base o una clase padre).
  • Subclase: La clase que hereda la otra clase se conoce como subclase (o clase derivada, clase extendida o clase secundaria). La subclase puede agregar sus propios campos y métodos además de los campos y métodos de la superclase.
  • Reutilización: La herencia apoya el concepto de «reutilización», es decir, cuando queremos crear una nueva clase y ya existe una clase que incluye parte del código que queremos, podemos derivar nuestra nueva clase de la clase existente. Al hacer esto, estamos reutilizando los campos y métodos de la clase existente.

Pilar 4: Polimorfismo

Se refiere a la capacidad de los lenguajes de programación OOP para diferenciar entre entidades con el mismo nombre de manera eficiente. Esto lo hace Java con la ayuda de la firma y declaración de estas entidades.

Nota: Los polimorfismos en Java son principalmente de 2 tipos:

  1. Sobrecarga
  2. Primordial

Ejemplo

Java

public class Sum {

    

    

    public int sum(int x, int y)

    {

        return (x + y);

    }

    

    

    public int sum(int x, int y, int z)

    {

        return (x + y + z);

    }

    

    

    public double sum(double x, double y)

    {

        return (x + y);

    }

    

    public static void main(String args[])

    {

        Sum s = new Sum();

        System.out.println(s.sum(10, 20));

        System.out.println(s.sum(10, 20, 30));

        System.out.println(s.sum(10.5, 20.5));

    }

}

¡Atención lector! No dejes de aprender ahora. Hazte con todo lo importante Fundación Java y conceptos de colecciones con el Curso de Fundamentos de Java y Colecciones de Java a un precio asequible para los estudiantes y prepárese para la industria. Para completar su preparación desde el aprendizaje de un idioma hasta DS Algo y muchos más, consulte Curso completo de preparación para entrevistas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

apple touch icon@2

base de datos: ¿Qué es un ORM, cómo funciona y cómo debo usar uno?

Firefox vs Google Chrome: diferencia y comparación