Programacion orientada a objetos Flashcards

(38 cards)

1
Q

Paradigma

A

Modelo patron o ejemplo que debe seguirse en determinada situacion

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

POO

A

La Poo es un paradigma que se basa en la idea de un mundo de objetos, todo se puede representar como objeto

Concepto de agrupar codigo y datos juntos dentro de una misma unidad llamada clase

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Caracteristicas Poo

A

Abstraccion, encapsulamiento, polimorfismo, herencia, UML (Lenguaje universal del modelado)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Clases

A

Plantilla o molde para construir objetos
* Representa entidades del mundo real
* Poseen atributos y metodos
* No pueden ser utilizados directamente (mediante instancias de objetos)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Metodos

A

Acciones en una clase y definen su comportamiento
* Operaciones con verbos en infinitivos
* Valores de entrada y salida
* Procedimientos (no retorna valor) y funciones (retornan un valor)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Objetos

A

Instancia de una clase
* Posee un estado de acuerdo a sus atributos
* Posee comportamientos de acuerdo a sus metodos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Metodos constructores

A

Funciones especiales que contienen las clases para la creacion de objetos
* Se llaman igual que las clases
* No retorna ningun valor (ni siquiera void)
*Dos tipos= Vacios (sin datos guardados), con parametros (con this, referencia al objeto actual)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Gettrs y setters

A

Metodos para establecer u obtener valores de atributos del objeto

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Herencia

A

Clases que comparten gran parte de sus caracteristicas
*Permite reutilizar clases
*La subclase o clase hija, puede poseer atributos y metodos unicos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Polimorfismo

A

Muchas formas
* A partir de un objeto padre puede tener clases hijas que comparten atributos y metodos
* Permite asignaciones de hijo a padre pero no de padre a hijo
* Permite manejar mismo tipo padre en todos los hijos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Sobrecarga

A

Mismo nombre -> diferentes parametros en tipo o cantidad

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Sobre escritura

A

Clase madre con un metodo, cuando el hijo hereda, puede reemplazar el metodo con otra logica, mismo metodo, diferente implementacion en el hijo

*Mismo parametros y tipo de retorno
*Cuando se usa abstract en el padre es necesario la implementacion del metodo en el hijo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Encapsulamiento

A

Reunir todos los elementos que pueden considerarse perteneciente a una misma entidad al mismo nivel de abstraccion, no es OCULTACION

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Ocultacion

A

Cada objeto aislado y unicamente expone una interfaz a otros objetos, proyege las propiedades de un objeto contra su modificacion a quien no tenga acceso

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Encapsulamiento Tipos

A

Publico -> puede ser usado desde cualquier lugar
Private -> puede ser usado en la clase donde se declaro unicamente
Protected -> puede ser usado en la misma clase y clases hijas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Clases abstractas

A

No pueden ser instanciasdas
*Declara la existenia de metodos pero no su implementacion, convirtiendola en clase padre
* Al menos uno de sus metodos debe ser abstracto (Puede tener metodos no abstractos)
* Niveles public o protected, nunca private
*Solo se puede heredar de una abstracta a la vez
Generalmente indican el “es/ser” de un objeto mas que el como lo hace

17
Q

Cuando se usan las clases abstractas

A

cuando se quiere una abstraccion que englobe objetos de distintos tipos y se requiere usar el polimorfismo
EJ: figuras, area de cada hijo se calcula de forma diferente

*Si la subclase no redefine el metodo abstracto debera declararse como abstracta

18
Q

Interfaces

A

Herencia multiple
* Coleccion de metodos abstractos con propiedades constantes
* Solamente puede extender e implementar otras interfaces
* Da a conocer lo que se debe hacer pero no el como
* Solo tiene metodos publicos
* Solo puede tener public static final (constantes)
* La palabra abstract en la definicion no es obligatoria
* Generalmente indican el “Puede hacer” de un objeto

19
Q

Colecciones

A

