Los Objetos en POO

La belleza de los objetos que se puede utilizar incluso si no sabe cómo funcionan por dentro. Como hemos dicho antes, los objetos son "como cajas negras de funcionalidad". Entonces, ¿qué significa eso exactamente?

Una caja negra es un término de ingeniería que trabaja como éste. En primer lugar, arrojando algo en la caja negra. Luego, espere mientras es cosa nuestra "transformado por arte de magia" dentro del mismo. Por último, recibimos un nuevo resultado de la misma caja negra La belleza reside en que es todo lo que necesitamos saber es la manera que retorna adadoa una cierta entrada No necesitamos entender la magia interior.


* Bueno, eso significa que nadie, sino el objeto en sí necesita saber nada acerca de cómo sus propiedades y métodos se definen y aplican.

* Son la lista de temas almacenados en una matriz o un vector? ¿Cómo se maneja la clasificación, con un rápido o una especie de burbuja tipo? ¿Cómo es una selección marcada y ¿cómo manejar múltiples selecciones?

* Encapsulación significa que las respuestas a todas estas preguntas son de carácter privado, conocido sólo por el objeto en sí.

* ¿Cuál es el beneficio de esto?

* Bueno, la ventaja es que si quiero usar un Seleccione la casilla, no es necesario para hacer frente a todas las del complejo código que se encarga de toda la funcionalidad de un selecto cuadro. En lugar de ello, acabo de poner el auto-contenidos, seleccione la casilla objeto de mi aplicación y uso.

* Se trata de un concepto increíblemente útil porque significa que es mucho más fácil de entender y modificar el código porque lo único que necesita para hacer frente a pequeños trozos de código en un momento dado. Como desarrollador, no es necesario para hacer frente a las complejidades de seleccionar la casilla funcionalidad, acabo de utilizar la cosa!

* También es una buena metáfora para el mundo real, que puede ser pensado como está compuesto por objetos encapsulados.

* Considere la posibilidad de la computadora que está usando para leer esto. ¿Sabe cómo funciona la CPU? Lo más probable es que usted no. Pero eso está muy bien. Funciona independientemente. Y el hecho de que usted no tiene que pasar un tiempo de aprendizaje de ingeniería eléctrica significa que son libres de gastar su tiempo construir las cosas "mediante" la CPU.

OOP, una Introduccion a Orientacion a objetos

OOP fue construido para ayudar a administrar la complexificación de software a través de la abstracción. En POO, construir pequeños segmentos de bits de código que correspondan más estrechamente a la forma en que usted piensa acerca de su programa y la forma en que su programa refleja el mundo real.

* OOP proporciona la abstracción a través de cuatro conceptos fundamentales:

o Objetos
o Encapsulación
o Herencia
o polimorfismo

Echemos un vistazo a cada uno de estos conceptos:

POO se basa en el concepto de objetos. Los objetos son como cajas negras de funcionalidad que son totalmente independientes de cualquier código que las referencias o los utiliza.

* Los objetos pueden ser consideradospor exhibir dos características. Los objetos tienen propiedades y métodos de objetos.

* Propiedades de describir las cualidades de un objeto, mientras que los métodos de especificar el comportamiento del objeto.

El Gato
PropiedadesMetodos
Color de Ojos
emite un sonido
Numero de patas
persigue ratones
especiedestruye el sofa


Aunque no se trata de una analogía perfecta, a veces cuando se trata de averiguar lo que un objeto se ve así, crear los objetos en términos de nombres, las propiedades en términos de adjetivos, y los métodos en términos de verbos.

POO, una introduccion a la Programacion Orientada a objetos

Diseño orientado a objetos (OOD) es una metodología de programación que tiene las siguientes características:

* OOD permite a los programadores más de cerca el modelo del mundo real que nunca.

* OOD es también una metodología que se presta así a la rápida de prototipos. Object-Oriented programas pueden ser modificados y construido muy rápidamente porque OOD proporciona el programador con excelentes herramientas para la abstracción.

* OOD produce código reutilizable. Una vez que los objetos se construyen, es muy fácil de usar en el futuro las aplicaciones por lo que no es necesario que nunca volver a inventar la rueda.

* Por último, OOD ayuda a los programadores trabajar en un entorno dinámico. Object-Oriented programas pueden ser modificados de manera rápida y fácil como el mundo real las necesidades del cambio.

# Echemos un vistazo a lo que el gurú de Java Object Orientación, Bruce Eckel tiene que decir,

"Programación orientada a objetos hace un llamamiento a múltiples niveles. Para los administradores que promete más rápido y más barato desarrollo y mantenimiento. Para los analistas y los diseñadores se convierte en proceso de modelado más sencillo y produce un claro y manejable diseño. Para los programadores de la elegancia y la claridad del objeto y el modelo de poder orientada a objetos y herramientas de programación de las bibliotecas hace mucho más agradable tarea, y los programadores de experimentar un aumento de la productividad. Todo el mundo gana, al parecer.

Si hay un aspecto negativo es la costa de la curva de aprendizaje. Pensar en objetos es una espectacular salida de pensamiento relacionado con la programación estructurada, y el proceso de diseño de objetos es mucho más difícil que el diseño estructurado, especialmente si está tratando de crear objetos reutilizables. "

Bueno,esto ya es bastante abstracto. Vamos a ver algunos aspectos históricos relacionados con la historia del desarrollo de este paradigma

Aprendiendo Java. Una corta introduccion

Java fue desarrollada originalmente en SunMicrosystems en 1991 para proporcionar una plataforma independiente del lenguaje de programación y el sistema operativo para la electrónica de consumo (televisores, tostadoras y VCRs).

