0% encontró este documento útil (0 votos)
60 vistas9 páginas

Untitled

1) El documento presenta conceptos generales sobre programación orientada a objetos, incluyendo definiciones de objetos, clases, herencia, encapsulamiento, polimorfismo y excepciones. 2) Explica características como abstracción, interfaces, constructores y diferencias entre clases y objetos. 3) También cubre temas como paso por valor vs referencia, palabras clave static y tipos de constructores y excepciones.

Cargado por

Izuku Midoriya
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
60 vistas9 páginas

Untitled

1) El documento presenta conceptos generales sobre programación orientada a objetos, incluyendo definiciones de objetos, clases, herencia, encapsulamiento, polimorfismo y excepciones. 2) Explica características como abstracción, interfaces, constructores y diferencias entre clases y objetos. 3) También cubre temas como paso por valor vs referencia, palabras clave static y tipos de constructores y excepciones.

Cargado por

Izuku Midoriya
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

CORPORACIÓN UNIFICADA NACIONAL DE EDUCACIÓN

SUPERIOR – CUN
INGENERIA DE SISTEMA.
MONTERIA CÓRDOBA – 04/04/2023
GRUPO 30802

AUTOR:
JOSÉ MARIO HERNÁNDEZ HERNÁNDEZ

TUTOR:

AREA:
PROGRAMAION ORIENTADA A OBJETOS

TEMA:
CONCEPTOS GENERALES SOBRE LA PROGRAMACION
ORIENTADA A OBJETOS
Conceptos generales sobre la programación orientada a objetos

¿Qué significa el término POO?


es un paradigma de programación, esto es, un modelo o un estilo de
programación que proporciona unas guías acerca de cómo trabajar con él y que
está basado en el concepto de clases y objetos.

¿Qué es un Objeto?
Se trata de un ente abstracto usado en programación que permite separar los
diferentes componentes de un programa, simplificando así su elaboración,
depuración y posteriores mejoras.

Los objetos integran, a diferencia de los métodos procedurales, tanto los


procedimientos como las variables y datos referentes al objeto.

A los objetos se les otorga ciertas características en la vida real. Cada parte del
programa que se desea realizar es tratado como objeto, siendo así estas partes
independientes las unas de las otras. Los objetos se componen de 3 partes
fundamentales: métodos, eventos y atributos.

¿Qué es una interfaz?


es un medio común para que los objetos no relacionados se comuniquen entre sí.

¿Qué es la Herencia?
la herencia es, después de la agregación o composición, el mecanismo más
utilizado para alcanzar algunos de los objetivos más preciados en el desarrollo de
software como lo son la reutilización y la extensibilidad.

¿Cuáles son los distintos tipos de herencia?


Herencia Simple: Es una clase hereda únicamente de una clase. No debemos
confundirnos con este concepto y pensar que hablamos de niveles de herencia.
Aunque en mi sistema existan varios niveles de herencia, al establecer una
herencia simple cada una de las clases hereda solo de una clase.
Herencia Múltiple: Es una entidad deriva de dos o más clases, sin importar los
niveles de herencia.
¿Cuáles son las limitaciones de la herencia?
Todos los campos y métodos de una clase son siempre accesibles para el código
de la misma clase.
Para controlar el acceso desde otras clases, y para controlar la herencia por las
subclases, los miembros (atributos y métodos) de las clases tienen tres
modificadores posibles de control de acceso:

1. Public: Los miembros declarados public son accesibles en cualquier lugar


en que sea accesible la clase, y son heredados por las subclases.
2. Private: Los miembros declarados private son accesibles sólo en la propia
clase.
3. Protected: Los miembros declarados protected son accesibles sólo para
sus subclases.

¿Qué es la Encapsulación?
Se refiere a la agrupación de datos con los métodos que operan en esos datos, o
la restricción del acceso directo a algunos de los componentes de un objeto.  La
encapsulación se utiliza para ocultar los valores o el estado de un objeto de datos
estructurados dentro de una clase, evitando el acceso directo a ellos por parte de
los clientes de una manera que podría exponer detalles de implementación ocultos
o violar la invariancia de estado mantenida por los métodos.

¿Qué es la abstracción?
es una manera de reducir la complejidad y permitir un diseño e implementación
más eficientes en sistemas de software complejos. Oculta la dificultad técnica de
los sistemas detrás de Apls más simples.

¿Que son las Clases Abstractas?


Es una clase genérica (o tipo de objeto) que se utiliza como base para crear
objetos específicos que se ajusten a su protocolo o al conjunto de operaciones
que admite.
¿Que son las Interfaces?
Permite la conexión de una aplicación o software con otro. Una interfaz de
programación permite la transmisión de datos y funciones entre sistemas de
aplicación y software.
Las interfaces de programación permiten la portabilidad de los datos, la
orientación de las campañas de correo electrónico (por ejemplo, un servicio de
correo electrónico de soluciones SaaS para el marketing relacional), los datos
abiertos, la integración de las funciones de una app (por ejemplo, una aplicación
web) y la integración de los datos en una campaña de marketing. Aplicación web o
aplicación móvil) en uno o varios otros y mucho más.

