Está en la página 1de 14

Unidad 1: Manejo de componentes del lenguaje orientado a objetos

1.1 Identifica los componentes fundamentales de la programación orientada a objetos.

A. Identificación de componentes de la programación orientada a objetos


Concepto de Programación orientada a Objetos (POO)
Desde principio de la década de los noventa hasta la actualidad, la Programación Orientada a Objetos
(POO) se ha establecido como el paradigma1 más extendido entre la comunidad de programadores.
La Programación Orientada a Objeto (POO) pretende un cambio de paradigma a la hora de diseñar y
codificar los programas frente a la programación orientada a procedimientos, empleada en la
programación estructurada, se propone la programación orientada a objetos que ofrece una visión más
cercana a la forma de pensar del ser humano.
La Programación Orientada a Objetos surge como un intento de dominar la complejidad que tiene la
construcción de un software, con esto se entiende que ahora se desarrollan aplicaciones grandes o
pequeñas, duraderas en el tiempo y factibles de modificar. Tradicionalmente, la forma de enfrentarse a
la complejidad del software era usando la programación estructurada, la cual hacía que una aplicación
compleja se descomponga en porciones pequeñas de códigos simples y fáciles de codificar. Entonces,
podemos decir que la programación orientada a objetos es otra forma de descomponer el código por
medio de la descomposición de objetos.
Uno de los principales problemas al desarrollar un software era que cuando este crecía, el código era
muy difícil de manejar. Las técnicas de programación estructurada y programación modular,
disminuyen algo el problema. Pero fue la programación orientada a objetos (POO u OOP) la que
mejoró notablemente la situación.
La POO permite fabricar programas de forma más parecida al pensamiento humano. De hecho,
simplifica el problema dividiéndolo en objetos y permitiendo centrarse en cada objeto, para de esa
forma eliminar la complejidad. Cada objeto se programa de forma autónoma y esa es la principal
virtud.
En la actualidad, la Programación Orientada a Objetos es algo común entre los programadores, ya que
los lenguajes de programación promueven este estilo. Durante varios años, los desarrolladores se han
dedicado a construir aplicaciones muy parecidas que permitían resolver problemas, haciendo que el
programador sea una persona indispensable en la organización, ya que solo el programador conoce el
código que implementó; la POO se creó con la idea principal de no depender de una persona particular,
de manera que otras personas puedan utilizarlas y adelantar su trabajo, así se pudo conseguir que el
código se pueda reutilizar.
Definición de Programación Orientada a Objetos
La POO es un modelo de programación que utiliza objetos ligados mediante mensajes para la solución
de problemas. La idea central es: organizar los programas a imagen y semejanza de la organización de
los objetos en el mundo real, es decir, programar más cercano a como expresaríamos las cosas en la
vida real que otros tipos de programación.
Con todo lo manifestado de la POO no pienses que es difícil programar en Programación Orientada a
Objetos; al contrario, se volverá algo familiar en muy poco tiempo para ti.
Pensar en objetos
1
Un paradigma de programación es un modelo básico de diseño y desarrollo de programas, que permite producir
programas con unas directrices específicas, tales como: estructura modular, fuerte cohesión, alta rentabilidad, etc.
Según los conocimientos que tenemos, podríamos pensar que un programa es una lista de
instrucciones que le indican a la máquina que hacer. En cambio, desde la Programación Orientada
a Objetos, un programa es un conjunto de objetos que dialogan entre sí para realizar las distintas
tareas programadas.
Pensar en términos de objetos es muy parecido a cómo lo haríamos en la vida real. Ahora te toca
pensar en términos de objetos para poder entender mejor los términos usados hasta el momento.
Por ejemplo, un teléfono celular.
Objeto celular:
El teléfono celular es un dispositivo inalámbrico electrónico para acceder y utilizar los servicios de
la red de telefonía celular o móvil. Se denomina celular en la mayoría de países latinoamericanos
debido a que el servicio funciona mediante una red de celdas, donde cada antena repetidora de
señal es una célula.
Características:
 Marca Xiaomi Redmi Note8
 Sistema Operativo: Android 10
 Banda 4G
 Procesador Octa Core
 Cámara Cuádruple de 48 + 8 + 5 +2 MP y cámara