Similares a los arreglos (matrices o vectores), pero dinámicos, tamaño y cantidad varían con el tiempo

En Java mediante la interfaz Collection

20
Q

Tipos de colecciones

A

List - Array List
Set - hash set…
Queu
Map - hash map ….

21
Q

Listas

A

Conjunto de elementos relacionados y tienen un orden

Son dinámicas

Array List (fifo), linkedlist (fifo), stack (lifo)

22
Q

Array list

A

Clase representada como matriz dinámica para almacenar
* Implementar la interfaz list
* Permite duplicados
* Se ordena por orden de inserción
* Acceso aleatorio - índice
* Manipulación lenta al hacer cambios

23
Q

Linkedin list

A
  • Es una clase
    *Lista doblemente enlazada(ida y vuelta)
  • Permite duplicados
  • Mantiene orden inserción
  • Manipulación más rapida
  • Puede usarse como pila o cola
  • Eliminación e inserción al comienzo y al final
24
Q

Diferencia Array List y Linked list

A

En Array List solo se puede insertar al final, con linkedlist se puede insertar al comienzo y al final

Linked list no tiene índice, solo recorrerlo por foreach

Pueden tener métodos propios ej gerFirst en Linked

25
Stacks - pilas
* lifo - ultimas en entrar, primeras en salir * Tiene algunos métodos propios ej push * En Java clase antigua ahora se recomienda Deque
26
Collection - map
Map - más utilizada en Java * Usa clave valor como Json * No puede tener duplicados * Acceso a traves de claves Hash map, tree map, linked hash map...
27
Excepciones
Evento que ocurre durante la ejecucion de un programa y rompe el flujo normal de la ejecucion Posibles causas: errors de hardware, operaciones matematicas no posibles, errores del programa, apertura de un archivo que no existe, entre otras
28
Tipos de excepciones
*Propias de Java (errores - No permite la continuacion del flujo o excepciones - desvia el flujo para que continue) *Personalizadas (try - catch - finally: siempre se ejecuta - throw: forzar excepcion - throws: declara que metodo puede lanzar excepciones y obliga a quien lo implemente a usar try catch)
29
Categorias dentro de Exception
*checked exception, el compilador te obliga a atraparlas con try catch o a declararla con throws - representan probemas esperados que se puedan manejar *unchecked exceptions no se verifican en compilacion, y no se obliga a atraparlas ni declararlas (todo en c#) - errores que normalmente se deben prevenir y no manejar
30
Relaciones entre clases
1 a N ( List<> con la clase de muchos), 1 a 1 (nombre de otra clase dentro de las propiedades de mi clase), N a 1, N a N
31
Técnicas de conversión de datos
Casting Métodos propios
32
Técnicas de conversión de datos
Casting : (tipo nuevo) valor - entre numeros Métodos propios : nombre clase y parse String.valueof()
33
Enum
Palabra clava para definir tipo de datos especial que representa conjunto fijo de constantes
34
Metodos Enums
-name(): string con nombre constante -ordinal(): entero con la posición del enum -values(): array con todos los elementos -valueof(String name): constante del enum cuyo nombre coincide
35
Genéricos - Generics ()
Definir clases, interfaces, métodos con tipos de datos parametrizados -misma estructura genérica para solventar problemas similares -Proporciona una manera de manejar objetos de diferentes tipos si perder la seguridad de los tipos -ventaja eliminación de casteo explicito
36
Concurrencia
Capacidad de un sistema o programa de realizar múltiples tareas al miso tiempo, de manera aparentemente simultaneas * La concurrencia implica múltiples hilos de ejecución o procesos en funcionamiento al mismo tiempo
37
Hilos - Threads
Unidad básica de ejecución que permite que un programa realice múltiples tareas de manera concurrente - Permiten la ejecución de varias partes al mismo tiempo en forma de subprocesos sin que uno interfiera con el otro
38
implementaciones en Java
-Thread (solo deja implementar thread) -Runneble (para implementar mas interfaces)