Como sugiere el nombre, el concepto de Programación Orientada a Objetos o Java OOP se refiere a lenguajes que usan objetos en la programación, usan objetos como fuente principal para implementar lo que sucederá en el código. Los objetos son vistos por el espectador o usuario, realizando las tareas que usted asigna.
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 la programación orientada a objetos es unir los datos y las funciones que operan sobre ellos para que ninguna otra parte del código pueda acceder a estos datos excepto esa función.
Analicemos los requisitos previos puliendo los conceptos de declaración de métodos y paso de mensajes. Comenzando con la declaración del método, consta de seis componentes:
- Modificador de acceso : Define el Tipo de acceso del método, es decir, desde donde se puede acceder a él en su aplicación. En Java, existen 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 está definido y en su subclases (incluidas las subclases declaradas fuera del paquete) .
- privado: Accesible sólo dentro de la clase en la que está definido.
- 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 devolución : El tipo de datos del valor devuelto por el método o nulo si no devuelve un valor.
- Nombre del método : Las reglas para los nombres de campos también se aplican a los nombres de métodos, pero la convención es un poco diferente.
- Lista de parámetros : Lista separada por comas de los parámetros de entrada definidos, precedidos por su tipo de datos, entre paréntesis. Si no hay parámetros, debe utilizar paréntesis vacíos ().
- Lista de excepciones : Las excepciones que espera que arroje el método. Puede especificar estas excepciones.
- Cuerpo del método : Es el bloque de código, encerrado entre llaves, 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á.
Dominar la POO en Java Escriba código Java más limpio, más modular y reutilizable construyendo una base en programación orientada a objetos con el curso interactivo Aprender de Educative Programación orientada a objetos en Java . Regístrate en Educative.io con el código GEEK10 para ahorrar un 10% en tu suscripción.
Ahora que hemos cubierto los requisitos previos básicos, pasaremos a los 4 pilares de la programación orientada a objetos, que son los siguientes. Pero comencemos por conocer las diferentes características de un lenguaje de programación orientado a objetos.
Los conceptos de OOPS son los siguientes:
- Clase
- Objeto
- Método y paso del método
- Pilares de la programación orientada a objetos
- Abstracción
- Encapsulación
- Herencia
- Polimorfismo
- Polimorfismo en tiempo de compilación
- Polimorfismo en tiempo de ejecución

