Actividad 2

Programación Orientada a Objetos POO (bases de datos)

 

1.-  Fundamentos de la Programación Orientada a Objetos

 la programación orientada a objetos, esta es la más común actualmente, se basa en la manipulación de datos, objetos, patrones y cualquier elemento programable dentro de un software, su fin básicamente es que la programación que se asigne pueda interactuar con uno o varios objetos determinados y de esta manera poder tener un entorno interactivo que obedezca las ordenes de un usuario con un simple clic y sin tener que escribir más líneas dentro del código base. La programación orientada a objetos permite agrupar partes específicas de la información dada a un grupo de objetos, por ejemplo, se puede realizar un programa en el cual se asigne un botón para que se ingrese una imagen, dicho botón debe servir para abrir un directorio y obtener la imagen, tras este botón hay varias líneas de código que esperan el momento en que se obtenga la imagen para proceder con la siguiente acción o instrucción.

Fuente: https://ingenieriaelectronica.org/fundamentos-de-programacion-orientada-a-objetos/

https://www.video2brain.com/mx/cursos/fundamentos-de-la-programacion-diseno-orientado-a-objetos

 

2.- Beneficios de la Programación Orientada a Objetos

Vamos a ver las ventajas más importantes de la programación orientada a objetos:

Reusabilidad: Cuando hemos diseñado adecuadamente las clases, se pueden usar en distintas partes del programa y en numerosos proyectos.

Mantenibilidad: Debido a la sencillez para abstraer el problema, los programas orientados a objetos son más sencillos de leer y comprender, pues nos permiten ocultar detalles de implementación dejando visibles sólo aquellos detalles más relevantes.

Modificabilidad: La facilidad de añadir, suprimir o modificar nuevos objetos nos permite hacer modificaciones de una forma muy sencilla.

Fiabilidad: Al dividir el problema en partes más pequeñas podemos probarlas de manera independiente y aislar mucho más fácilmente los posibles errores que puedan surgir.

La programación orientada a objetos presenta también algunas desventajas como pueden ser:

Cambio en la forma de pensar de la programación tradicional a la orientada a objetos.

La ejecución de programas orientados a objetos es más lenta.

La necesidad de utilizar bibliotecas de clases obliga a su aprendizaje y entrenamiento.

Fuente: https://www.ciberaula.com/articulo/ventajas_poo

https://www.youtube.com/watch?v=i1ifr5s047Y

 

3.- Qué es la programación orientada a objetos