En la sintaxis y la ejecución, Java es muy parecido a una versión simplificada de C + +. ( "simplificado" debe leerse en la frase anterior como "una mejora"). Se trata de un muy sólido, distribuido, de alto rendimiento, orientado a objetos, multi-idioma de rosca con todas las características usuales. Como tal, se basa en años de C + + de desarrollo, tomando lo bueno y prescindir de la mala.

Como así lo ocurrido sin embargo, Java no se construirá en el mercado de electrónica de consumo. En lugar de ello la herida en nuestros navegadores web.

Java parece ser un ajuste perfecto para la web. El lenguaje en sí es muy pequeña (ya que fue construido a ir dentro de tostadoras y relojes de alarma con pequeñas cantidades de memoria). Por lo tanto, podría ser trasladado rápidamente a través de Internet.

Por otra parte, Java es un lenguaje independiente de la plataforma. Es decir, cualquier ordenador con Java virtualmachine puede ejecutar un programa Java. Los programas pueden ser escritos en cualquier lugar y ser ejecutado en cualquier lugar. Esto es crucial porque si un idioma no puede funcionar en cualquier máquina, no se puede utilizar en la web que debe de servicio cada máquina, el lenguaje y environmentimaginable.

Plataforma independencia Java funciona porque es un interpretarse más que un lenguaje compilado. A diferencia de C o C + + código, cuando Java es compilado, no es compiledinto plataforma específica código máquina, pero independiente de la plataforma en código byte. Este código byte se distribuye a través de Internet y ha sido interpretado por una máquina virtual (por lo general instalados en un navegador web en estos días) en el que la plataforma que se está ejecutando. Tal vez una imagen sería útil ...

Por lo tanto, como un programador, que necesita sólo se refieren a ti mismo con el genérico lenguaje de programación Java y compilar sus aplicaciones en bytecode en sea cual sea el sistema que está usando. A continuación, puede estar seguro de que su bytecode willbe ejecutado correctamente si sus clientes están utilizando Mac, PC, Unix cajas o cualquier otra cosa.

Tal vez el mejor resumen de los objetivos de diseño y los logros de Java viene de Gary Cornell en la introducción de Core Java. En esta introducción, Cornell esboza 12 principios de diseño utilizados en el desarrollo del lenguaje Java. Para ello, cita el de Java Libro Blanco de SunSoft. Voy a duplicar las comillas aquí, pero usted no debe considerar su entorno de desarrollo Java Biblioteca completa sin una copia de Core Java.

Java es simple

"Queríamos crear un sistema que puede ser programado fácilmente sin mucha formación esotérica y que al día de hoy apalancado prácticas estándar ... Por lo tanto, aun cuando nos dimos cuenta de que C + + no era apropiado, hemos diseñado lo más cerca de Java a C + + como sea posible con el fin de hacer el sistema sea más comprensible. Java omite muchos rara vez utilizada, mal entendido, confuso características de C + + que, en nuestra experiencia, traer más dolor que beneficios ".

Java es pequeño

"Otro aspecto de ser sencilla está siendo pequeño. Uno de los objetivos de Java es permitir la construcción de software que puede funcionar stand-alone en máquinas pequeñas."

Java es orientado a objetos

"En pocas palabras, diseño orientado a objetos es una técnica que se centra en el diseño de datos (= objetos) y en las interfaces a ella ... El objeto de orientedfacilities de Java son esencialmente las de C + +."

Java es Distribuido

"Java cuenta con una amplia biblioteca de rutinas para hacer frente a los protocolos TCP / IP como HTTP y FTP. Aplicaciones Java pueden abrir los objetos y el acceso a través de la red a través de las URL con la misma facilidad que cuando se accede a un sistema de ficheros local."

Java es robusto

"Java está pensado para escribir programas que deben ser fiables en una variedad de maneras. Java pone mucho énfasis en principios de la comprobación de posibles problemas, más tarde dinámica (tiempo de ejecución) el control y la eliminación de situaciones que son propensos a error."

Java es segura

"Java está destinada a ser utilizada en red / entornos distribuidos. Con ese fin, un montón de se ha hecho hincapié en la seguridad. Java permite la construcción de libres de virus, sin alterar los sistemas."

Java es la arquitectura neutral

"El compilador Java [genera] bytecode instrucciones que no tienen nada que ver con una particular arquitectura. Por el contrario, están diseñados para ser fáciles de interpretar en cualquier máquina y fácilmente traducirse en código máquina nativo en la marcha."

Java es portátil

"A diferencia de Cy C + +, no hay la aplicación por los dependientes de" los aspectos del pliego de condiciones. [Por ejemplo], los tamaños de los tipos de datos primitivos se especifican, como es el comportamiento de la aritmética en ellos "

Java es Interpretado

"El intérprete Java puede ejecutar bytecode de Java directamente en cualquier máquina a la que el intérprete ha sido portado. [Así] el proceso de desarrollo puede ser mucho más rápida y exploratorio".

Java es un alto rendimiento

"Si bien el desempeño de bytecode es interpretado por lo general más que suficiente, hay situaciones en las que mayor rendimiento es obligatorio. El bytecode se puede traducir al vuelo en código máquina para la CPU se ejecuta la aplicación."

Java es Multithreaded

"Los beneficios de multithreading están mejor respuesta interactiva y en tiempo real de comportamiento. [Esto se debe a que un programa puede hacer algo más que una cosa a la vez]"

Java es Dinámico

"En un número de maneras, Java es un lenguaje más dinámico que C o C + +. Fue diseñado para adaptarse a un entorno en evolución ... Bibliotecas libremente puede añadir nuevos métodos y variables de instancia sin ningún tipo de efecto sobre sus clientes."