UNIVERSIDAD POLITÉCNICA AMAZÓNICA
CURSO:LABORATORIO PROGRAMACIÓN III
CICLO:VII
INTEGRANTES:
- AARON DELGADO ESPARRAGA
- FIORELLA AGUILAR ISUIZA
PROGRAMACION ORIENTADO A
OBJETO
1.-DEFINICION:
Es importante aclarar desde un principio la diferencia que existe entre
programación orientada a objetos y un lenguaje orientado a objetos. La
programación orientada a objetos es una “filosofía”, un modelo de programación,
con su teoría y su metodología, que conviene conocer y estudiar antes de nada.
Un lenguaje orientado a objetos es un lenguaje de programación que permite el
diseño de aplicaciones orientadas a objetos. Dicho esto, lo normal es que toda
persona que vaya a desarrollar aplicaciones orientadas a objetos aprenda
primero la “filosofía” (o adquiera la forma de pensar) y después el lenguaje,
porque “filosofía” sólo hay una y lenguajes muchos. En este documento veremos
brevemente los conceptos básicos de la programación orientada a objetos desde
un punto de vista global, sin particularizar para ningún lenguaje de
programación específico.
CONCEPTOS BASICOS
Clase: Las clases son uno de los principales
componentes de un lenguaje de programación, pues en ellas ocurren todos los
procesos lógicos requeridos para un sistema, en si podemos definirlas como
estructuras que representan objetos del mundo real, tomando como objetos a
personas, lugares o cosas, en general las clases poseen propiedades,
comportamientos y relaciones con otras clases del sistema.
Una clase se compone por tres partes fundamentales:
Nombre: Contiene el Nombre de la Clase.
Atributos: Representan las propiedades que caracterizan la clase.
Métodos: Representan el comportamiento u operaciones, la forma como interactúa la
clase con su entorno.
Metodo: Son las operaciones (acciones o funciones)
que se aplican sobre los objetos y que permiten crearlos, cambiar su estado o
consultar el valor de sus atributos.
Los métodos constituyen la secuencia de acciones que implementan las
operaciones sobre los objetos. La implementación de los métodos no es visible
fuera de objeto. La sintaxis algorítmica de los métodos expresados como
funciones y acciones es: Para funciones se pueden usar cualquiera de estas dos
sintaxis:
Función [(Lista Parámetros)]: Para acciones: Acción [(Lista Parámetros)]
donde los parámetros son opcionales
Ejemplo: Un rectángulo es un objeto caracterizado por los atributos
Largo y Ancho, y por varios métodos, entre otros Calcular su área y Calcular su
perímetro.
Características Generales
·
Cada
método tiene un nombre, cero o más parámetros (por valor o por referencia) que
recibe o devuelve y un algoritmo con el desarrollo del mismo.
·
En particular se destaca el método
constructor, que no es más que el método que se ejecuta cuando el objeto es
creado. Este constructor suele tener el mismo nombre de la clase/ objeto, pero
aunque es una práctica común, el método constructor no necesariamente tiene que
llamarse igual a la clase (al menos, no en pseudos-código). Es un método que
recibe cero o más parámetros y lo usual es que inicialicen los valores de los
atributos del objeto.
·
En
lenguajes como Java y C++ se puede definir más de un método constructor, que
normalmente se diferencian entre sí por la cantidad de parámetros que reciben.
·
Los métodos se ejecutan o activan cuando el
objeto recibe un mensaje, enviado por un objeto o clase externo al que lo
contiene, o por el mismo objeto de manera local.
Herencia: El mecanismo de herencia permite definir
nuevas clases partiendo de otras ya existentes. Las clases que derivan de otras
heredan automáticamente todo su comportamiento, pero además pueden introducir
características particulares propias que las diferencian. O La principal
ventaja de la herencia es evitar escribir el mismo código varias veces.
Sobrecarga: La sobrecarga puede ser considerada como un
tipo especial de polimorfismo que casi todos los lenguajes de OOP incluyen.
Varios métodos (incluidos los "constructores", de los que se hablará
más adelante) pueden tener el mismo nombre siempre y cuando el tipo de
parámetros que recibe o el número de ellos sea diferente. De este modo, por
ejemplo la clase File puede tener tantos método Write() como tipos de datos
queramos escribir (no se preocupe si no entiende la nomenclatura, céntrese en
la idea):
Existe un tipo especial de sobrecarga llamada sobrecarga de operadores
que, de los leguajes OOP conocidos, solo incorpora C++. Es por esto que
consideramos que el abordar este tema escapa a la finalidad del presente curso.
EVENTO:Los eventos son todas las acciones que el usuario inicia, dar clic sobre un
botón, presionar las teclas del teclado, etc. Cada vez que se produce un
evento, se crea un objeto. La clase padre de los eventos es "java.awt.event".
Cada lenguaje de programación tiene su propio modelo de eventos, en Java se
definen clases auxiliares llamadas escuchadores (listeners) que reciben eventos
específicos.
Los escuchadores se registran en las fuentes de eventos (teclado, ratón, etc).
Estas envían objetos del tipo EventObjet la los escuchadores registrados al
producirse un evento. Cada escuchador utiliza la información recibida a través
del objeto para realizar las acciones adecuadas.
Dentro de "java.awt.event", los eventos están categorizados dentro de
una jerarquía de clases.
eventos en Java.
eventos que se utilizan en la construcción de GUIs.
·
Cada
tipo de evento "xxEvent" tiene asociada una interfaz
"xxListener" que es la que nos permite definir escuchadores de
eventos.
·
Para
simplificar la implementación de algunos escuchadores de eventos, el paquete
"java.awt.event" incluye clases base xxAdapter que implementan las
interfaces xxListener.
Existen distintos tipos de eventos, los
cuales son:
Eventos de Ventana
Son los que se generan en respuesta a los cambios de una ventana, un frame o un
dialogo.
·
WINDOW_DESTROY
·
WINDOW_EXPOSE
·
WINDOW_ICONIFY
·
WINDOW_DEICONIFY
·
WINDOW_MOVED
Eventos de Teclado
Son generados en respuesta a cuando el usuario pulsa y suelta una tecla
mientras un Componente tiene el foco de entrada.
·
KEY_PRESS
·
KEY_RELEASE
·
KEY_ACTION
·
KEY_ACTION_RELEASE
Eventos de Ratón
Son los eventos generados por acciones sobre el ratón dentro de los límites de
un Componente.
·
MOUSE_DOWN
·
MOUSE_UP
·
MOUSE_MOVE
·
MOUSE_ENTER
·
MOUSE_EXIT
·
MOUSE_DRAG
Eventos de Barras
Son los eventos generados como respuesta a la manipulación de barras de
desplazamiento (scrollbars).
·
SCROLL_LINE_UP
·
SCROLL_LINE_DOWN
·
SCROLL_PAGE_UP
·
SCROLL_PAGE_DOWN
·
SCROLL_ABSOLUTE
Eventos de Lista
Son los eventos generados al seleccionar elementos de una lista.
·
LIST_SELECT
·
LIST_DESELECT
Eventos Varios
Son los eventos generados en función de diversas acciones.
·
ACTION_EVENT
·
LOAD_FILE
·
SAVE_FILE
·
GOT_FOCUS
·
LOST_FOCUS
Atributos
Los atributos son las caracterísiticas individuales que
diferencian un objeto de otro y determinan su apariencia, estado u otras
cualidades. Los atributos se guardan en variables denominadas de instancia, y
cada objeto particular puede tener valores distintos para estas variables.
Las variables de instancia también denominados miembros
dato, son declaradas en la clase pero sus valores son fijados y cambiados en el
objeto.
Además de las variables de instancia hay variables de clase,
las cuales se aplican a la clase y a todas sus instancias. Por ejemplo, el
número de ruedas de un automóvil es el mismo cuatro, para todos los
automóviles.
MENSAJE: Normalmente un único objeto por sí solo no es muy
útil. En general, un objeto aparece como un componente más de un programa o una
aplicación que contiene otros muchos objetos. Es precisamente haciendo uso de
esta interacción como los programadores consiguen una funcionalidad de mayor
orden y modelar comportamientos mucho más complejos. Una bicicleta (a partir de
ahora particularizaremos) colgada de un gancho en el garaje no es más que una
estructura de aleación de titanio y un poco de goma. Por sí sola, tu bicicleta
(por poner una bicicleta en concreto) es incapaz de desarrollar ninguna actividad.
Tu bicicleta es realmente útil en tanto que otro objeto (tú) interactúa con
ella (pedalea). 8 Los objetos de un programa interactúan y se comunican entre
ellos por medio de mensajes. Cuando un objeto A quiere que otro objeto B
ejecute una de sus funciones miembro (métodos de B), el objeto A manda un
mensaje al objeto B.
En ocasiones, el objeto que recibe el mensaje necesita más
información para saber exactamente lo que tiene que hacer; por ejemplo, cuando
se desea cambiar la marcha de una bicicleta, se debe indicar la marcha a la que
se quiere cambiar. Esta información se pasa junto con el mensaje en forma de
parámetro. La siguiente figura muestra las tres partes que componen un mensaje:
1. El objeto al cual se manda el mensaje (TuBicicleta).
2. El método o función miembro que debe ejecutar
(CambiarDeMarcha).
3. Los parámetros que necesita ese método (Marcha)
Estas tres partes del mensaje (objeto destinatario, método y
parámetros) son suficiente información para que el objeto que recibe el mensaje
ejecute el método o la función miembro solicitada. Los mensajes proporcionan
dos ventajas importantes: El Objeto “Tú” manda el mensaje “CambiarDeMarcha” con
el parámetro “Marcha” al Objeto “TuBicicleta”. Cuando un objeto A quiere que
otro objeto B ejecute una de sus funciones miembro (métodos de B), el objeto A
manda un mensaje al objeto B. 9
·
El
comportamiento de un objeto está completamente determinado (a excepción del
acceso directo a variables miembro públicas) por sus métodos, así que los
mensajes representan todas las posibles interacciones que pueden realizarse
entre objetos.
·
Los
objetos no necesitan formar parte del mismo proceso, ni siquiera residir en un
mismo ordenador para mandarse mensajes entre ellos (y de esta forma
interactuar).
CARACTERISTICAS:
ABTRACCION: La abstracción
permite resaltar la parte mas representativa de algo, ignorando detalles para
centrarse en lo principal.
La imagen es muy fácil de identificar, con base a ella podemos crear una clase
persona, o la
clase hombre, humano entre otras,
pero obviamente vemos que la imagen no tiene elementos como ojos, nariz, boca,
rostro en general, ni dedos, pies, manos o cuello....... pero entonces porque
decimos que es una persona?.........Precisamente aquí estamos aplicando el
concepto de abstracción, ya que nos fijamos en lo mas representativo de algo,
en este caso vemos que se tiene una cabeza, tronco, brazos y pies, con esto es
suficiente para saber que es una persona sin fijarnos en los detalles mencionados
anteriormente.
Las clases abstractas permiten
crear métodos generales con un comportamiento común para otras clases concretas
sin importar sus características ni el comportamiento que usen para dichos
métodos.
La Abstracción en java solo tiene lógica mediante la Herencia, ya que una clase
abstracta posee al menos un método abstracto el cual no tiene implementación,
el comportamiento de estos métodos lo definen las clases concretas que lo
hereden.
Podemos usarlos cuando existan varias clases con características o acciones
comunes pero con diferentes comportamientos..............mediante el uso de la
herencia y componentes abstractos hacemos mas óptima y organizada nuestra
aplicación. (hay que tener en cuenta que a diferencia de las clases concretas,
las clases abstractas no se pueden instanciar).
En Java representamos la abstracción mediante la palabra
reservada abstract, así:
ENCAPSULAMIENTO:
Este concepto es uno de los mas importantes en términos de seguridad dentro de
nuestra aplicación, la encapsulación es la forma de proteger nuestros datos
dentro del sistema, estableciendo básicamente los permisos o niveles de
visibilidad o acceso de nuestros datos
Se representa por 3 niveles :
Público: Se puede acceder a todos
los atributos o métodos de la clase. Protegido: Se puede acceder a los
atributos o métodos solo en la misma jerarquía de herencia. Privado: Solo
se puede acceder a los atributos o métodos de la clase en la que se encuentran.
con la Encapsulación mantenemos nuestros datos seguros, ya que podemos evitar
que por ejemplo se hagan modificaciones al estado o comportamiento de un objeto
desde una clase externa, una buena practica es trabajar
con métodos setter y getter que permiten manipular
nuestros datos de forma segura.
en Java lo representamos así:
HERENCIA: Una vez
que hemos visto el concepto de clase y el de objeto, estamos en condiciones de
introducir otra de las características básicas de la programación orientada a
objetos: el uso de la herencia. El mecanismo de herencia permite definir nuevas
clases partiendo de otras ya existentes. Las clases que derivan de otras
heredan automáticamente todo su comportamiento, pero además pueden introducir
características particulares propias que las diferencian. Definición de la
clase “bicicleta” OBJETOS O INSTANCIAS DE LA CLASE BICICLETAS 11 Como hemos
visto, los objetos se definen a partir de clases. Con el mero hecho de conocer
a qué clase pertenece un objeto, ya se sabe bastante sobre él. Puede que no
sepamos lo que es la “Espada”, pero si nos dicen que es una bicicleta, ya
sabremos que tiene dos ruedas, manillar, pedales... La programación orientada a
objetos va más allá, permitiéndonos definir clases a partir de otras clases ya
construidas. Por ejemplo, las bicicletas de montaña, las de carretera y los
tándems son todos, en definitiva, bicicletas. En términos de programación
orientada a objetos, son subclases o clases derivadas de la clase bicicleta.
Análogamente, la clase bicicleta es la clase base o superclase de las
bicicletas de montaña, las de carretera y los tándems. Esta relación se muestra
en la siguiente figura.
POLIMORFISMO: Este tal vez
sea uno de los conceptos de la programación orientada a objetos más usados pero
muchas veces sin saber que se aplica ya que el concepto inicialmente puede ser
un poco confuso, básicamente mediante el polimorfismo programamos de forma
general en lugar de hacerlo de forma específica, se usa cuando se trabajen con
la herencia y objetos de características comunes los cuales comparten la misma
superClase y árbol jerárquico, al trabajar con este concepto optimizamos y
simplificamos en gran medida nuestro trabajo.
Básicamente podemos definirlo como la capacidad que tienen los objetos de
comportarse de múltiples formas sin olvidar que para esto se requiere de la
herencia, en si consiste en hacer referencia a objetos de una clase que puedan
tomar comportamientos de objetos descendientes de esta.
Con el polimorfismo usamos la generalización olvidando los detalles concretos
de los objetos para centrarnos en un punto en común mediante una clase padre.
Tomando como ejemplo la imagen anterior, podemos decir que un objeto de la
clase FiguraGeometrica puede usarse para referirse a cualquier objeto
de cualquier subClase de FiguraGeometrica.............. En otras
palabras una figura geométrica puede ser un cuadro, un triángulo, un cuadrado o
cualquier figura que en términos generales sea geométrica
Veamos este proceso como se representa en Java.
Como vemos en el ejemplo la clase Figura Geometrica puede
convertirse en cualquier figura que se encuentra en su jerarquía de Herencia
pudiendo utilizar las propiedades que compartan entre ellas, hay que tener
presente que solo se permite el polimorfismo de clases padre a clases
hija mas no al contrario, mas adelante explicaremos este concepto en detalle...
Hasta aquí vimos algunos de los principales conceptos de la programación
Orientada a Objetos, en futuras entradas trabajaremos otros ejemplos y
aplicaciones, ya que cada concepto posee sus restricciones con respecto al
proceso de desarrollo.
Modularidad:
Es, en programación modular y más específicamente en programacion orientada a objeto, la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes.
Es, en programación modular y más específicamente en programacion orientada a objeto, la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes.
Estos módulos que se puedan compilar por separado, pero que
tienen conexiones con otros módulos. Al igual que la encapsulación, los
lenguajes soportan la Modularidad de diversas formas. La modularidad debe
seguir los conceptos de acoplamiento y cohesión.
Según Bertrand
Meyer: «El acto de particionar un programa en componentes individuales para
reducir su complejidad en algún grado… A pesar de particionar un programa es
útil por esta razón, una justificación más poderosa para particionar un
programa es que crea una serie de límites bien definidos y documentados en el
programa. Estos límites, o interfaces, son muy valiosos en la comprensión del
programa».
POO EN VISUAL BASIC
NET
INTRODUCCION:
Visual Basic es un descendiente de Basic, que ha existido
durante varias décadas. BASIC (el acrónimo de Beginners´All-Purpose Symbolic
Instruction Code) fue originariamente desarrollado por la Dartmouth University
en 1964 como lenguaje para programadores principiantes. BASIC se convirtió en
el primer lenguaje que la mayoría de los programadores aprendía para
familiarizarse con los fundamentos de la programación antes de pasar a
lenguajes más potentes. Visual Basic apareció en mayo de 1991 y supuso una
revolución en la metodología de desarrollo de aplicaciones, ya que permitía la
creación de programas arrastrando y soltando componentes en lugar de tener que
codificar manualmente los elementos. Desde muchos puntos de vista Visual Basic
.NET supone la madurez de ese proyecto que nació hace mas de diez años. La
nueva versión, Visual Basic .NET, incorpora características de orientación a
objetos de tal manera que podría considerarse un lenguaje totalmente diferente
a sus predecesores y totalmente orientado a objetos, ya que en versiones
anteriores Visual Basic era considerado un lenguaje de programación con
sintaxis de objetos, pero no un verdadero lenguaje orientado a objetos. Las
principales novedades que incorpora son:
- La herencia, tan solicitada por miles de programadores.
- Desarrollo de programas con múltiples hilos de ejecución.
- Control estructurado de excepciones. - Inicializadores,
que permiten establecer los valores iniciales de las variables.
• La ENCAPSULACIÓN es
la cualidad de unificar los datos y la forma de manipularlos, de esta forma
podemos ocultar el funcionamiento de una clase y exponer solo los datos que
manipula (mediante propiedades), así como proveer de medios para poder
manipular dichos datos (mediante métodos). De esta forma solo exponemos al
mundo exterior la información y la forma de manipularla, ocultando los detalles
usados para manejar esos datos y, lo que es más importante, evitando que nadie
manipule de una forma no controlada dicha información.
• La HERENCIA es
la cualidad de poder crear nuevas clases (o tipos) basadas en otras clases, de
forma que la nueva clase obtenga todas las características de la clase que ha
heredado, tanto los datos que contiene como la forma de manipularlos, pudiendo añadir
nuevas características e incluso cambiar el comportamiento de algunas de las
incluidas en la clase base, (siempre que así se haya previsto). Mediante la
herencia podemos crear de forma fácil una jerarquía de clases que comparten un
mismo comportamiento básico pero que cada nueva generación puede tener (y de
hecho tiene) un nuevo comportamiento.
• El POLIMORFISMO es
la cualidad de implementar de forma particular algunas de las características
que tienen las clases, de forma que cuando necesitemos usarlas no nos preocupe
la implementación interna que cada una tenga, lo que realmente nos interesa o
nos debe importar es que podemos usar esas características e incluso podamos
acceder a ellas de forma anónima... o casi.
La programación orientada a objetos es una forma de
programar que trata de encontrar una solución a estos problemas. Introduce
nuevos conceptos, que superan y amplían conceptos antiguos ya conocidos. Entre
ellos destacan los siguientes:
Clase: definiciones de las propiedades y comportamiento de
un tipo de objeto concreto. La instanciación es la lectura de estas
definiciones y la creación de un objeto a partir de ellas.
Herencia: (por ejemplo, herencia de la clase C a la
clase D) Es la facilidad mediante la cual la clase D hereda en ella cada uno de
los atributos y operaciones de C, como si esos atributos y operaciones hubiesen
sido definidos por la misma D. Por lo tanto, puede usar los mismos métodos y
variables publicas declaradas en C. Los componentes registrados como
"privados" (private) también se heredan, pero como no pertenecen a la
clase, se mantienen escondidos al programador y sólo pueden ser accedidos a
través de otros métodos públicos. Esto es así para mantener hegemónico el ideal
de OOP.
Objeto: entidad provista de un conjunto de propiedades o
atributos (datos) y de comportamiento o funcionalidad (métodos) los mismos que
consecuentemente reaccionan a eventos. Se corresponde con los objetos reales
del mundo que nos rodea, o a objetos internos del sistema (del programa). Es
una instancia a una clase.
Metodo: Algoritmo
asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena
tras la recepción de un "mensaje". Desde el punto de vista del
comportamiento, es lo que el objeto puede hacer. Un método puede producir un
cambio en las propiedades del objeto, o la generación de un "evento"
con un nuevo mensaje para otro objeto del sistema.
Evento: Es un suceso en el sistema (tal como una interacción
del usuario con la máquina, o un mensaje enviado por un objeto). El sistema
maneja el evento enviando el mensaje adecuado al objeto pertinente. También se
puede definir como evento, a la reacción que puede desencadenar un objeto, es
decir la acción que genera.
Mensaje: una
comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos
con ciertos parámetros asociados al evento que lo generó.
Propiedad o atributo: contenedor de un tipo de datos
asociados a un objeto (o a una clase de objetos), que hace los datos visibles
desde fuera del objeto y esto se define como sus características
predeterminadas, y cuyo valor puede ser alterado por la ejecución de algún
método.
Estado interno: es una variable que se declara privada, que
puede ser únicamente accedida y alterada por un método del objeto, y que se
utiliza para indicar distintas situaciones posibles para el objeto (o clase de
objetos). No es visible al programador que maneja una instancia de la clase.
Componentes de un objeto: atributos, identidad, relaciones y
métodos.
Identificación de un objeto: un objeto se representa por
medio de una tabla o entidad que esté compuesta por sus atributos y funciones
correspondientes.
2:-RESUMEN:
Sobrecarga: La sobrecarga puede ser considerada como un tipo especial de polimorfismo que casi todos los lenguajes de OOP incluyen. Varios métodos (incluidos los "constructores", de los que se hablará más adelante) pueden tener el mismo nombre siempre y cuando el tipo de parámetros que recibe o el número de ellos sea diferente.
ABTRACCION: La
abstracción permite resaltar la parte mas representativa de algo, ignorando
detalles para centrarse en lo principal.
La imagen es muy fácil de identificar, con base a ella podemos crear una clase persona, o la clase hombre, humano entre otras, pero obviamente vemos que la imagen no tiene elementos como ojos, nariz, boca, rostro en general, ni dedos, pies, manos o cuello.
DEFINICION:
Es importante aclarar desde un
principio la diferencia que existe entre programación orientada a objetos y un
lenguaje orientado a objetos. La programación orientada a objetos es una
“filosofía”, un modelo de programación.
CONCEPTOS BASICOS
Clase: Las clases son uno de los
principales componentes de un lenguaje de programación, pues en ellas ocurren
todos los procesos lógicos requeridos para un sistema, en si podemos definirlas como estructuras que representan
objetos del mundo real, tomando como objetos a personas, lugares o cosas, en
general las clases poseen propiedades, comportamientos y relaciones con otras
clases del sistema.
Metodo: Son las operaciones (acciones o funciones)
que se aplican sobre los objetos y que permiten crearlos, cambiar su estado o
consultar el valor de sus atributos.
Los métodos constituyen la secuencia de acciones que implementan las
operaciones sobre los objetos. La implementación de los métodos no es visible
fuera de objeto. La sintaxis algorítmica de los métodos expresados como
funciones y acciones es: Para funciones se pueden usar cualquiera de estas dos
sintaxis:
Herencia: El mecanismo de herencia permite definir nuevas clases
partiendo de otras ya existentes. Las clases que derivan de otras heredan
automáticamente todo su comportamiento, pero además pueden introducir
características particulares propias que las diferencian.
Sobrecarga: La sobrecarga puede ser considerada como un tipo especial de polimorfismo que casi todos los lenguajes de OOP incluyen. Varios métodos (incluidos los "constructores", de los que se hablará más adelante) pueden tener el mismo nombre siempre y cuando el tipo de parámetros que recibe o el número de ellos sea diferente.
EVENTO:
Los eventos son todas las acciones que el usuario inicia, dar clic sobre un
botón, presionar las teclas del teclado, etc. Cada vez que se produce un
evento, se crea un objeto. La clase padre de los eventos es "java.awt.event".
Cada lenguaje de programación tiene su propio modelo de eventos, en Java se
definen clases auxiliares llamadas escuchadores (listeners) que reciben eventos
específicos.
Atributos
Los atributos son las caracterísiticas individuales que diferencian un
objeto de otro y determinan su apariencia, estado u otras cualidades. Los
atributos se guardan en variables denominadas de instancia, y cada objeto
particular puede tener valores distintos para estas variables.
MENSAJE: Normalmente un único objeto por sí solo no
es muy útil. En general, un objeto aparece como un componente más de un
programa o una aplicación que contiene otros muchos objetos. Es precisamente
haciendo uso de esta interacción como los programadores consiguen una
funcionalidad de mayor orden y modelar comportamientos mucho más complejos.
La imagen es muy fácil de identificar, con base a ella podemos crear una clase persona, o la clase hombre, humano entre otras, pero obviamente vemos que la imagen no tiene elementos como ojos, nariz, boca, rostro en general, ni dedos, pies, manos o cuello.
ENCAPSULAMIENTO:
Este concepto es uno de los más importantes en términos de seguridad dentro de nuestra aplicación, la encapsulación es la forma de proteger nuestros datos dentro del sistema, estableciendo básicamente los permisos o niveles de visibilidad o acceso de nuestros datos.
Este concepto es uno de los más importantes en términos de seguridad dentro de nuestra aplicación, la encapsulación es la forma de proteger nuestros datos dentro del sistema, estableciendo básicamente los permisos o niveles de visibilidad o acceso de nuestros datos.
HERENCIA: Una vez que hemos visto el concepto de clase
y el de objeto, estamos en condiciones de introducir otra de las
características básicas de la programación orientada a objetos: el uso de la
herencia. El mecanismo de herencia permite definir nuevas clases partiendo de
otras ya existentes. Las clases que derivan de otras heredan automáticamente
todo su comportamiento.
POLIMORFISMO: Este tal vez sea uno de los conceptos de la programación orientada a objetos más usados pero muchas veces sin saber que se aplica ya que el concepto inicialmente puede ser un poco confuso, básicamente mediante el polimorfismo programamos de forma general en lugar de hacerlo de forma específica, se usa cuando se trabajen con la herencia y objetos de características comunes los cuales comparten la misma superClase y árbol jerárquico, al trabajar con este concepto optimizamos y simplificamos en gran medida nuestro trabajo.
POLIMORFISMO: Este tal vez sea uno de los conceptos de la programación orientada a objetos más usados pero muchas veces sin saber que se aplica ya que el concepto inicialmente puede ser un poco confuso, básicamente mediante el polimorfismo programamos de forma general en lugar de hacerlo de forma específica, se usa cuando se trabajen con la herencia y objetos de características comunes los cuales comparten la misma superClase y árbol jerárquico, al trabajar con este concepto optimizamos y simplificamos en gran medida nuestro trabajo.
Modularidad: es, en programación modular y más
específicamente en programación orientada a objetos,
la propiedad que permite subdividir una aplicación en partes más pequeñas
(llamadas módulos), cada una de las cuales debe ser tan independiente como sea
posible de la aplicación en sí y de las restantes partes.
POO EN VISUAL BASIC NET
INTRODUCCION:
Visual Basic es un descendiente de Basic, que ha existido durante varias
décadas. BASIC (el acrónimo de Beginners´All-Purpose Symbolic Instruction Code)
fue originariamente desarrollado por la Dartmouth University en 1964 como lenguaje
para programadores principiantes. BASIC se convirtió en el primer lenguaje que
la mayoría de los programadores aprendía para familiarizarse con los
fundamentos de la programación antes de pasar a lenguajes más potentes. Visual
Basic apareció en mayo de 1991 y supuso una revolución en la metodología de
desarrollo de aplicaciones, ya que permitía la creación de programas
arrastrando y soltando componentes en lugar de tener que codificar manualmente
los elementos.
• La ENCAPSULACIÓN es la cualidad de unificar los datos y
la forma de manipularlos, de esta forma podemos ocultar el funcionamiento de
una clase y exponer solo los datos que manipula (mediante propiedades), así
como proveer de medios para poder manipular dichos datos (mediante métodos). De
esta forma solo exponemos al mundo exterior la información y la forma de
manipularla, ocultando los detalles usados para manejar esos datos y, lo que es
más importante, evitando que nadie manipule de una forma no controlada dicha
información.
• La HERENCIA es la cualidad de poder crear nuevas
clases (o tipos) basadas en otras clases, de forma que la nueva clase obtenga
todas las características de la clase que ha heredado, tanto los datos que
contiene como la forma de manipularlos, pudiendo añadir nuevas características
e incluso cambiar el comportamiento de algunas de las incluidas en la clase
base, (siempre que así se haya previsto). Mediante la herencia podemos crear de
forma fácil una jerarquía de clases que comparten un mismo comportamiento básico
pero que cada nueva generación puede tener (y de hecho tiene) un nuevo
comportamiento.
• El POLIMORFISMO es la cualidad de implementar de forma
particular algunas de las características que tienen las clases, de forma que
cuando necesitemos usarlas no nos preocupe la implementación interna que cada
una tenga, lo que realmente nos interesa o nos debe importar es que podemos
usar esas características e incluso podamos acceder a ellas de forma anónima...
o casi.
La programación orientada a objetos es una forma de programar que trata
de encontrar una solución a estos problemas. Introduce nuevos conceptos, que
superan y amplían conceptos antiguos ya conocidos. Entre ellos destacan los
siguientes:
CLASE: definiciones de las propiedades y comportamiento de un tipo de
objeto concreto. La instanciación es la lectura de estas definiciones y la
creación de un objeto a partir de ellas.
METODO: Algoritmo asociado a un objeto (o a una
clase de objetos), cuya ejecución se desencadena tras la recepción de un
"mensaje". Desde el punto de vista del comportamiento, es lo que el
objeto puede hacer. Un método puede producir un cambio en las propiedades del
objeto, o la generación de un "evento" con un nuevo mensaje para otro
objeto del sistema.
EVENTO: Es un suceso en el sistema (tal como una interacción del usuario
con la máquina, o un mensaje enviado por un objeto). El sistema maneja el
evento enviando el mensaje adecuado al objeto pertinente. También se puede
definir como evento, a la reacción que puede desencadenar un objeto, es decir
la acción que genera.
MENSAJE: una comunicación dirigida a un objeto, que
le ordena que ejecute uno de sus métodos con ciertos parámetros asociados al
evento que lo generó.
Propiedad o atributo: contenedor de un tipo de datos asociados a un
objeto (o a una clase de objetos), que hace los datos visibles desde fuera del
objeto y esto se define como sus características predeterminadas, y cuyo valor
puede ser alterado por la ejecución de algún método.
3:SUMMARY
DEFINITION:
The difference between
object-oriented programming and an object-oriented language is important from
the outset. Object-oriented programming is a philosophy, a programming model.
BASIC CONCEPTS
Class: Classes are one of the main components of a programming
language, since they occur in all the processes required for a system, they can
be defined as structures representing objects in the real world, taking
objects, places, things in general classes possess properties, behaviors and
relationships with other classes of the system.
Method: They are the operations that are applied on the objects and
that allow to create, to change its state or to consult the value of its
attributes.
Methods are the sequence of actions
that implement operations on objects. The implementation of the methods is not
visible outside the object. The algorithmic syntax of the methods expressed as
functions and actions is: For functions you can use either of these two
syntaxes:
Inheritance: The inheritance mechanism allows defining new classes
from existing ones. Classes that derive from others automatically inherit all
of their behavior, but may also include unique characteristics that
differentiate them.
Overload: Overload can be considered as a special type of
polymorphism that almost all OOP languages include. Several methods
(including "constructors", discussed later) may have the same name as
long as the type of parameters that receive the number of them differ.
EVENT:
Events are all actions that the
user starts, presses a button, presses the keys of the keyboard, etc. Each time
an event occurs, an object is created. The parent class of events is
"java.awt.event".
Each programming language has its
own event model, Java defines auxiliary listeners (listeners) that receive
specific events.
Attributes
Attributes are the individual
characteristics that differentiate one object from another and determine its
appearance, state or other qualities. Attributes are stored in named instance
variables, and each particular object can have different values for these
variables.
MESSAGE: Normally a single object alone is not very useful. In
general, an object appears as one more component of a program or an application
that contains many other objects. It is precisely by making use of this
interaction as programmers get a mayoral functionality and model much more
complex behaviors.
ABRACTION: Abstraction allows to highlight the most representative
part of something, ignoring the details to focus on the main thing.
The image is very easy to identify,
based on it can create a kind of person, human, human class among others, but
obviously we see that the image has no elements like eyes, nose, mouth, face in
general, nor fingers, cakes, hands or neck.
ENCAPSULATION:
This concept is one of the most
important in terms of security within our application, encapsulation is the way
to protect our data within the system, basically establishing the permissions
or levels of visibility or access of our data.
Inheritance: Once we have seen the
concept of class and object, we are able to apply another of the basic
characteristics of object-oriented programming: the use of inheritance. The
inheritance mechanism allows defining new classes from existing ones. Classes
that derive from others automatically inherit all of their behavior.
POLYMORPHISM: This may be one of the most commonly used
object-oriented programming concepts, but often without knowing that it is
applied and that the concept can initially be confusing, basically through the
polymorphic program in general in the place of doing it specific form, is used
when working with inheritance and objects of common characteristics which
compare the same superClase and hierarchical tree, working with this concept we
greatly optimize and simplify our work.
Modularity: it is, in modular programming and more specifically in
object oriented programming, the property that allows to subdivide an
application into smaller parts (called modules), each of which must be as
independent as the possible sea of the application itself and the remaining
parts.
POO IN VISUAL BASIC NET
INTRODUCTION:
Visual
Basic is a descendant of Basic, which has existed for several decades. BASIC
(the acronym for Beginners' All-Purpose Symbolic Instruction Code) was
originally developed by Dartmouth University in 1964 as a language for beginner
programmers. BASIC became the first language most programmers learned to become
familiar with the fundamentals of programming before moving on to more
powerful languages. Visual Basic appeared in May 1991 and was a revolution in
application development methodology, as it allowed the creation of programs by
dragging and dropping components instead of having to manually encode the
elements.
•
ENCAPSULATION is the quality of unifying the data and how to
manipulate them, in this way we can hide the operation of a class and expose
only the data it manipulates (through properties), as well as provide means to
manipulate such data methods). In this way we only expose the outside world to
the information and how to manipulate it, hiding the details used to handle
that data and, more importantly, preventing anyone from uncontrolled
manipulation of such information.
• Inheritance
is the quality of being able to create new classes (or types) based on other
classes, so that the new class obtains all the characteristics of the class
that it has inherited, both the data that it contains and the way of
manipulating them, being able to add new features and even change the behavior
of some of the included ones in the base class, (provided this is provided).
Through inheritance we can easily create a hierarchy of classes that share the
same basic behavior but that each new generation can have (and indeed has) a
new behavior.
•
POLYMORPHISM is the quality to implement in a particular
way some of the characteristics that the classes have, so that when we need to
use them we do not worry about the internal implementation that each one has,
what we really care or should care about is that we can use those
characteristics and even we can access them anonymously ... or almost.
Object-oriented
programming is a way of programming that tries to find a
solution to these problems. Introduces new concepts, which surpass and extend
old concepts already known. These include:
Class:
definitions of the properties and behavior of a particular object type. The
instantiation is the reading of these definitions and the creation of an object
from them.
Method:
Algorithm associated with an object (or a class of objects), whose execution is
triggered upon receipt of a "message". From the point of view of
behavior, it is what the object can do. A method can produce a change in object
properties, or the generation of an "event" with a new message for
another object in the system.
Event: It is
an event in the system (such as a user interaction with the machine, or a
message sent by an object). The system handles the event by sending the
appropriate message to the relevant object. It can also be defined as an event,
the reaction that can trigger an object, ie the action it generates.
Message: a
communication addressed to an object, which instructs it to execute one of its
methods with certain parameters associated with the event that generated it.
Property
or attribute: container of a data type associated with an
object (or an object class), which makes the data visible from outside the
object and this is defined as its predetermined characteristics, and whose
value can be altered by the execution of some method.
4.-RECOMENDACIONES: La POO representa un gran avance en
la programación, tal como lo fue la programación estructurada en la
década de los ’70. Entre sus ventajas más importante se encuentran un notable
aumento de la productividad del programador y de la robustez de los programas.
Personalmente, el lenguaje
orientado a objetos que más me agrada es Eiffel (además
de sus características de orientación a objetos, soporta la metodología
de diseño por
contratos).
5.-CONCLUSIONES: Identidad, clasificación, polimorfismo y
herencia caracterizan a los lenguajes orientados a objetos. Cada uno de estos
conceptos puede utilizarse aisladamente, incluso aparecen en otras metodologías
de programación, pero juntos se complementan en una relación sinérgica. Los
beneficios de la programación orientada a objetos son más que los que pueden
verse a simple vista. El énfasis en las propiedades esenciales de un objeto,
fuerza al desarrollador a pensar cuidadosamente que es un objeto y que es
lo que hace con el resultado de que el sistema es normalmente más preciso,
general y robusto que si pusiéramos el énfasis en los procedimientos y los
datos por separado.
6.-APRECIACION DEL EQUIPO.
6.-APRECIACION DEL EQUIPO.
Nuestra apreciación del equipo es
que si queremos ser buenos programadores debemos aprender a programar la programación
orientado a objetos ya sea en java o visual estudio así sabrás como se diferencia.
Si la aplicación involucra
operaciones con base de datos, interfaces web u otras tareas de negocio,
la opción ideal es Visual Basic.
La programación orientado a objetos el código se puede reutilizar.
7.-GLOSARIO.-
Programación Orientada a Objetos.-Es una filosofía de programación que se basa en la utilización de objetos. El objetivo de la POO es "imponer" una serie de normas de desarrollo que aseguren y faciliten la mantenibilidad y reusabilidad del código.
Acoplamiento (coupling).-Medida del grado en el que un objeto
o componente depende de otro. Bajo acoplamiento minimiza las dependencias y es
una indicación de un buen diseño
Algoritmo (algorithm).- Método que describe cómo se
resuelve un problema en término de las acciones que se ejecutan y especifica el
orden en que se ejecutan estas acciones. Los algoritmos ayudan al programador a
planificar un programa antes de su escritura en un lenguaje de programación.
Asignación (assignment).- Almacenamiento de un valor
en una variable. La sentencia de asignación es aquella que implementa la
asignación y utiliza un operador de asignación.
Clase cliente (client class).- Clase que hace uso de otra
clase.
Declaración (declaration).- Define las variables,
métodos y clase en un programa.
8.-LINKOGRAFIA.-
·
http://ocw.usal.es/eduCommons/ensenanzas-tecnicas/herramientas-informaticas-para-el-geoprocesado/contenidos/Materiales/Tema1_Introduccion.pdf
- https://es.slideshare.net/FiorellaAguilarIsuiza/poo-y-visual