frontal de 16 MP
 Resolución 1080X2400 pixeles
 Pantalla 6.30 pulgadas
Funcionalidad:
 Llamada a otros teléfonos
 Captura fotos y Videos
 Ejecuta juegos 3D
 Reproduce música y videos
 Accede a redes sociales
En Programación Orientada a Objetos el celular sería un objeto de la clase teléfono, las
propiedades serían las características y los métodos serían las funcionalidades que tiene el
dispositivo móvil.
Con la POO se tiene que aprender a pensar las cosas de una manera diferente, para implementar
nuestras aplicaciones en términos de objetos, propiedades y métodos.
Se trata de programar en un “mundo de objetos”. Un objeto puede ser cualquier elemento físico (mi
auto, una bicicleta, dispositivos electrónicos aparatos electrodomésticos, muebles, animales,
alimentos, personas, etc.) o abstracto (factura, transacción bancaria, etc.).
Actividad: Describe un objeto de la vida real con sus características y funcionalidades.

Conceptos básicos de la Programación Orientada a Objetos


Clases y objetos
Las Clases son las plantillas para crear objetos. Una Clase sirve para definir una serie de objetos
con propiedades (atributos) y comportamientos (operaciones o métodos). Hay que pensar en una
Clase como un molde. A través de las Clases se obtienen los objetos en sí.

En Programación Orientada a Objetos hay que distinguir dos conceptos diferentes:


 Clase: Una Clase es un prototipo o molde que indica qué características van a tener y cómo se
van a comportar los elementos creados (objetos) a partir de dicha clase.

 Objeto: Los objetos son los elementos creados a partir de las clases antes mencionadas. En
algunos lenguajes de programación se suele usar el término instancia.
Una Clase se puede utilizar muchas veces para crear muchos objetos de la misma Clase.

Por ejemplo, podemos tener varios objetos del tipo Cliente, uno por cada cliente que tengamos en
nuestra cartera de clientes, pero la clase sólo será una. Si creamos una clase llamada tiempo, esta se
puede utilizar para crear muchos objetos de tipo tiempo: hora levantarse, hora desayuno, hora
comida, hora cena, hora dormir, etc.

Dicho de otra forma, podemos tener varias instancias de una Clase. Una instancia es un objeto
creado a partir de una Clase. Por lo que podemos tener varias instancias u objetos creados a partir
de una Clase.

Una Clase contiene un conjunto de objetos con características similares. Antes de poder utilizar
un objeto se debe definir la Clase a la que pertenece, esa definición incluye:

Propiedades o atributos (Datos miembro)


Las propiedades o atributos son las características de los objetos. Los datos pueden ser públicos
(accesibles desde otra clase) o privados (sólo accesibles por código de su propia Clase).

Métodos (Funciones miembro)


 Son las acciones (u operaciones) que puede realizar la Clase.
 Un método determina cómo tiene que actuar el objeto cuando recibe el mensaje vinculado con
ese método.

Mensajes
Los mensajes son llamados o invocación a los métodos de un objeto en particular.

Un mensaje es una solicitud de objeto para invocar uno de sus métodos. Un mensaje por lo tanto
contiene: el nombre del método y los argumentos del método.

Por consecuencia, la invocación de un método es solamente una reacción causada por el hecho de
recibir un mensaje. Esto solamente es posible si el método es realmente conocido por el objeto.
Características fundamentales de la POO
(Abstracción, Encapsulamiento, Herencia y Polimorfismo)

