You are on page 1of 9

UNIVERSIDAD DE GUADALAJARA

Licenciatura en Tecnologías de la Información

Programación y Estructura de
Gustavo Álvarez Garín 193091906
Grupo: 01686
Asesor: Ignacio Robles
Unidad 1: Manejo de conceptos previos de la Programación Orientada a
Objetos

Actividad de aprendizaje 2: Cuestionario


CUESTIONARIO 2

Bibliografía
Henao, C. (19 de mayo de 2013). CoDejavu. Recuperado el 27 de Enero de 2017,
de Tutoriales y guias practicas, lecciones aprendidas en el desarrollo de
software: http://codejavu.blogspot.mx/2013/05/conceptos-de-programacion-
orientada.html

1. El que sigue es un cuestionario que contiene todos los elementos necesarios


sobre la filosofía orientada a objetos que, como estudiante de Estructura de Datos,
es necesario cubrir. Las preguntas son las siguientes:

a. ¿Cuáles son los cuatro conceptos básicos en que se basa la POO? Describe
cada uno de ellos.

Clase: Son estructuras que representan objetos reales pero que se encuentran en
el entorno de programación. Las Clases poseen propiedades, comportamientos y
relaciones con otras clases del sistema.

Una clase se compone de tres partes:

 Nombre: Contiene el nombre de la clase.

 Atributos: Representan las propiedades que caracterizan la clase.

 Métodos: Representan el comportamiento u operaciones, la forma como


interactúa la clase con su entorno.

Objeto: Los objetos representan una entidad concreta o abstracta del mundo
real, en programación se le conoce como instancia de una clase y es lo que le da
sentido a las clases.

Herencia: La Herencia en Java tiene las mismas características del concepto de


herencia en el mundo real, en java se crean nuevas clases que pueden obtener
las características de las clases de las que fueron creadas este proceso se
permite solo a partir de una clase principal y se representa mediante la palabra
extends.

Abstracción: Este concepto en Java se complementa con la Herencia, se utiliza


cuando existen varias clases con características o acciones comunes, pero con
comportamientos diferentes.
Encapsulamiento: Es la forma de proteger nuestros datos dentro del sistema
estableciendo permisos, niveles de accesibilidad y acceso.

3 niveles de encapsulamiento:

 Publico: Se puede acceder a todos los atributos o métodos de la clase.

 Protegido: Se puede acceder a atributos o métodos solo en la misma


jerarquía de herencia.

 Privado: Solo se puede acceder a los atributos o métodos de la clase en la


que se encuentran. Con la Encapsulación mantenemos nuestros datos
seguros, ya que podemos evitar que por ejemplo se hagan modificaciones
al estado o comportamiento de un objeto desde una clase externa

Polimorfismo: Este concepto se refiere a los métodos de programación a través de


código de forma general en lugar de hacerlo de forma específica, se usa cuando se
trabajen con la herencia y objetos de características comunes los cuales comparten
la misma super Clase y árbol jerárquico, al trabajar con este concepto optimizamos
y simplificamos en gran medida nuestro trabajo.

b. Define los conceptos de: clase, sobrecarga y sobreescritura (sustitución).

Clase: Son estructuras que representan objetos reales pero que se encuentran en
el entorno de programación. Las Clases poseen propiedades, comportamientos y
relaciones con otras clases del sistema.

Una clase se compone de tres partes:

 Nombre: Contiene el nombre de la clase.

 Atributos: Representan las propiedades que caracterizan la clase.

 Métodos: Representan el comportamiento u operaciones, la forma como


interactúa la clase con su entorno.

Sobrecarga: Este concepto se refiere a la manera como declaramos o


nombramos una clase, la sobrecarga permite declarar métodos que se llamen
igual pero que reciban parámetros diferentes.

Sobreescritura: es la forma por la cual una clase que hereda puede re-definir los
métodos de su clase Padre, de esta manera puede crear nuevos métodos con el
mismo nombre de su superclase.
c. ¿Qué diferencia hay entre una clase y un objeto?

Objeto: Los objetos representan una entidad concreta o abstracta del mundo
real, en programación se le conoce como instancia de una clase y es lo que le
da sentido a las clases.

Clase: Son estructuras que representan objetos reales pero que se encuentran en
el entorno de programación. Las Clases poseen propiedades, comportamientos y
relaciones con otras clases del sistema.

Diferencia entre Clase y Objeto: Una clase es una característica esencial (Un
molde) de un objeto, cuando generas una línea de código y generas un objeto,
este tiene las características esenciales de la clase.

d. ¿Qué es un constructor y cuál es su uso? ¿Cuántos constructores puede


haber en una misma clase? Menciona los dos usos de la palabra reservada
"super".

Un Constructor es una función, método, de las clases, la cual es llamada


automáticamente cuando se crea un objeto de esa clase. Su función es
inicializar el objeto y sirve para asegurarnos que los objetos siempre
contengan valores válidos.

En una clase puede haber varios constructores con el mismo nombre y


distinto número de argumentos.

Super sirve para invocar una clase y todos sus atributos heredados de una
superclase.

e. ¿Cuáles son los modificadores de nivel de acceso? Explícalos.

