Programación Orientada a Objetos

Prueba

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Programación Orientada a Objetos por Mind Map: Programación Orientada a Objetos

1. Clases

1.1. Concepto

1.1.1. Una clase es un programa, programado para comportarse de una determinada manera o cumplir con una tarea. Dentro de ésta se crean atributos (variables), métodos y objetos que se utilizan para llevar a cabo la tarea para la que ha sido creada.

1.2. Características

1.2.1. Atributos

1.2.1.1. Los atributos no son otra cosa más que variables, las cuales constan de un "tipo primitivo" y un nombre. También pueden ser inicializadas y modificadas.

1.2.2. Objetos

1.2.2.1. Los objetos a través de parámetros nos ayudan a realizar distintas operaciones.

1.2.3. Métodos

1.2.3.1. Un método es un código escrito dentro de una clase, el cual puede ser usado en cualquier parte con solo hacer un llamado, siempre y cuando sea dentro de la misma. Dentro de una clase pueden ser creados tantos métodos como sea necesario

2. Objetos

2.1. Concepto

2.1.1. Un objeto es una unidad dentro de un programa informático que tiene atributos y métodos. Es decir, tiene una serie de datos almacenados y tareas que realiza con esos datos en el tiempo de ejecución.

2.2. Características

2.2.1. Atributos

2.2.1.1. Un atributo es una especificación que define una propiedad de un objeto, elemento o archivo no solo sirve para decir sus características sino también para decir en el estado en que se encuentra

2.2.2. Métodos

2.2.2.1. Sirve para expresar su comportamiento, en otras palabras, lo que se puede hacer con éste objeto.

3. Abstracción

3.1. Concepto

3.1.1. Son las características específicas de un objeto, aquellas que lo distinguen de los demás tipos y que logran definir límites conceptuales respecto a quien está haciendo dicha abstracción.

3.2. Características

3.2.1. Barrera de abstracción

3.2.1.1. Separa el comportamiento específico de un objeto.

3.2.2. Tipos de abstracción

3.2.2.1. Abstracción de entidades

3.2.2.1.1. Es un objeto que representa un modelo útil de una entidad que se desea.

3.2.2.2. Abstracción de acciones

3.2.2.2.1. Un objeto que representa un conjunto de operaciones y todas ellas desempeñan funciones del mismo tipo.

3.2.2.3. Abstracción de máquinas virtuales

3.2.2.3.1. Un objeto que agrupa operaciones, todas ellas virtuales, utilizadas por algún nivel superior de control u operaciones (entre ellos se puede mencionar un circuito).

3.2.2.4. Abstracción de coincidencia

3.2.2.4.1. Un objeto que almacena aun conjunto de operaciones que no tienen relación entre sí.

4. Modularidad

4.1. Concepto

4.1.1. Consiste en dividir una aplicación en partes más pequeñas (módulos o métodos). Los módulos deben ser lo más independientes posible. Puede existir comunicación entre módulos.

4.2. Características

4.2.1. Métodos con parámetros

4.2.1.1. Son métodos que nos piden algo (uno o varios datos u objetos). Es decir, el método para ejecutarse necesita que se le envíe un parámetro de un tipo concreto.

4.2.2. Métodos sin parámetros

4.2.2.1. Son métodos que no piden ningún dato u objeto para ejecutarse.

4.2.3. Métodos con retorno de valor

4.2.3.1. Los métodos con valor de retorno son módulos de programa que pueden recibir datos por medio de variables locales (Parámetros) y posteriormente retornar un resultado al punto donde es llamado. Éste tipo de métodos se utiliza para operar cualquier tipo de proceso que produzca un resultado.

5. Encapsulamiento

5.1. Concepto

5.1.1. El aislamiento protege a los datos asociados de un objeto contra su modificación por quien no tenga derecho a acceder a ellos, eliminando efectos secundarios e interacciones

5.1.2. Se denomina encapsulamiento al ocultamiento del estado, es decir, de los datos miembros de un objeto de manera que solo se pueda cambiar mediante las operaciones definidas para ese objeto.

5.2. Características

5.2.1. Privado (private)

5.2.1.1. Solo es accesible desde la clase.

5.2.2. Protegido (protected)

5.2.2.1. Se utiliza por todos los métodos, clases y atributos mientras se encuentren en el ,mismo paquete (package).

5.2.3. Publico (public)

5.2.3.1. Pueden ser usados por cualquier clase o método.

6. Herencia

6.1. Concepto

6.1.1. Es el mecanismo por el cual una clase permite heredar las características (atributos y métodos) de otra clase.

6.2. Características

6.2.1. Súper clase

6.2.1.1. La clase cuyas características se heredan se conoce como súper clase (o una clase base o una clase principal).

6.2.2. Sub-Clase

6.2.2.1. La clase a la cual se le hereda se le conoce como sub-clase (clase hija). La sub-clase puede agregar sus propios campos y métodos, ademas de los campos y métodos de la sub-clase.

6.2.3. Herencia única

6.2.3.1. Donde las sub-clases heredan las características de solo una súper clase.

6.2.4. Reutilización

6.2.4.1. Al crear una nueva clase es posible utilizar a las variables y líneas de código escritas previamente en otras clases.

6.2.4.2. Al crear una nueva clase es posible utilizar a las variables y líneas de código escritas previamente en otras clases.

6.2.5. Herencia multi-nivel

6.2.5.1. Una clase derivada heredará una clase base, y además, la clase derivada también actuará como la clase base de otra clase.

6.2.6. Herencia gerarquica

6.2.6.1. Una clase sirve como una súper clase (clase base) para más de una sub-clase.

6.2.7. Herencia múltiple

6.2.7.1. Una clase puede heredar comportamientos y características de más de una súper clase. Esto contrasta con la herencia simple, donde una clase solo puede heredar de una súper clase.

7. Polimorfismo

7.1. Concepto

7.1.1. Es una relación de tipo herencia, donde un objeto de la súper clase puede almacenar un objeto de cualquiera de sus subclases. Esto significa que la clase padre o súper clase es compatible con los tipos que derivan de ella, pero no al revés.

7.2. Características

7.2.1. Polimorfismo dinámico (polimorfismo paramétrico)

7.2.1.1. Es aquel en el que el código no incluye ningún tipo de especificación sobre el tipo de dato con el que se trabaja. Así puede ser utilizado a todo tipo de datos compatible.

7.2.2. Polimorfismo estático (polimorfismo ad-hoc)

7.2.2.1. Es aquel en el que los tipos a los que se aplica el polimorfismo deben ser explícitos y declarados uno por uno antes de poder ser utilizados.

8. UML: Lenguaje de clases

8.1. Concepto

8.1.1. Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos, funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y compuestos reciclados.

8.2. Características

8.2.1. Visualizar.

8.2.2. Especificar.

8.2.3. Construir.

8.2.4. Documentar y ser base de documentación.