Abstracción
La abstracción: Consiste en la generalización conceptual de un determinado conjunto de objetos y
de sus atributos y propiedades. ¿Qué se consigue con la abstracción? básicamente pasar del plano
material (cosas que se tocan) al plano mental (cosas que se piensan).
Una abstracción denota2 las características esenciales de un objeto (datos y operaciones), que lo
distingue de otras clases de objetos. La abstracción es clave en el proceso de análisis y diseño
orientado a objetos, ya que mediante ella podemos llegar a armar un conjunto de clases que
permitan modelar la realidad o el problema que se quiere abordar.

Encapsulamiento
Es la propiedad que permite ocultar al mundo exterior la representación interna del objeto, es decir
ocultar tanto nuestros atributos como nuestros métodos. Esto quiere decir que el objeto puede ser
utilizado, pero los datos esenciales del mismo no son conocidos fuera de él. La idea central del
encapsulamiento es esconder los detalles y mostrar lo relevante.
El encapsulamiento permite ocultar parte de nuestro código y exponer solo lo que deseamos.
El encapsulamiento en un sistema orientado a objeto se representa en cada clase u objeto,
definiendo sus atributos y métodos.

Herencia
La herencia consiste en la creación de clases a partir de otras ya existentes. Tenemos lo que
llamamos una clase padre (superclase) y clases hijas (clases derivadas), que heredan los métodos y
atributos de su clase padre.
Con la herencia todas las clases están clasificadas en una jerarquía estricta. La clase superior en la
jerarquía, llamada superclase, o clase padre hereda sus atributos y métodos a las clases inferiores
llamadas clase derivada o clase hija.

CLASS CUENTA

CLASS CORRIENTE CLASS AHORRO

En la POO tiene mucha importancia este concepto, la herencia es el mecanismo que permite crear
clases basadas en otras existentes. Se dice que esas clases descienden de las primeras. Así, por
ejemplo, se podría crear una clase llamada vehículo cuyos métodos serían mover, parar, acelerar y
frenar. Y después se podría crear una clase coche basada en la anterior que tendría esos mismos
métodos (les heredaría) y además añadiría algunos propios.

Polimorfismo
Es una propiedad que permite que un método tenga múltiples implementaciones, que se
seleccionan en base al tipo objeto indicado al solicitar la ejecución del método.
Polimorfismo es la cualidad que tienen los objetos para responder de distinto modo a un mismo
mensaje. El polimorfismo nos permite escribir programas que procesen objetos de clases que
formen parte de una misma jerarquía de clases, como si todos fueran objetos de la clase base.
El polimorfismo permite que las clases hijas implementen un método de la clase padre de forma
distinta.

2
poner de manifiesto un indicio de algo
B. Uso del Lenguaje Unificado de Modelado (UML) para el diseño de programas
orientados a objetos
Representación de una Clase
UML (Lenguaje Unificado de Modelado). Es un lenguaje que unifica las mejores prácticas de ingeniería que
existen actualmente en la industria para el modelado de sistemas. Se utiliza para especificar, visualizar,
construir y documentar sistemas. Está basado en el paradigma orientado a objetos.
Para representar una Clase se utilizan los diagramas de Clase de la notación que provee el Lenguaje
Unificado de Modelado (UML).
Un diagrama de Clase es una representación gráfica de una Clase, el cual ayuda al programador a visualizar
cuales son las propiedades y métodos que contendrá una Clase o conjunto de Clases en particular.
 Las Clases se denotan3 como rectángulos divididos en tres partes. La primera contiene el nombre de la
Clase, la segunda contiene los atributos y la tercera los métodos.
 Los especificadores de acceso a datos y operaciones determinan el alcance de la visibilidad del elemento