Los modificadores de nivel de acceso determinan desde que clase se puede


acceder a un determinado elemento del entorno de programación. El acceso
puedes ser.

 Publico: Se puede acceder a todos los atributos o métodos de la clase.

 Protegido: Se puede acceder a atributos o métodos solo en la misma


jerarquía de herencia.

 Privado: Solo se puede acceder a los atributos o métodos de la clase en la


que se encuentran. Con la Encapsulación mantenemos nuestros datos
seguros, ya que podemos evitar que por ejemplo se hagan modificaciones
al estado o comportamiento de un objeto desde una clase externa
f. Explica qué es el estado y comportamiento de un objeto en el contexto de la
Programación Orientada a Objetos.

Comportamiento es como un objeto actúa y reacciona, en términos de sus


cambios de estado y de los mensajes que intercambia.

g. ¿Qué es la jerarquía de clases en Java?

En Java muchas subclases pueden heredar de una misma superclase, y a su


vez una subclase puede convertirse en superclase de otra. Así las cosas,
podemos hablar de una jerarquía de herencia. La jerarquía es el esquema
organizativo de las clases con relación de herencia entre sí.

h. ¿Para qué se utilizan las palabras reservadas "super" y "this"?

Super: Sirve para llamar a la herencia de la clase y sirve para instanciar


objetos.

This: sirve para asignar un valor especifico de la herencia

i. ¿Para qué se utiliza la clase Object?

La clase Object es la clase raíz de todo el árbol de la jerarquía de clases Java


j. ¿Qué son los paquetes y cuál es su función en Java?

Un Paquete en Java es un contenedor de clases que permite agrupar las distintas


partes de un programa y que por lo general tiene una funcionalidad y elementos
comunes, definiendo la ubicación de dichas clases en un directorio de estructura
jerárquica.

k. ¿Para qué se utiliza la palabra reservada "import"?

Los paquetes son una forma de organizar grupos de clases. Un paquete contiene
un conjunto de clases relacionadas bien por finalidad, por ámbito o por herencia.

Para importar clases de un paquete se usa el comando “import”. Se puede


importar una clase individual

¿Qué relación existe entre un paquete y una clase?


Los paquetes resuelven el problema del conflicto entre los nombres de las clases.
Al crecer el número de clases crece la probabilidad de designar con el mismo
nombre a dos clases diferentes.

Las clases tienen ciertos privilegios de acceso a los miembros dato y a las
funciones miembro de otras clases dentro de un mismo paquete.
m. ¿Cuáles son los tipos primitivos de Java?

En Java existen datos de tipo primitivos, que se corresponden con los tipos de
variables en lenguajes como C y que son los datos elementales, estos datos no
utilizan métodos, no son objetos y no necesitan invocación para ser creados.

Los datos primitivos son: byte, short, int, long, float, doublé, char, boolean.

n. ¿Qué son las clases envoltorio o Wrapper?

Es una forma de utilizar como almacenamiento la clase Object

o. ¿Qué es el manejo de Excepciones y cuál es la utilidad de la clase Exception


para la gestión de este tipo de eventos?

El manejo de excepciones es una técnica de programación que permite al


programador controlar los errores ocasionados durante la ejecución de un
programa informático. Cuando ocurre cierto tipo de error, el sistema reacciona
ejecutando un fragmento de código que resuelve la situación, por ejemplo,
retornando un mensaje de error o devolviendo un valor por defecto.

p. ¿Qué es una clase abstracta y para qué nos sirve?

Es una clase que no se puede instanciar. Nos sirve para definir subclases. El resto
de clases puede heredar de una clase abstracta con el modificador "extends".

Sirve para crear polimorfismo entre dos clases.

q. ¿Qué es una interface? Da un código como ejemplo.

Una clase implícitamente abstracta.


r. ¿Qué son los tipos genéricos? Da un código como ejemplo.

En Java, cuando definimos una nueva clase, debemos conocer el tipo de dato con
el que trabajaremos. Si queremos realizar una operación específica dentro de esta
nueva clase, sea cual sea el tipo de datos que va a recibir, podemos hacer uso de
los tipos genéricos. Este tipo genérico asumirá el tipo de dato que realmente le
pasaremos a la clase.

s. ¿Qué es una variable estática? Da un ejemplo.


t. ¿Qué es un método estático? Da un código como ejemplo.

Una clase, método o campo declarado como estático puede ser accedido o invocado
sin la necesidad de tener que instanciar un objeto de la clase.

Listado de conceptos que tuve dificultad de recordar


Constructor
Paquete
Tipos primitivos
Wrapper
Excepciones
Clase abstracta
Tipos genéricos
Todos los anteriores conceptos me causaron dificultad ya que algunos de ellos no
los recuerdo y otros no los conocía, se muy poco de programación en java apenas
logro hacer algunas líneas de código creo que me hace falta estudiar más.
Bibliografía
Henao, C. (19 de mayo de 2013). CoDejavu. Recuperado el 27 de Enero de 2017,
de Tutoriales y guias practicas, lecciones aprendidas en el desarrollo de
software: http://codejavu.blogspot.mx/2013/05/conceptos-de-programacion-
orientada.html

You might also like