A clase Es un plano 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. Usando clases, puedes crear múltiples objetos con el mismo comportamiento en lugar de escribir su código varias veces. Esto incluye clases para objetos que aparecen más de una vez en su código. En general, las declaraciones de clases pueden incluir estos componentes en orden:
ubuntu construir esencial
- Modificadores : Una clase puede ser pública o tener acceso predeterminado (consulte este para detalles).
- Nombre de la clase: El nombre de la clase debe comenzar con la letra inicial en mayúscula por convención.
- Superclase (si la hay): El nombre del padre de la clase (superclase), si lo hay, precedido por la palabra clave extend. Una clase solo puede extender (subclase) a un padre.
- Interfaces (si las hay): Una lista separada por comas de interfaces implementadas por la clase, si corresponde, precedida por la palabra clave implements. Una clase puede implementar más de una interfaz.
- Cuerpo: El cuerpo de la clase está rodeado por llaves, { }.
Un objeto es una unidad básica de programación orientada a objetos que representa entidades de la vida real. Un programa Java típico crea muchos objetos que, como usted sabe, interactúan invocando métodos. Los objetos son los que ejecutan su código, son la parte de su código visible para el espectador/usuario. Un objeto se compone principalmente de:
- Estado : Está representado por los atributos de un objeto. También refleja las propiedades de un objeto.
- Comportamiento : Está representado por los métodos de un objeto. También refleja la respuesta de un objeto a otros objetos.
- Identidad : Es un nombre único que se le da a un objeto y que le permite interactuar con otros objetos.
- Método : Un método es una colección de declaraciones que realizan alguna tarea específica y devuelven el resultado a la persona que llama. Un método puede realizar alguna tarea específica sin devolver nada. Los métodos nos permiten reutilizar el código sin volver a escribirlo, por lo que se consideran ahorradores de tiempo . En Java, cada método debe ser parte de alguna clase, lo cual es diferente de lenguajes como C , C++ , y Pitón .
clase y objetos un programa java simple:
Java public class GFG { static String Employee_name; static float Employee_salary; static void set(String n, float p) { Employee_name = n; Employee_salary = p; } static void get() { System.out.println('Employee name is: ' +Employee_name ); System.out.println('Employee CTC is: ' + Employee_salary); } public static void main(String args[]) { GFG.set('Rathod Avinash', 10000.0f); GFG.get(); } }> Producción
Employee name is: Rathod Avinash Employee CTC is: 10000.0>
Analicemos ahora los 4 pilares de la programación orientada a objetos:
Pilar 1: Abstracción
Datos Abstracción es la propiedad en virtud de la cual sólo se muestran al usuario los datos esenciales. Las unidades triviales o no esenciales no se muestran al usuario. Ej: un automóvil se considera un automóvil y no sus componentes individuales.
La abstracción de datos también puede definirse como el proceso de identificar sólo 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 el objeto.
Considere un ejemplo de la vida real de un hombre conduciendo un automóvil. El hombre sólo sabe que al presionar el acelerador aumentará la velocidad del automóvil o que al aplicar los frenos se detendrá el automóvil, pero no sabe cómo al presionar el acelerador, la velocidad en realidad aumenta. No conoce el mecanismo interno del automóvil ni la implementación de los aceleradores, frenos, etc. en el automóvil. Esto es lo que es la abstracción.
En Java, la abstracción se logra mediante interfaces y clases abstractas . Podemos lograr un 100% de abstracción utilizando interfaces.
El método abstracto contiene sólo declaración de método pero no implementación.
Demostración de la clase abstracta.
Java //abstract class abstract class GFG{ //abstract methods declaration abstract void add(); abstract void mul(); abstract void div(); }> Pilar 2: Encapsulación
Se define como la agrupación 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 fuera de este escudo acceda a los datos.
- Técnicamente, en encapsulación , las variables o los datos de una clase están ocultos de cualquier otra clase y solo se puede acceder a ellos a través de cualquier función miembro de la clase en la que están declarados.
- En la encapsulación, los datos de una clase se ocultan de otras clases, lo cual es similar a lo que ocultación de datos hace. Por tanto, los términos encapsulación y ocultación de datos se utilizan indistintamente.
- La encapsulación se puede lograr declarando todas las variables de una clase como privadas y escribiendo métodos públicos en la clase para establecer y obtener los valores de las variables.
Demostración de encapsulación:
Java //Encapsulation using private modifier //Employee class contains private data called employee id and employee name class Employee { private int empid; private String ename; }> Pilar 3: Herencia
Herencia es un pilar importante de la POO (Programación Orientada a Objetos). Es el mecanismo en Java mediante el cual se permite a una clase heredar las características (campos y métodos) de otra clase. Estamos logrando la herencia usando se extiende palabra clave. La herencia también se conoce como es un relación.
Analicemos algunas terminologías importantes de uso frecuente:
- Superclase: La clase cuyas características se heredan se conoce como superclase (también conocida como clase base o padre).
- Subclase: La clase que hereda la otra clase se conoce como subclase (también conocida como clase derivada, extendida o secundaria). La subclase puede agregar sus propios campos y métodos además de los campos y métodos de la superclase.
- Reutilizabilidad: La herencia respalda 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 a partir de la clase existente. Al hacer esto, estamos reutilizando los campos y métodos de la clase existente.
Demostración de Herencia:
Java //base class or parent class or super class class A{ //parent class methods void method1(){} void method2(){} } //derived class or child class or base class class B extends A{ //Inherits parent class methods //child class methods void method3(){} void method4(){} }> Pilar 4: Polimorfismo
Se refiere a la capacidad de los lenguajes de programación orientados a objetos para diferenciar eficientemente entre entidades con el mismo nombre. Esto lo hace Java con la ayuda de la firma y declaración de estas entidades. La capacidad de aparecer en muchas formas se llama polimorfismo .
P.ej.
Java sleep(1000) //millis sleep(1000,2000) //millis,nanos>
Nota: El polimorfismo en Java es principalmente de 2 tipos:
- Sobrecarga
- Primordial
Ejemplo
Java // Java program to Demonstrate Polymorphism // This class will contain // 3 methods with same name, // yet the program will // compile & run successfully public class Sum { // Overloaded sum(). // This sum takes two int parameters public int sum(int x, int y) { return (x + y); } // Overloaded sum(). // This sum takes three int parameters public int sum(int x, int y, int z) { return (x + y + z); } // Overloaded sum(). // This sum takes two double parameters public double sum(double x, double y) { return (x + y); } // Driver code 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)); } }> Producción
30 60 31.0>
Conclusión
El concepto de programación orientada a objetos (POO) en Java es una forma poderosa de organizar y escribir código. Utiliza ideas clave como clases, objetos, herencia, polimorfismo, encapsulación y abstracción para crear código flexible y reutilizable. Al utilizar el concepto de programación orientada a objetos de Java, los programadores pueden crear aplicaciones complejas de manera más eficiente, lo que hace que el código sea más fácil de administrar, comprender y modificar. En general, los conceptos de programación orientada a objetos de Java ayudan a crear soluciones de software sólidas y escalables.
Concepto de programación orientada a objetos (POO) en Java – Preguntas frecuentes
¿Qué es el concepto de programación orientada a objetos en Java?
La POO (Programación Orientada a Objetos) es un paradigma de programación basado en el concepto de objetos, que pueden contener datos en forma de campos (atributos o propiedades) y código en forma de procedimientos (métodos o funciones). En Java, los conceptos de programación orientada a objetos incluyen encapsulación, herencia, polimorfismo y abstracción.
¿Por qué es importante la programación orientada a objetos en Java?
La programación orientada a objetos ayuda a organizar y estructurar el código de una manera más manejable, lo que facilita el mantenimiento y la escala de las aplicaciones Java. También promueve la reutilización, la modularidad y la flexibilidad del código, lo que conduce a un desarrollo de software eficiente y sólido.
¿Cuáles son los principios fundamentales de la programación orientada a objetos en Java?
Los principios fundamentales de la programación orientada a objetos en Java son la encapsulación, la herencia, el polimorfismo y la abstracción. La encapsulación garantiza que el estado interno de un objeto esté oculto y solo se pueda acceder a él a través de métodos públicos. La herencia permite que una clase herede propiedades y comportamiento de otra. El polimorfismo permite que los objetos sean tratados como instancias de su clase principal. La abstracción se centra en ocultar los detalles de implementación y mostrar solo la información necesaria al mundo exterior.
¿Cómo se implementa la programación orientada a objetos en Java?
En Java, la programación orientada a objetos se implementa a través de clases y objetos. Una clase sirve como modelo para crear objetos, que son instancias de esa clase. Cada objeto tiene su propio conjunto de atributos (variables) y métodos (funciones). Siguiendo conceptos de programación orientada a objetos como encapsulación, herencia, polimorfismo y abstracción, los desarrolladores de Java pueden diseñar código bien estructurado y mantenible.
¿Cuáles son las ventajas de utilizar programación orientada a objetos en Java?
Algunas ventajas de utilizar programación orientada a objetos en Java incluyen la reutilización del código, la modularidad, la flexibilidad, la escalabilidad y un mantenimiento más sencillo. La programación orientada a objetos permite a los desarrolladores modelar entidades del mundo real como objetos, lo que genera un código más intuitivo y organizado. También admite características como herencia y polimorfismo, que mejoran la extensibilidad y legibilidad de las aplicaciones Java.
¿Puede proporcionar un ejemplo de implementación del concepto de programación orientada a objetos en Java?
¡Seguro! Un ejemplo de implementación del concepto de programación orientada a objetos en Java es la creación de una clase 'Car' con atributos como 'make', 'model' y 'year', junto con métodos como 'start()', 'accelerate()' y 'stop'. ()'. Al crear instancias de objetos de la clase 'Car' y llamar a sus métodos, podemos simular el comportamiento de diferentes instancias de autos de una manera estructurada y orientada a objetos.