¿Qué es Polimorfismo?
Polimorfismo nos indica la capacidad de adoptar varias formas. En el mundo de
las ciencias de la computación, el concepto de polimorfismo es uno de los pilares
del paradigma orientado a objetos y se refiere a una forma de reusar código, que
consiste en añadirle a un objeto la capacidad exhibir distintas conductas según el
contexto. Una palabra clave en este dominio es la de <despachar>, ya que alude
justamente a la acción de entregar algún pedido, y concretamente en
programación, remite a la capacidad de retornar el valor adecuado según sea el
caso.

¿Qué es el polimorfismo dinámico?


Es aquel en el que la clase hija tiene una definición propia, pero que depende de
la clase en la que está anidada.

¿Qué es Sobrecarga?
C++ permite especificar más de una función con el mismo nombre en el mismo
ámbito. Estas funciones se denominan funciones sobrecargadas o sobrecargas.
Las funciones sobrecargadas permiten proporcionar una semántica diferente para
una función, dependiendo de los tipos y el número de argumentos.

¿Cuál es la diferencia entre una Clase y un Objeto?


Las clases se definen en el proceso de desarrollo mientras que los objetos se
crean en tiempo de ejecución, es decir cuando el programa está corriendo.

¿Cuál es la diferencia entre Interfaz y Clase?


Que una clase puede tener atributos y métodos y puede heredar o extender
cualquier clase (independientemente de que esta sea abstracta oh no) y la interfaz
solamente puede extender o implementar otras interfaces.
¿Pueden las clases en Java heredar más de una clase?
Java no soporta la herencia múltiple ya que una clase concreta solo puede tener
una clase padre.

¿Diferencias entre clase abstracta e interfaz?


Una clase abstracta puede heredar de una sola clase (abstracta o no) mientras
que una interfaz puede extender varias interfaces de una misma vez.
Una clase abstracta puede tener métodos que sean abstractos o que no lo sean,
mientras que las interfaces sólo y exclusivamente pueden definir métodos
abstractos.

¿Qué significa “Paso por valor” y “Paso por referencia”?


En el paso por valor: El valor de un parámetro de la función se copia en otra
variable.
Paso por referencia: Se pasan/copian los parámetros reales a la función.

¿Que hace la palabra Static?


El modificador static se puede usar para declarar clases static. En las clases, las
interfaces y las estructuras, puede agregar el modificador static a los campos, los
métodos, las propiedades, los operadores, los eventos y los constructores. El
modificador static no se puede usar con indizadores ni finalizadores. Para más
información, vea Clases estáticas y sus miembros.

¿Que son las Excepciones?


Es una condición anormal que surge en una secuencia de código en el tiempo de
ejecución. En otras palabras, una excepción, es un error en tiempo de ejecución.
La Excepción es un objeto que define una situación inusual o errónea en el
funcionamiento de un programa.

¿Qué es el manejo de excepciones?


Son un mecanismo incorporado en C++ para traer los problemas a la superficie y
poder manejarlos para prevenir que un programa finalice por un fallo. Ç

¿Qué es un bloque de prueba/captura?


Sirve para capturar cualquier excepción que se corresponda con el tipo declarado
o cualquiera de sus subclases. Aunque haya varios posibles Catch que puedan
capturar una excepción, sólo uno de ellos será ejecutado cuando ésta se
produzca.
Mencione los tipos de excepciones que existen
 Error: Excepciones que indican problemas muy graves, que suelen ser no
recuperables y no deben casi nunca ser capturadas.
 Exception: Excepciones no definitivas, pero que se detectan fuera del
tiempo de ejecución.
 RuntimeException: Excepciones que se dan durante la ejecución del
programa.

Menciones algunos paradigmas de la POO


En este modelo de paradigma se construyen modelos de objetos que representan
elementos (objetos) del problema a resolver, que tienen características y
funciones. Permite separar los diferentes componentes de un programa,
simplificando así su creación, depuración y posteriores mejoras. La programación
orientada a objetos disminuye los errores y promociona la reutilización del código.
Es una manera especial de programar, que se acerca de alguna manera a cómo
expresaríamos las cosas en la vida real.

¿Cuáles son las principales características de los POO?


Las principales características de la POO Son:
 Abstracción
 Encapsulamiento
 Polimorfismo
 Herencia
 Modularidad
 Principio de ocultación
 Recolección de basura

Realiza las diferencias entre la Programación orientada a objetos


y la programación orientada a estructura
En programación estructurada tenemos subrutinas (funciones) y en
la programación orientada a objetos tenemos objetos que, a su vez, tiene unas
características especiales (atributos) y unos comportamientos (métodos).
¿Qué es un constructor?
es un método cuyo nombre es igual que el nombre de su tipo. Su firma del método
incluye solo un modificador de acceso opcional, el nombre del método y su lista de
parámetros; no incluye un tipo de valor devuelto. En el ejemplo siguiente se
muestra el constructor de una clase denominada Person.
¿Cuáles son los distintos tipos de constructores?
constructor por defecto, constructor parametrizado y constructor de copia.
¿Cuáles son los diversos tipos de constructores en C++?
 Constructor por omisión (implícito)
 Constructor explicito con argumentos
 Constructor explicito con argumentos por emisión
 Constructor copia
 Constructor explicito o por defecto
