oop java introduction object oriented programming java
Este video tutorial presentará conceptos de OOP (Programación Orientada a Objetos) en Java como Objeto, Clase, Herencia, Polimorfismo, Abstracción, Encapsulación, etc.
En la programación de software, tenemos varios tipos de lenguajes de programación. Los principales lenguajes entre ellos son de naturaleza procedimental u orientada a objetos.
En los lenguajes de programación procedimental, los problemas más grandes se dividen en pequeños problemas solucionables. Estos pequeños problemas se convierten en procedimientos o funciones. De esta forma, el lenguaje de programación procedimental enfatiza las funciones en lugar de los datos. Por lo tanto, los lenguajes de procedimiento descuidaron completamente los datos y, por lo tanto, no garantizan la seguridad de los datos en absoluto.
Este problema fue resuelto por un lenguaje de programación orientado a objetos. La programación orientada a objetos es una forma de diseñar y programar software mediante la manipulación de objetos y los objetos son la parte principal de la programación.
Descubra nuestra serie completa de tutoriales de Java para principiantes aquí .
Lo que vas a aprender:
- Tutoriales en vídeo sobre conceptos de OOPS
- Programación orientada a objetos (OOP) en Java
- Conclusión
Tutoriales en vídeo sobre conceptos de OOPS
Concepto de OOPS en Java - Parte 1:
Análisis en profundidad del concepto OOPS en Java - Parte 2:
Los lenguajes de programación orientados a objetos enfatizan los datos más que las funciones. La programación orientada a objetos (POO) gira en torno a objetos, es decir, una entidad en tiempo real.
Este objeto agrupa los datos y los métodos que operan con estos datos en una unidad. De esta manera, los datos están protegidos del mundo exterior al tener los métodos dentro del objeto. En OOP, los objetos se comunican entre sí a través de mensajes.
Cualquier idioma OOP admite las siguientes características:
- Clases
- Encapsulamiento
- Abstracción
- Herencia
- Polimorfismo
Todas estas características garantizan que los datos estén seguros y, al mismo tiempo, también podemos escribir aplicaciones sólidas. Smalltalk, C ++, Java, etc. son algunos de los lenguajes de programación orientados a objetos.
En este tutorial, discutiremos los conceptos básicos de la programación orientada a objetos relacionados con el lenguaje Java.
Programación orientada a objetos (OOP) en Java
Java es la habilidad de programación más buscada en la actualidad. En Java, todo se basa en el objeto. Java tiene una clase raíz llamada Object de la que se deriva toda la funcionalidad de Java. Por lo tanto, en este tutorial, discutiremos las principales características de OOP con respecto a Java.
Lectura recomendada => Preguntas y respuestas de la entrevista OOP
Aquí vamos a discutir cómo Java es compatible con las siguientes funciones de programación orientada a objetos.
- Objeto y clase
- Clase
- Herencia
- Polimorfismo
- Abstracción
- Encapsulamiento
Analicemos en detalle cada uno de estos conceptos de Java OOP.
Objeto y clase
Una clase se puede definir como un prototipo de diseño o un plano. Los objetos se crean a partir de estos planos. Básicamente, define un tipo común que consta de propiedades y métodos que operan sobre estas propiedades para este tipo común. Luego definimos las instancias de esta clase llamadas objetos.
Una clase tiene muchos componentes como se muestra en la siguiente figura.
Un objeto representa una entidad de la vida real. En Java, un objeto es una instancia de una clase. Entonces, una clase que es un plano se puede usar para crear muchos objetos. Estos objetos a menudo se comunican entre sí pasándose mensajes a través de métodos.
Tutorial de vídeo: clases y objetos
Un objeto normalmente tiene:
- Un estado: Las propiedades o atributos de un objeto en un momento determinado.
- Comportamiento: Los métodos representan el comportamiento de un objeto. Los métodos también definen cómo se comunican los objetos.
- Identidad: Identifica el objeto dándole un nombre único.
Por ejemplo, si tenemos una clase PetAnimals.
Entonces podemos definir un objeto de esta clase de la siguiente manera:
Cerdo PetAnimals = nuevo PetAnimals.
Aquí la identidad del objeto es un cerdo.
A continuación se muestra un programa que demuestra clase y objeto.
|_+_|Producción
En la clase anterior, hemos definido una clase Student con dos propiedades roll_No y student_name. Luego, en el método principal, declaramos dos objetos de clase, es decir, estudiante1 y estudiante2. Tenga en cuenta que estos objetos se crean utilizando un nuevo operador. Una vez creados los objetos, asignamos datos a ambas propiedades del objeto.
Finalmente, imprimimos el contenido del objeto usando el operador '.' (Punto).
Aprenderemos más sobre clases y objetos en nuestros temas específicos de tutoriales de OOP.
Herencia
La herencia es una de las características más importantes de la programación orientada a objetos. A través de la herencia, Java promueve la reutilización del código.
Entonces, ¿qué es una herencia en Java?
La herencia es un mecanismo en Java en el que una clase puede heredar las propiedades de otra clase. Las propiedades que se pueden heredar incluyen miembros de datos y métodos de la clase.
La clase que hereda las propiedades de otra clase se llama subclase. La clase heredada se conoce como la clase 'super' en Java.
Al heredar la clase, la subclase no solo hereda las propiedades sino que también reutiliza el código, ya que el programador no necesita volver a escribir el código cuando puede heredarlo directamente usando la herencia.
En Java, la herencia se logra mediante el uso de la palabra clave 'extiende'. Esta palabra clave amplía se utiliza en la definición de la clase y va seguida del nombre de la clase que se heredará.
Por ejemplo,si hay dos clases, A y B, y B debe heredar A, entonces esta herencia se escribe en Java como:
|_+_|Como ya se mencionó, aquí A es la superclase o clase base o clase padre. B es una subclase, clase derivada o clase hija.
La herencia se divide en los siguientes tipos.
Java admite la herencia jerárquica, de niveles múltiples y única.
Tenga en cuenta que Java no admite herencias múltiples. Java tampoco admite la herencia híbrida, que es una combinación de herencias múltiples y jerárquicas.
A continuación se muestra un programa de ejemplo de herencia única en Java.
|_+_|Producción
En el programa anterior, tenemos una clase base Empleado. Tenemos otra clase Developer que hereda de la clase Employee. En el método principal, podemos ver que al declarar un objeto de la clase Developer podemos acceder no solo a las propiedades de la clase Developer sino también a la clase Employee, ya que es heredada por la clase Developer.
Polimorfismo
El polimorfismo es otra característica importante de la programación orientada a objetos. El polimorfismo es la capacidad del lenguaje para permitir que los objetos o entidades asuman múltiples formas. Por ejemplo, un método que tiene varias implementaciones es polimórfico en Java.
El polimorfismo es de dos tipos en Java:
- Sobrecarga o polimorfismo de tiempo de compilación: En el polimorfismo en tiempo de compilación, la llamada al método polimórfico o sobrecargado se resuelve en tiempo de compilación.
- Polimorfismo anulado o en tiempo de ejecución: En el polimorfismo en tiempo de ejecución, la llamada a un método anulado en el programa Java se resuelve en tiempo de ejecución.
Discutiremos el polimorfismo en detalle en nuestros tutoriales posteriores.
A continuación se muestra un ejemplo de polimorfismo en tiempo de compilación en Java en el que tenemos el método add que está sobrecargado para realizar la suma con diferentes tipos de operandos.
|_+_|Producción
En este programa, tenemos tres métodos sobrecargados llamados add. El primer método toma dos parámetros int, el siguiente método toma tres parámetros int y el tercer método toma dos parámetros dobles. Dependiendo del número de parámetros, la llamada al método se resuelve en tiempo de compilación y se realiza la llamada apropiada.
Abstracción
Mediante la abstracción de datos, solo exponemos las partes esenciales de la aplicación que se hacen accesibles para el usuario. Por ejemplo, si tenemos un automóvil, no nos preocupan los componentes internos del automóvil, sino que solo consideramos el automóvil como un todo.
Usando un mecanismo de abstracción de datos, solo identificamos los detalles necesarios e ignoramos los detalles irrelevantes. Java utiliza clases e interfaces abstractas para lograr la abstracción. Las interfaces son 100% abstractas ya que solo tienen prototipos de métodos y no su definición.
El siguiente ejemplo muestra una clase abstracta y su uso.
|_+_|Producción
En el programa anterior, tenemos una clase abstracta PetAnimals. En esto, tenemos un método abstracto 'animalSound'. Luego creamos una clase Dog y heredamos la clase PetAnimals. En la clase Dog, anulamos el método animalSound.
cual es el mejor convertidor de youtube a mp3
Encapsulamiento
La encapsulación es ocultar datos o protegerlos. En programación, logramos la encapsulación envolviendo los datos y los métodos que operan en esos datos en una sola unidad.
Video tutorial: encapsulación y polimorfismo en Java
Una clase puede verse como una unidad de encapsulación, es decir, tenemos miembros de datos y métodos que operan en estos miembros de datos agrupados en una sola unidad.
Se puede lograr una encapsulación adecuada haciendo que los miembros de los datos sean privados y haciendo que los métodos operen en estos datos como públicos para que los datos estén completamente protegidos de las entidades externas.
El siguiente programa Java demuestra el concepto de encapsulación.
|_+_|Producción
En el programa anterior, tenemos una clase Customer_Account.
En esta clase, tenemos miembros de datos que son todos privados. Luego, para cada campo privado, proporcionamos métodos getter y setter para leer y establecer valores respectivamente. Estos getters y setters son públicos. De esta forma protegemos los campos de datos al no permitirles ningún acceso desde fuera de la clase directamente.
Solo se puede acceder a ellos a través de getters y setters. Esto demuestra la encapsulación que describimos anteriormente.
Preguntas frecuentes
P # 1) ¿Qué se entiende por programación orientada a objetos?
Responder: La programación orientada a objetos (OOP) es un paradigma de software que gira en torno a los datos. En OOP, el énfasis se pone en los datos y, por lo tanto, los problemas se expresan en términos de objetos que son entidades que consisten en datos o campos y métodos que operan en estos campos de datos.
Al hacerlo, se aplican varias características distintivas de OOP como herencia, polimorfismo, abstracción y encapsulación para garantizar la seguridad de los datos, la reutilización, etc.
P # 2) ¿Cuáles son los 4 principios básicos de OOP?
Responder:La programación orientada a objetos (OOP) tiene cuatro principios básicos:
- Herencia
- Polimorfismo
- Abstracción
- Encapsulamiento
También se les llama cuatro pilares de OOP.
P # 3) ¿Por qué Java se llama Orientado a Objetos?
Responder: Java tiene un objeto de clase raíz del que derivamos todas las demás características de Java. Por lo tanto, sin clase y objeto, no podemos tener un programa Java. Por lo tanto, Java se llama lenguaje OOP.
P # 4) ¿Java es puramente orientado a objetos?
Responder: No, Java no es un lenguaje puramente orientado a objetos. Como Java también proporciona tipos de datos primitivos como int, char, float, double, long, etc., no está clasificado como un lenguaje OOP puro.
P # 5) ¿Cuál es la diferencia entre C ++ y Java?
Responder: Tanto C ++ como Java son lenguajes orientados a objetos y admiten funciones de programación orientada a objetos. Pero C ++ es un lenguaje compilado. Por otro lado, Java está compilado y también es un lenguaje interpretado.
El intérprete de Java ejecuta el código de bytes en tiempo de ejecución y genera una salida que lo hace independiente de la plataforma. Sin embargo, C ++ depende de la plataforma.
Más sobre el concepto OOPS
Clase
La clase es un modelo / prototipo de un objeto del mundo real y modela el estado y comportamiento de ese objeto del mundo real.
Declaración de clase
|_+_| |_+_|
Objeto
Los objetos de software son como objetos de la vida real con estado y comportamiento. El estado se almacenará como un campo y expondrá su comportamiento como métodos.
Aquí el espacio es como un diseño general. Dentro de esta sala, debe diseñar una sala de estar, cocina, dormitorio.
|_+_| |_+_|Aquí, el método 'Keepthings ()' debe hacer las funcionalidades básicas requeridas para la habitación y debe tener especificaciones adicionales de acuerdo con la clase de 'sala de estar' y el requisito de clase de 'sala de cocina'. Por lo tanto, las dos clases deberían heredar los métodos de la clase 'sala'.
Herencia
El comportamiento (métodos) y el estado de una clase heredada de la otra clase se denominan herencia. Los métodos y el estado se heredan de la clase principal a la clase secundaria.
Asi que,
|_+_| |_+_|Polimorfismo
En biología, el polimorfismo se refiere a las especias que pueden tener muchas formas diferentes.
Con el mismo concepto en la programación orientada a objetos, la clase secundaria puede heredar sus métodos de clase principal, y también puede agregar características únicas a ese comportamiento. El polimorfismo se puede lograr sobrecargando o anulando el método.
Sobrecarga
|_+_|
Primordial
|_+_|
PRODUCCIÓN: Aquí, el método de la clase secundaria anula el método de la clase principal.
Super palabra clave
Super palabra clave es una variable de referencia que se utiliza para hacer referencia al objeto de clase padre inmediato. Con super palabra clave, puede hacer referencia al método de la clase principal, las variables o el constructor.
Esta palabra clave
Esta palabra clave se utiliza para hacer referencia al objeto de clase actual. Con esta palabra clave, puede acceder a la variable de instancia de clase actual o al método de clase actual. Esto se puede pasar como argumento en la llamada al método.
|_+_|
Constructor
Los constructores de Java son como métodos que serán llamados cuando se cree el objeto para la clase. El constructor debe tener el mismo nombre que la clase.
|_+_|
Al crear un objeto para la clase, Myclass myobj = new Myclass ();
Se llamará al método constructor. El compilador Java crea automáticamente el constructor para todas las clases de forma predeterminada.
|_+_|
Reglas a seguir por el constructor:
- El constructor debe tener el mismo nombre que el nombre de la clase.
- El constructor no debería tener una declaración de retorno.
Puntos a tener en cuenta:
- En la programación orientada a objetos, los objetos son la parte principal de la programación.
- Los conceptos de POO son objeto, clase, herencia, polimorfismo, constructor.
- súper palabra clave utilizada para referirse a los miembros de la clase principal, y esta La palabra clave se utiliza para hacer referencia a un objeto de clase actual.
- Los constructores son como métodos que se llamarán cuando se cree el objeto para la clase.
Conclusión
Este tutorial cubrió los conceptos básicos de importantes funciones orientadas a objetos compatibles con Java. Este es solo un tutorial introductorio sobre OOPS en Java. Cubriremos todos los temas en detalle en nuestros tutoriales posteriores. Java admite cuatro pilares de OOP, es decir, polimorfismo, herencia, abstracción y encapsulación.
Aparte de estas características, Java también es compatible con otras características y construcciones de programación orientada a objetos como contención, agregación, paso de mensajes, etc., que se analizarán en nuestros próximos tutoriales.
Lectura recomendada
- Tutorial de JAVA para principiantes: más de 100 tutoriales prácticos en vídeo de Java
- ¿Qué es la abstracción en Java? Aprenda con ejemplos
- ¿Qué es la herencia en Java? Tutorial con ejemplos
- ¿Qué es el polimorfismo en Java? Tutorial con ejemplos
- Encapsulación en Java: tutorial completo con ejemplos
- Tipos de herencia en Java: herencia única versus herencia múltiple
- Conceptos de OOPS en C #: Tutorial del concepto de programación orientada a objetos
- Programación orientada a objetos en C ++