al que se refieren. Por ejemplo, un atributo o método, puede que sea visible sólo para la clase que lo utiliza
(prívate), para éstas y las heredadas (protected), para todas las clases del mismo paquete o para cualquier
clase del tipo que sea público (public). Se representan con los símbolos +, #, –, respectivamente, al lado
del atributo o método (+ público, # protegido, - privado).
Retomando el ejemplo anterior de la clase Teléfono, el diagrama de Clase sería el siguiente:
Convención de nombres
En Programación, una convención de
nombres es un conjunto de reglas para la
elección de la secuencia de caracteres que se
utiliza para identificadores que denoten Clases,
métodos y otras entidades en el código fuente y
la documentación.
Los nombres de las clases son sustantivos y
siempre comienzan con una letra mayúscula.
En el ejemplo, nuestra clase se llama Teléfono,
si la clase se denominara teléfono celular se
escribiría de la siguiente manera:
TeléfonoCelular, todo junto y cada palabra
inicia con mayúscula. Esto se conoce también
como nomenclatura4 camelCase.
Para las propiedades o atributos, los nombres
comienzan con una letra minúscula, y si estuviera formado por dos palabras se escribiría junto las dos
palabras, la primera palabra en minúscula y la segunda palabra comienza con una letra mayúscula, como el
atributo sistemaOperativo de la clase Teléfono
Para los métodos se utiliza la misma nomenclatura camelCase, igual que las propiedades, pero finalizan con
paréntesis. Por ejemplo, si el método ejecuta de la Clase Teléfono se denominara ejecuta videos, se escribiría
de la siguiente manera ejecutaVideos().

3
Dar a entender con indicios y señales una cosa para que se conozca.
4
En lingüística, el conjunto o sistema de nombres o términos empleados en alguna disciplina u oficio, o por alguna comunidad.
C. Software para el desarrollo y modelado de aplicaciones orientado a objetos
Son programas orientada a objetos aquellos lenguajes de programación (software) que permiten la utilización
de objetos dentro del diseño del programa, donde el usuario puede escribir a cada objeto código de programa.
Ejemplos de estos programas son: Python, Java, Kotlin, JavaScript, Ruby, PHP, Objective.C, Swift, Matlab,
PowerBuilder, C#, C++, F#, Visual C, Visual Basic.Net, etc.
¿Qué es Java?
Java, es un lenguaje de programación de alto nivel de propósito general. Es uno de los lenguajes
más populares, simple y seguro de utilizar, es multiplataforma y multiparadigma.
Java fue creado por James Gosling cuando trabaja en Sun Microsystem. Fue publicado en 1995.

¿Qué podemos crear con Java?


- Aplicaciones para escritorio
- Páginas web (Backend)
- Base de datos y almacenamiento de datos
- Aplicaciones móviles
- Videojuegos
- Ciencia de datos
- Machine Learning (https://www.oracle.com/mx/data-science/what-is-data-science/)

¿Cuánto software se necesita para poder tener Java en la computadora?


APLICACIÓN CONTENIDO
JDK (Java Development Kit – Kit de  JRE – Java Runtime Environment (Entorno de ejecución de
Desarrollo de Java) java)
 Compilador Java
 Bibliotecas o Librerías
IDE (Entorno de Desarrollo  NetBeans
Integrado)  JCreator
 JDeveloper
 Eclipse

¿Qué es JRE?
Es el Entorno de Ejecución de Java. Contiene la JVM y otras herramientas que permiten la ejecución de las
aplicaciones Java. JRE te permite jugar juegos en línea, chatear, realizar cálculos, ver imágenes en 3D y
disfrutar de muchas otras cosas más. JRE no posee compiladores, ni herramientas para desarrollar las
aplicaciones Java, solo posee las herramientas para ejecutarlas.
 ¿Qué es JMV - Java Virtual Machine?
Es la Máquina Virtual de Java que ejecuta las aplicaciones creadas en Java, garantizando así la portabilidad
de las mismas. Esta define una computadora lógica que ejecutará las instrucciones Bytecode generadas
dentro de un archivo .class
 Librerías
En Java y en varios lenguajes de programación, existe el concepto de librerías. Una librería en Java se puede
entender como un conjunto de clases, que poseen una serie de métodos y atributos. Lo realmente interesante
de estas librerías para Java es que facilitan muchas operaciones. De una forma más completa, las librerías en
Java nos permiten reutilizar código, es decir, que podemos hacer uso de los métodos, clases y atributos que
componen la librería, evitando así tener que implementar nosotros mismos esas funcionalidades a través de
código.
Diferencias entre JRE y JDK
Para poder simplemente ejecutar un programa en JAVA, necesitamos tener como mínimo Java
Runtime Environment (JRE) instalado. El JRE, solo nos permitirá ejecutar programas una vez
compilados.
En el caso de querer desarrollar programas con Java, necesitaremos el JDK

¿Cómo se crea un programa en Java?


El proceso de programación en Java para crear un programa consta de un conjunto de actividades
necesarias para la solución de un problema particular. Las etapas por la que un programa en Java debe
pasar son:
Edición. En esta etapa el
programador escribe el código
fuente en java. Se crea un archivo
.java

Compilación. En esta etapa de


transición se crean códigos de
bytes, conocidos como ByteCode
y al ser guardados se crea un
archivo con el mismo nombre del
archivo Java, pero ahora con
extensión .class.

Ejecución. En esta etapa el


código de bytes depurado es
enviado a la Máquina Virtual de
Java (JVM) para su ejecución y visualización en el entorno que el usuario crea conveniente. De aquí se
desprende el termino de portabilidad ya que dependiendo de la JVM podrá ejecutar la aplicación en una
u otra plataforma.

¿Qué es un IDE - Integrated Development Environment?


Un IDE – Entorno de Desarrollo Integrado, es un entorno de programación que ha sido empaquetado
como un programa de aplicación, consiste en un editor de código, un compilador, un depurador y un
constructor de interfaz gráfica.

Los IDE ofrecen un marco de trabajo amigable para la mayoría de los lenguajes de programación, tales
como: Python, Java, C#, Delphi, Visual Studio, C++, etc.

¿Qué es NetBeans?
Es un IDE que permite editar código del lenguaje Java. NetBeans, es un proyecto de
código abierto cuyo patrocinador principal es Sun Microsystem. Comenzó como un
proyecto estudiantil en la República Checa en 1996 en la Universidad Carolina en Praga.
Jarda Tulach diseñó la arquitectura básica de la IDE y propuso la idea de llamarlo
NetBeans.
NetBeans permite escribir, compilar, depurar y ejecutar aplicaciones Java. También permite
implementar aplicaciones en otros lenguajes como PHP o C++. En la actualidad, NetBeans soporta
todos los tipos de aplicaciones Java como J2SE, EJB y aplicaciones móviles.
¿Qué es un constructor?
Un constructor es un método especial que se ejecuta cuando creamos un objeto. Su función es
inicializar el objeto y sirve para asegurarnos que los objetos siempre contengan valores válidos.
Cuando se crea un objeto en Java se realizan las siguientes operaciones de forma automática:
1. Se asigna memoria para el objeto.
2. Se inicializan los atributos de ese objeto con los valores predeterminados por el sistema.
3. Se llama al constructor de la clase que puede ser uno entre varios.
El constructor de una clase tiene las siguientes características:
 Tiene el mismo nombre que la clase a la que pertenece.
 No puede devolver ningún valor (incluyendo void).
 Debe declararse público para que pueda ser invocado desde cualquier parte donde se desee crear
un objeto de su clase.
 En una clase puede haber varios constructores con el mismo nombre y distinto número de
argumentos (se puede sobrecargar)
 No se hereda.
Método constructor por defecto
Si para una clase no se define ningún método constructor, automáticamente se crea uno por defecto.
El constructor por defecto es un constructor sin parámetros que no hace nada. Los atributos del objeto
son iniciados con los valores predeterminados por el sistema.
¿Qué son los parámetros y los argumentos?
 Un parámetro es una variable que se utiliza para recibir un valor que se envía desde otro módulo.
 Un argumento es el valor que se envía desde el módulo que hace el llamado.
El parámetro aparece en la definición del método, en tanto que el argumento en el llamado al método.
En una forma más simple, generalmente un parámetro es una variable y un argumento un valor.
Formas de pasar parámetros.
Los lenguajes de programación de alto nivel pueden pasar argumentos por valor o por referencia.
Paso por valor.
El paso de argumentos por valor consiste en copiar el contenido del argumento en el parámetro. De esta
forma, el valor enviado estará en el parámetro, en tanto que el argumento conserva el valor original.

Palabra clave this


La palabra clave THIS es una variable de referencia en Java que hace referencia al objeto actual. ... Se
puede usar para referir la variable de instancia de la clase actual. Se puede usar para invocar o iniciar el
constructor de clase actual. Se puede pasar como un argumento en la llamada al método.

Operador new
Es el operador que permite crear un objeto nuevo de una clase determinada.
Entrada y salida de datos con JOptionPane
JOptionPane es una clase que nos provee un conjunto de ventanas de dialogo que es ideal, para mostrar
mensajes al usuario. Ya sean informativos, advertencias, errores, confirmaciones… O incluso tenemos
la posibilidad de solicitar la introducción de un dato.

Esta clase la encontramos dentro del paquete javax.swing.JOptionPane; para que funcione, y que no
nos muestre un error el IDE, debemos importar esta librería.

Tipos de mensaje en JOptionPane


JOptionPane tiene diferentes ventanas de dialogo, entre las que se encuentran:
 JOptionPane.showInputDialog(“Ingrese su número de acceso”). Nos permite la entrada de
datos.
 JOptionPane.showMessageDialog(“Bienvenidos al sistema CONALEP 170”). Nos permite
mostrar un mensaje.
 JOptionPane.ConfirmDialog(“¿Desea salir del sistema?). Nos permite hacer preguntas con
varías confirmaciones. Por ejemplo: Aceptar, Cancelar.

Métodos con retornos de valor


Cuando diseñamos y escribimos métodos en Java, tenemos que decidir si el método va a devolver
algún valor o si por el contrario el método no va a devolver nada (void). Para devolver un valor en un
método se utiliza la palabra reservada: return.

La sentencia return se emplea para salir de la secuencia de ejecución de las sentencias de un método y,
opcionalmente, devolver un valor. Tras la salida del método se vuelve a la secuencia de ejecución del
programa al lugar de llamada de dicho método.

Return, nos ayudará a terminar de forma abrupta la ejecución de ese método y evitar que siga
ejecutando código y consumiendo recursos. Al terminar un método con return, se devuelve el control
de ejecución del programa al hilo o método que haya realizado la llamada.

Sobrecarga de métodos
Dentro de una misma clase pueden definirse dos o más métodos con el mismo nombre, la única regla
es que deben recibir parámetros diferentes. Cuando esto ocurre, se dice que los métodos están
sobrecargados.
https://www.youtube.com/watch?v=v0DVEzymtYg
https://www.youtube.com/watch?v=Z0yLerU0g-Q
https://www.youtube.com/watch?v=v0DVEzymtYg
http://javadesde0.com/jre-jdkque-version-java-instalada-instalo-java-jre/
https://es.stackoverflow.com/questions/104392/cu%C3%A1l-es-la-diferencia-entre-jdk-y-
jre#:~:text=JRE%20es%20el%20Java%20Runtime,posee%20las%20herramientas%20para
%20ejecutarlas.
https://www.ecured.cu/IDE_de_Programaci%C3%B3n
http://javadesde0.com/tag/que-es-joptionpane/#:~:text=JOptionPane%20es%20una%20clase
%20que,encontramos%20dentro%20del%20paquete%20javax.

También podría gustarte