La Programación Orientada a Objetos (POO u OOPsegún sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones para diseñar aplicaciones y programas de computadora. Está basado en varias técnicas, incluyendo herencia, modularidad, polimorfismo, y encapsulamiento. Su uso se popularizó a principios de la década de 1990. Actualmente son muchos los lenguajes de programación que soportan la orientación a objetos.(4)

El término de Programación Orientada a Objetos indica más una forma de diseño y una metodología de desarrollode software que un lenguaje de programación, ya que en realidad se puede aplicar el Diseño Orientado a Objetos (En inglés abreviado OOD, Object Oriented Design), a cualquier tipo de lenguaje de programación.

El desarrollo de la OOP empieza a destacar durante la década de lo 80 tomando en cuenta la programación estructurada, a la que engloba y dotando al programador de nuevos elementos para el análisis y desarrollo de software.

Fuente: https://algonzalezpoo.wordpress.com/que-es-poo/

https://www.youtube.com/watch?v=AonGYo7VV7Y

 

4.- Métodos y atributos static en Programación Orientada a Objetos

se trata de una práctica bastante común. Con "static", un modificador que podemos aplicar en la definición de métodos y atributos de las clases, podemos definir estos elementos como pertenecientes a la clase, en lugar de pertenecientes a la instancia. A lo largo de este artículo queremos explicar bien qué es esto de los elementos estáticos "static" o también llamados elementos "de clase".

La definición formal de los elementos estáticos (o miembros de clase) nos dice que son aquellos que pertenecen a la clase, en lugar de pertenecer a un objeto en particular. Recuperando concetos básicos de orientación a objetos, sabemos que tenemos:

Clases: definiciones de elementos de un tipo homogéneo. 
Objetos: concreción de un ejemplar de una clase.

En las clases defines que tal obteto tendrá tales atributos y tales métodos, sin embargo, para acceder a ellos o darles valores necesitas construir objetos de esa clase. Una casa tendrá un número de puertas para entrar, en la clase tendrás definida que una de las características de la casa es el número de puertas, pero solo concretarás ese número cuando construyas objetos de la clase casa. Un coche tiene un color, pero en la clase solo dices que existirá un color y hasta que no construyas coches no les asignarás un color en concreto. En la clase cuadrado definirás que el cálculo del área es el "lado elevado a dos", pero para calcular el área de un cuadrado necesitas tener un objeto de esa clase y pedirle que te devuelva su área.

Fuente: https://desarrolloweb.com/articulos/metodos-atributos-static-poo.html

https://es.coursera.org/learn/programandoconjava/lecture/JtTPw/metodos-y-miembros-estaticos?siteID=rLvPewk4zOw-9GjnFMO8KaduNGyI6L8vkg&utm_content=10&utm_medium=partners&utm_source=linkshare&utm_campaign=rLvPewk4zOw

 

5.- Herencia en Programación Orientada a Objetos

La herencia es la transmisión del código entre unas clases y otras. Para soportar un mecanismo de herencia tenemos dos clases: la clase padre y la/s clase/s hija/s. La clase padre es la que transmite su código a las clases hijas. En muchos lenguajes de programación se declara la herencia con la palabra "extends".

class Hija extends Padre{}

Eso quiere decir que todo el código de la clase padre se transmite, tal cual, a la clase hija. Si lo quieres ver así, es como si tuvieras escrito, línea a línea, todo el código de la class "Padre" dentro de las llaves de la class "Hija". Por eso, la herencia es fundamental para reutilizar código, porque no necesitas volver a incorporar el código de Padre en Hija, sino que realmente al hacer el "extends" es como si ya estuviera ahí.

Ejemplo de herencia

Volvamos a los animales, pensemos en los mamíferos. Todos tienen una serie de características, como meses de gestación en la barriga de la madre, pechos en las hembras para amamantar y luego funcionalidades como dar a luz, mamar, etc. Eso quiere decir que cuando realices la clase perro vas a tener que implementar esos atributos y métodos, igual que la clase vaca, cerdo, humano, etc.

Fuente: https://desarrolloweb.com/articulos/herencia-en-programacion-orientada-objetos.html

https://www.youtube.com/watch?v=VTWa8DW7yTc

 

6.- Polimorfismo en Programación Orientada a Objetos

El polimorfismo es una relajación del sistema de tipos, de tal manera que una referencia a una clase (atributo, parámetro o declaración local o elemento de un vector) acepta direcciones de objetos de dicha clase y de sus clases derivadas (hijas, nietas, …).

Nota: Esta es la definición académica que nos ofrece el profesor de la UPM Luis Fernández, del que fui alumno en la universidad y en EscuelaIT.

Fuente: https://desarrolloweb.com/articulos/polimorfismo-programacion-orientada-objetos-concepto.html

https://www.youtube.com/watch?v=xEEUhVaFrU8

 

7.- Abstracción en Programación Orientada a Objetos

Una abstracción se enfoca en la visión externa de un objeto, separa el comportamiento específico de un objeto, a esta división que realiza se le conoce como la barrera de abstracción, la cual se consigue aplicando el principio de mínimo compromiso.

Pero… ¿Qué es el principio de mínimo compromiso? Se refiere al proceso por el cuál la interfaz de un objeto muestra su comportamiento específico y nada más, absolutamente nada más.

Pero… ¿Qué es una Interfaz? Una interfaz de objeto permite crear código con el cuál se específica que métodos serán implementados por una clase sin necesidad de definir qué harán estos métodos, dichos métodos deben ser públicos.

Pero… Existe también el principio de mínima sorpresa, en el cuál una abstracción obtiene el comportamiento completo de algún objeto y por ende no ofrece sorpresas o efectos laterales que lleguen más allá del ámbito de la abstracción.

Fuente: https://styde.net/abstraccion-programacion-orientada-a-objetos/

https://www.youtube.com/watch?v=8-6W6laFUIM

8. Definir que es:

•       CLASE: es una plantilla para la creación de objetos de datos según un modelo predefinido. Las clases se utilizan para representar entidades o conceptos, como los sustantivos en el lenguaje.

•       METODO: un método es una subrutina cuyo código es definido en una clase y puede pertenecer tanto a una clase, como es el caso de los métodos de clase o estáticos, como a un objeto, como es el caso de los métodos de instancia.

•       ATRIBUTO: es una especificación que define una propiedad de un objeto, elemento o archivo. También puede referirse o establecer el valor específico para una instancia determinada de los mismos.

•       OBJETO: es una unidad dentro de un programa de computadora que consta de un estado y de un comportamiento, que a su vez constan respectivamente de datos almacenados y de tareas realizables durante el tiempo de ejecución.


 

 

 

Contacto

base de datos

© 2015 Todos los derechos reservados.

Crea una página web gratisWebnode