¿Cuáles son los diferentes tipos de argumentos?
Escalares; estructuras; uniones, o enumeraciones; clases definidas por el usuario;
punteros o referencias a estructuras y uniones, o punteros a funciones, a clases o
a matrices.
¿Qué es un destructor?
es una función miembro que se invoca automáticamente cuando el objeto sale del
ámbito o se destruye explícitamente mediante una llamada a delete. Un destructor
tiene el mismo nombre que la clase precedido por una tilde (~).
¿Qué es la recolección de basura (GC)?
es un mecanismo implícito de gestión de memoria implementado en algunos
lenguajes de programación de tipo interpretado o semiinterpretado.
¿Qué son los manipuladores?
Se refiere a herramientas, o mecanismos, preconstruidos para hacer determinadas
cosas. En el contexto de las Librerías Estándar de E/S, el término se refiere a
algoritmos que ayudan con el manejo de flujos, especialmente en el caso de E/S
formateadas (también pueden concebirse manipuladores para flujos no-
formateados). Aunque las operaciones pueden ser de cualquier tipo, generalmente
se refieren a operaciones de formateo.
¿Qué es una función en línea?
Son las funciones que, al compilar, no son llamadas en el código objeto, sino
insertadas en la sección del código donde se las llame.
¿Qué es una función virtual?
es una función cuyo comportamiento, al ser declarado "virtual", es determinado
por la definición de una función con la misma cabecera en alguna de sus
subclases. Este concepto es una parte muy importante del polimorfismo en la
POO.
¿Qué es la sobrecarga de funciones?
Son las que permiten proporcionar una semántica diferente para una función,
dependiendo de los tipos y el número de argumentos.
¿Qué es la sobrecarga del operador?
Se llama sobrecarga de operadores cuando reutilizando el mismo operador con un
número de usos diferentes, y el compilador decide como usar ese operador
dependiendo sobre qué opera.
¿Qué es un operador ternario?
Es un operador que toma tres argumentos. Este operador ternario puede pasar
varias líneas de código a una sola línea en lenguajes que puedan usarlo tales
como JavaScript, C, C# o Java. Los argumentos y el resultado que puede ser de
diferentes tipos.
¿Qué son los tokens?
Es una cadena de caracteres que tiene un significado coherente en cierto lenguaje
de programación. Ejemplos de tokens, podrían ser palabras clave (if, while, int,),
identificadores, números, signos, o un operador de varios caracteres, (por ejemplo,
=).
Son los elementos más básicos sobre los cuales se desarrolla toda traducción de
un programa, surgen en la primera fase, llamada análisis léxico, sin embargo, se
siguen utilizando en las siguientes fases (análisis sintáctico y análisis semántico)
antes de perderse en la fase de síntesis.
¿Qué son los modificadores de acceso?
son palabras clave que se usan para especificar la accesibilidad declarada de un
miembro o un tipo.
¿Qué son modificadores sellados?
Es aquella de la cual no podemos heredar. Lo que quiere decir que no podemos
implementar en otras clases para tener acceso a sus miembros.
¿Cómo podemos llamar al método base sin crear una instancia?
Para llamar a un método base sin crear una instancia, puede usar la palabra clave
"base" en un lenguaje de programación orientado a objetos como C#. Los
métodos estáticos también se pueden llamar sin crear una instancia de la clase,
usando anotaciones de métodos estáticos en Python. En general, para llamar a un
método de una clase sin crear una instancia, puede usar las palabras clave "static"
o "classmethod" en Python, o si es estático, llame al método directamente.
¿Cuál es el modificador de acceso predeterminado en una clase?
Los modificadores de acceso, como su nombre indica, determinan desde qué
clases se puede acceder a un determinado elemento. En Java tenemos 4 tipos:
public, private, protected y el tipo por defecto, que no tiene ninguna palabra clave
asociada, pero se suele conocer como default o package-private.
Si no especificamos ningún modificador de acceso se utiliza el nivel de acceso por
defecto, que consiste en que el elemento puede ser accedido sólo desde las
clases que pertenezcan al mismo paquete.

¿Qué es una clase base, una subclase y una super clase?


Clase base: Es una clase que va a heredar sus propiedades (variables) y
funcionalidades (métodos) a otras clases; por otro lado, se conoce como clase
derivada a una clase que se implementa mediante la reutilización de las
propiedades y funcionalidades que se heredan de una (o varias) clase base.
Subclase: La subclase puede agregar sus propios campos y métodos, además
de los campos y métodos de la superclase.

Super clase: La clase cuyas características se heredan se conoce como


superclase (o una clase base o una clase principal).
¿Cuántas instancias se pueden crear para una clase abstracta?
No se pueden crear instancias de una clase abstracta. El propósito de una clase
abstracta es proporcionar una definición común de una clase base que múltiples
clases derivadas pueden compartir.

También podría gustarte