¿De dónde “orientado a objetos” programación obtener su nombre de?

Orientado a objetos no es sólo una palabra de moda al azar que se oye en los círculos de programación. Hay una razón detrás del nombre - pero ¿qué? Unirse a mí, ya que explorar algunos de los fundamentos de los conceptos de programación y explicar por qué programación orientada a objetos impulsa la tecnología detrás de cualquier software moderno y contraste a base de programación de procedimiento y la lógica.

Historia de la programación de Procedimientos

Cuando las computadoras se inventaron, que tenían que ser programados de forma explícita con instrucciones simples - y “software” no era más que una colección de estos extremadamente simples comandos ensartados que correría en secuencia.

programación orientada a objetos

Inicialmente, estas código de máquina requerida para ser escrito - mover este “bits” de esta memoria para esta ubicación, y llevar a cabo una operación lógica “y” en él con este bit, etc - pero pronto éstas se resumieron a un nivel más alto utilizando BASIC.

Vídeo: Tutoriales C++ - #1 Primer programa | Cursos para Novatos | En Español

arquitectura de software orientada a objetos

Sospecho que la mayoría de ustedes han llegado a través de BASIC (Beginners All-Purpose código de instrucción simbólica) en la escuela. Es un ejemplo perfecto de un lenguaje de programación procedimental. Incluso mi primera incursión de programación BASIC estaba usando en un Amstrad CPC-64. Cada línea comienza con un número de línea, seguido por una simple instrucción en lenguaje legible por humanos.

Ya que las lenguas de procedimiento siguen los comandos uno tras otro, por lo general es fácil para los seres humanos a lo sigue con lo que pasa en el programa. Sin embargo, también es difícil hacer algo más allá de un simple ejercicio de aprendizaje - lo que nos lleva a la creación de Programación Orientada a Objetos.

Vídeo: ArrayList Botones JFrame NetBeans

¿Orientado a objetos?

Con la programación orientada a objetos, la idea es agrupar las variables y funciones relacionadas entre sí en un solo objeto, lo que representa algún tipo de estructura de datos compleja. Ese objeto se puede reutilizar varias veces, o extenderse a ser algo aún más complejo.

Vídeo: Programa en C# para Registro de Estudiantes y Promedio de Notas

Por ejemplo, un juego podría tener un objeto jugador. Cada objeto jugador en el juego representa un solo jugador en la vida real, único en nuestro imaginario juego en línea multijugador. Cada objeto jugador tiene un apodo, una ubicación actual, un inventario, y una velocidad de movimiento. A pesar de que cada jugador es único, todavía queremos que compartan la misma funcionalidad a nivel de base. Cada jugador puede tener una movimiento función, lo que hace que el reproductor de avanzar X número de plazas. Cada jugador puede tener una velocidad de movimiento diferente, pero cuando le decimos al jugador para moverse en un comando, se sabrá cómo reaccionar de acuerdo a sus propios mecánicos de Internet.

¿Por qué es útil? Tomando un ejemplo más de la vida real - porque las interfaces gráficas de usuario moderna sería imposible sin objetos - todos los sistemas operativos proporcionan un objeto Window. Por lo tanto es fácil tener una nueva “ventana”, con cierre y botones en pantalla completa, y la capacidad de ser movido alrededor - sin tener que programar usted mismo. Todo lo que necesita hacer es decir crear una ventana.

De hecho, el software moderno se compone de miles y miles de objetos - no sólo las ventanas, pero los botones y campos de formulario y cajas de alerta también (que son a un tipo especial de objeto de la ventana) - y es sólo la forma en que se organizan y la lógica de la interacción entre ellos que hace este programa diferente a los demás. Esto significa que los programadores y diseñadores de software son libres para concentrarse en hacer que los mecánicos básicos de su programa sin tener que volver a inventar la rueda cada vez.

programación orientada a objetos

diseño orientado a objetos Otra ventaja de es que la funcionalidad se separa y invisible entre sí. Por eso, cuando el jugador presiona la tecla de avance en nuestro juego, llamadas el función de movimiento en el objeto de reproductor. Si hacemos un pequeño cambio en la forma en que se mueven se realiza precisamente en el reproductor objeto - como saltar en lugar de caminar - entonces no necesitamos ajustar el teclado-oyente. Todavía llama “movimiento” independientemente de lo que ocurre internamente en el objeto de reproductor - por lo que podemos cambiar la funcionalidad sin romper todo lo demás.

Lo mismo es cierto en los sistemas operativos - si el usuario decide repentinamente para cambiar su color a rojo ventana, entonces no es necesario para detectar y hacer que la ventana roja también - todo está integrado en el objeto de la ventana.

Herencia

Una vez que tenemos objetos, también podemos ampliar y heredar a producir objetos más útiles con diferente comportamiento o funcionalidad adicional. Tú poder reinventar la rueda - si lo desea. En nuestro ejemplo jugador, tal vez queremos crear un objeto “superman”. Superman sigue siendo un jugador, lo mismo que todos los demás - que quiere un apodo también, y que deseen hacer publicidad en las mismas tablas de clasificación jugador - pero en lugar de la acción de movimiento estándar que recorre los espacios objeto de reproductor X hacia adelante, que lo queremos volar su lugar - mover 10 casillas a la vez sobre la parte superior de cualquier objeto en el camino. Al extender el objeto básico reproductor podremos heredar “” todo lo que una buena funcionalidad sin tener que volver a escribir todo de nuevo - pero todavía puede mover la función de “anular” con nuestro superman movimiento especial volar!

programación orientada a objetos es una revelación absoluta si hubiera sólo ha experimentado la programación de procedimiento, y yo personalmente creo que es una lástima que que un simple tipo de lenguaje programación orientada a objetos no se enseña en la escuela secundaria.

Una última cosa: lógicos basados ​​en lenguajes de programación

Estos son de particular interés para mí, ya que son generalmente más útil para cualquier cosa relacionada con la inteligencia artificial. lenguajes de programación basados ​​en la lógica, como Prolog, no utilizan los comandos e instrucciones en el sentido tradicional. En su lugar, van a resolver un problema dado un conjunto de reglas y condiciones.

Pensar en un partido de la cena usted es el anfitrión para su familia. Su tía no puede sentarse al lado de su tío, porque van a argue- no desea que dos niños sentados juntos, porque van a estar poco rascals- desde luego no quiere sentarse en el medio de dos hijos. Eso es todo allí - que es su programa Prolog escrita. Ahora sólo le dan una lista de los niños y adultos que llegan a la fiesta, y que va a generar una lista de posibles sugerencias de asientos!

Espero que hayan disfrutado de esta introducción el nivel de principiante a los conceptos de programación. Lo siento no pude entrar en más detalles y por supuesto hay un millón de cosas que no he tocado. Si desea obtener más información, hágamelo saber en los comentarios. Tal vez podríamos hacer una serie de tutoriales de programación orientados a objetos principiantes para varios lenguajes de si hay suficiente interés? Asegúrese de revisar nuestra archivos relacionados con la programación también, que ofrece varias herramientas y programación de sitios web.

Artículos Relacionados