SlideShare une entreprise Scribd logo
1  sur  12
PROGRAMACION VISUAL
TRABAJO DE UNIDAD 1
PROGRAMACION ORIENTADA A OBJETOS
Minatitlán Ver. 13 de marzo del 2014
PROFESOR: Ing. Guillermina Jiménez Rasgado
ENCARGADO DEL GRUPO: Miguel Ángel Tenorio Pérez
ALUMNO: Libertad Esmirna Olivares Salazar
Ing. Electrónica 4to Semestre Grupo 2 M
No. De Control: 12230767
TAREA 1: leer la información proporcionada en los archivos anexos, traducir entre todos un artículo
de dos hojas q envío en inglés, subrayar los términos nuevos detectados de la POO.
¿Por qué necesitamos para programar?
La tecnología es parte de nuestra vida. El mundo está cambiando todos los días y todo lo que se está
automatizado. Aprender a programar es la forma creativa que podemos llevar nuestras ideas a un nivel
superior y expresar soluciones a la sociedad. Mediante el diseño de programas, nos enteramos de varias
habilidades como la lectura crítica, el pensamiento analítico y crear síntesis. El programador define el
problema, planea una solución, los códigos del programa , pruebe la propuesta y documenta las
características. Pero no podemos programar todas las soluciones con el mismo método, por eso aparece
paradigmas de programación.
Panorámica de Paradigmas de Programación
Según Vasappanavara, un “paradigma de programación es la manera en que se explotan los elementos de
programación, tales como funciones, objetos y variables para producir la salida deseada". Es importante
entender que paradigmas de programación no son lenguajes de programación.
¿Qué es la programación orientada a objetos (POO) ?
El objeto - orientado es un paradigma de programación donde se tejen la lógica y los datos del programa.
Como afirmó Phil Ballard, es una forma de conceptualizar los datos de un programa en "cosas" separadas
conocidas como objetos, cada uno con sus propias propiedades y métodos.
Veamos un ejemplo. Suponga que su amigo es un gerente de banco y él quiere que usted ayude a la mejora
de su sistema. El primer objeto que puede diseñar es la Cuenta de propósito general. El objeto de Cuenta
tiene propiedades y métodos. Para cada cliente el banco de tu amigo tiene, usted tendría que crear un objeto
de cuenta.
Características
Como se desprende de las características más importantes de la programación orientada a objetos:
La encapsulación. Capacidad de ocultar los datos y las instrucciones en el interior de un objeto.
Herencia. Capacidad de crear un objeto de otro.
El polimorfismo. El diseño de las nuevas clases se basa en una sola clase.
Paso de mensajes. Es la forma más objetos se comunican entre sí.
GarbageCollection. Gestión de memoria automática, que destruye los objetos que ya no están en uso por el
programa.
Beneficios:
Como sigue algunos de los beneficios de la utilización de la programación orientada a objetos:
Reutilización. Usted puede escribir un programa usando un código desarrollado anterior.
Código Compartido. Usted es capaz de estandarizar la forma en que tu estás programando con sus colegas.
Modelado rápido. Puede crear prototipos de las clases y su interacción a través de un diagrama.
Inconvenientes
De la siguiente manera las desventajas del uso de la programación orientada a objetos:
Tamaño. Son más grandes que otros programas, consumiendo más memoria y espacio en disco.
Esfuerzo. Requiere mucho trabajo para crear, incluyendo la creación de diagramas en la fase de planificación
y la codificación en la fase de ejecución.
Conceptos Básicos
Clase: Plantilla básica que especifica las propiedades y el comportamiento de algo (la vida real o abstracta).
Objeto: Particular instancia de una clase que responda en consecuencia a los acontecimientos.
Atributo: Las características de la clase. A menudo llamado variables de instancia.
Método: Algoritmo asociado a una clase que representa una cosa que hace el objeto.
Subclase: Clase sobre la base de otra clase.
Herencia: Proceso mediante el cual la subclase obtiene los atributos y los métodos de su clase padre.
Interfaz: Plantilla específica que hace cumplir ciertos atributos y métodos de una clase.
Paquete: Espacio de nombres que organiza un conjunto de clases e interfaces relacionadas.
Evento: Alertar a la aplicación cuando hay un cambio de estado del objeto.
CONCEPTOS MÁS IMPORTANTES
POO: 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. El término de Programación Orientada a Objetos indica más una forma
de diseño y una metodología de desarrollo de 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, ObjetoOrientadDesignó), a
cualquier tipo de lenguaje de programación.
CLASE: Es el molde de un objeto, plantilla, cada objeto se define dentro de una clase y se crean a partir de
ésta. Posiblemente se ampliará y utilizará este término mucho más adelante. Por ahora solo lo menciono, se
lo podría tomar para simplificar como que es casi lo mismo que un objeto.
OBJETOS: Un Botón, un Cuadro de texto, son ejemplos de objetos, son una combinación de códigos y datos
que son tratados como un único elemento. Luego, una aplicación completa puede ser un objeto. El trabajar
con objetos posee la ventaja de que no hace falta escribir el código del objeto. No hace falta escribir el código
de un botón, directamente se lo inserta, se le asigna un método, como ser clic en el ejemplo anterior. Si se
necesita se le modifica alguna de sus propiedades y se agrega código.
PARADIGMA: Un paradigma de programación provee (y determina) la visión y métodos de un programador
en la construcción de un programa o subprograma. Diferentes paradigmas resultan en diferentes estilos de
programación y en diferentes formas de pensar la solución de problemas (con la solución de múltiples
“problemas” se construye una aplicación).
HERENCIA: El mecanismo más utilizado para alcanzar algunos de los objetivos más preciados en el
desarrollo de software como lo son la reutilización y la extensibilidad. A través de ella los diseñadores pueden
crear nuevas clases partiendo de una clase o de una jerarquía de clases preexistente (ya comprobadas y
verificadas) evitando con ello el rediseño, la modificación y verificación de la parte ya implementada. La
herencia facilita la creación de objetos a partir de otros ya existentes e implica que una subclase obtiene todo
el comportamiento (métodos) y eventualmente los atributos (variables) de su superclase.
ATRIBUTO: Los atributos son las características 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.
POLIMORFISMO: se refiere a la propiedad por la que es posible enviar mensajes sintácticamente iguales
a objetos de tipos distintos. El único requisito que deben cumplir los objetos que se utilizan de manera
polimórfica es saber responder al mensaje que se les envía.
La apariencia del código puede ser muy diferente dependiendo del lenguaje que se utilice, más allá de las
obvias diferencias sintácticas.
METODO: Un método es un trozo de código que puede ser llamado o invocado por el programa principal o
por otro método para realizar alguna tarea específica. El término método en Java es equivalente al de
subprograma, rutina, subrutina, procedimiento o función en otros lenguajes de programación. El método es
llamado por su nombre o identificador seguido por una secuencia de parámetros o argumentos (datos
utilizados por el propio método para sus cálculos) entre paréntesis. Cuando el método finaliza sus
operaciones, devuelve habitualmente un valor simple al programa que lo llama, que utiliza dicho valor de la
forma que le convenga.
CONSTRUCTOR: El constructor se llama de forma automática cuando se crea un objeto, para situarlo en
memoria e inicializar los miembros dato declarado en la clase. El constructor tiene el mismo nombre que la
clase. Lo específico del constructor es que no tiene tipo de retorno. El constructor recibe cuatro números que
guardan los parámetros x1, y1, w y h, y con ellos inicializa los miembros dato x, y, ancho y alto. Una clase
puede tener más de un constructor.
ABSTRACCION: La abstracción consiste en aislar un elemento de su contexto o del resto de los elementos
que lo acompañan. En programación, el término se refiere al énfasis en el "¿qué hace?" más que en el
"¿cómo lo hace?" (Característica de caja negra). El común denominador en la evolución de los lenguajes de
programación, desde los clásicos o imperativos hasta los orientados a objetos, ha sido el nivel de abstracción
del que cada uno de ellos hace uso.
Los lenguajes de programación son las herramientas mediante las cuales los diseñadores de lenguajes
pueden implementar los modelos abstractos. La abstracción ofrecida por los lenguajes de programación se
puede dividir en dos categorías: abstracción de datos (pertenecientes a los datos) y abstracción de control
(perteneciente a las estructuras de control).
ENCAPSULACION: Se refiere a la capacidad de agrupar y condensar en un entorno con límites bien-
definidos distintos elementos. Cuando hablemos de encapsulación en general siempre nos referiremos, pues,
a encapsulación abstracta. De manera informal, primero generalizamos (la abstracción) y luego decimos: la
generalización está bien, pero dentro de un cierto orden: hay que poner límites (la encapsulación), y dentro de
esos límites vamos a meter, a saco, todo lo relacionado con lo abstraído: no sólo datos, sino también
métodos, comportamientos, etc.
UML: es un lenguaje visual para especificar, construir y documentar sistemas” (OMG - Objeto Management
Grupo) Iniciad (UNIFICADO): El aporte de muchos métodos y notaciones Independiente de implementaciones,
plataformas y lenguajes Modeling (MODELADO): Los modelos son utilizados en todas las ingenierías
Language (LENGUAJE): Si hay gente, requieren comunicarse. Si se tienen que comunicar, se tienen que
entender. Para entenderse necesitan un lenguaje común
TAREA 2: Comentar videos en clase
TAREA 3: realizar diapositivas o un prezi de los conceptos más importantes de la POO, que aparecen
en los documentos y videos proporcionados (POO, clase, objeto, paradigma, herencia, atributo,
polimorfismo, método, constructor, abstracción, encapsulación, UML, miembro)
TAREA 4: Escribir un concepto diferente relacionado a la POO, una imagen, un ejemplo y deberá
anotar su nombre completo
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.
TAREA 5: Realizar una investigación de los Lenguajes de programación orientados a objetos,como se
llaman, quien los invento. Escribir el ejemplo de hola mundo para cada lenguaje encontrado.
*Hacer una línea del tiempo por equipos de 3 pueden hacerlo en Dipity u otro programa red y agregar
enlace en el blog 30%*
CARACTERÍSTICAS DE LOS LENGUAJES OOP
Herencia múltiple
Esta característica suele ser común a la mayoría de los lenguajes OOP, aunque introduce un problema al
existir la posibilidad de que el objeto sucesor herede el mismo atributo, aunque con distinto tipo y valor, de
más de un predecesor. Alguno de los lenguajes de programación soluciona este problema de forma
automática, aunque los más populares generan un error en el tiempo de compilación. Recomendamos que se
examinen con cuidado las clases para evitar en lo posible estos errores.
Eficiencia.
Los lenguajes OOP arrastraron en un principio la reputación de ser ineficaces. Esto se debía en gran medida
a que los primeros lenguajes (como Smalltalk) eran interpretados y no compilados. La existencia
de compiladores permite a los desarrolladores ganar rapidez. Actualmente, usando un buen lenguaje
orientado a objetos como C++, Java, etc. Junto con las librerías apropiadas para la realización de un
programa, puede que se ejecute más rápidamente que el mismo programa compilado con un lenguaje
procedural.
Asignación de tipos.
Los lenguajes orientados a objetos varían de forma sustancial la forma por la que se aproximan a la
asignación de tipos.
Por asignación de tipos entendemos que cada variable sea identificada como perteneciente a una clase
(asignación fuerte) o sea simplemente un objeto indeterminado (asignación débil). Eiffel y C son dos lenguajes
basados en la asignación fuerte, frente a Smalltalk, en el que todas las variables definidas pertenecen a una
clase indeterminada.
La asignación fuerte sirve a dos propósitos. Por una parte para que el desarrollador pueda identificar a que
clase pertenece cada operación. De forma concreta, en aquellos lenguajes donde está implementado el
operator overloading (redefinición de operador), el compilador puede reconocer a través de las clases que
entran como parámetros en la operación que operación tiene que utilizar.
Por otra, este tipo de declaración permite al compilador un mayor grado de optimización, ya que conoce en
todo momento el espacio que ha de asignar.
Manejo de memoria.
Los OOP son lenguajes que utilizan de manera intensiva la memoria de la computadora.Hay dos tipos de
aproximación a la gestión de memoria.El sistema en tiempo de ejecución libera la memoria automáticamente a
medida que los objetos dejan de utilizarse.
El sistema tiene instrucciones concretas para liberar l memoria explícitamente. Este el enfoque adoptado por
lenguajes como C++, que aportan dos operadores: crear y destruir. El primero reserva automáticamente
memoria, mientras que el segundo la libera.
Encapsulación
Consiste en separar aquellos atributos del objeto que deben ser conocidos por el resto, de aquel necesario
para su funcionamiento propio. No es propio de los lenguajes orientados a objetos, pero la capacidad de éstos
para unir las estructuras de datos a los procedimientos que los modifican lo hace más potente que los
lenguajes llamados <<Modulares>>
HISTORIA DEL LNEGUAJE DE PROGRAMACION
15th
May,
1953
LENGUAJE
FORTRAN
A finales de 1953, John W. Backus sometió una propuesta a sus
superiores en IBM para desarrollar una alternativa más práctica al
lenguaje ensamblador para programar el computador central IBM 704.
El histórico equipo FORTRAN de Backus consistió en los programadores
Richard Goldberg, Sheldon F. Best, HarlanHerrick, Peter Sheridan, Roy
Nutt, Robert Nelson, Irving Ziller, LoisHaibt y David Sayre.
1st
Feb,
1959
LENGUAJE
LISP
es una familia de lenguajes de programación de computadora de tipo
multiparadigma con una larga historia y una sintaxis completamente
entre paréntesis. Especificado originalmente en 1958 por John
McCarthy y sus colaboradores en el Instituto Tecnológico de
Massachusetts, el Lisp es el segundo más viejo lenguaje de
programación de alto nivel de extenso uso hoy en día; solamente el
FORTRAN es más viejo. Al igual que el FORTRAN, el Lisp ha cambiado
mucho desde sus comienzos, y han existido un número
2nd
May,
1960
LENGUAJE
ALGOL
lenguaje de programación. La voz es un acrónimo de las palabras
inglesas AlgorithmicLanguage (lenguaje algorítmico). Fue muy popular
en las universidades durante los años 60, pero no llegó a cuajar como
lenguaje de utilización comercial. Sin embargo, Algol influyó
profundamente en varios lenguajes posteriores que sí alcanzaron gran
difusión, como Pascal, C y Ada. Hacia 1965 dos corrientes se
distinguieron sobre el tema de un sucesor para Algol. Como resultado
se definieron los lenguajes A
15th
May,
1963
LENGUAJE
APL
es un interactivo matriz lenguaje orientado y entorno de desarrollo
integrado , que está disponible en un número de proveedores
comerciales y no comerciales y para la mayoría de las plataformas
informáticas. Se trata de basado en una notación matemática
desarrollada por Kenneth E. Iverson y sus asociados que cuenta con
atributos especiales para el diseño y las especificaciones de los
sistemas informáticos digitales, tanto de hardware y de software .
17th
Jul,
1965
LENGUAJE
BASIC
fue diseñado en 1964 por John George Kemeny y Thomas Eugene Kurtz
en el DartmouthCollege en New Hampshire, Estados Unidos, como un
medio para facilitar programar computadores a estudiantes (y
profesores) que no fueran de ciencias. En ese tiempo, casi todo el uso
de los computadores requería codificar software hecho a la medida, lo
cual era algo bastante restringido a personas con formación como
científicos y matemáticos. BASIC originalmente fue desarrollado como
una herramienta de enseñanza.
15th
May,
1969
LENGUAJE
PASCAL
Pascal es un lenguaje de programación desarrollado por el profesor
suizo NiklausWirth entre los años 1968 y 1969 y publicado en 1970. Su
objetivo era crear un lenguaje que facilitara el aprendizaje de
programación a sus alumnos, utilizando la programación estructurada y
estructuración de datos. Sin embargo con el tiempo su utilización
excedió el ámbito académico para convertirse en una herramienta para
la creación de aplicaciones de todo tipo.
2nd
Jan,
1972
LENGUAJE
PROLOG
es un lenguaje de programación lógico e interpretado, bastante
conocido en el medio de investigación en Inteligencia Artificial. Nació
de un proyecto que no tenía como objetivo la implementación de un
lenguaje de programación, sino el procesamiento de lenguajes
naturales. Alain Colmerauer y Robert Pasero trabajaban en la parte del
procesado del lenguaje natural y Jean Trudel y PhilippeRoussel en la
parte de deducción e inferencia del sistema. Interesado por el método
de resolución SL.
15th
May,
1972
LENGUAJE
C
C es un lenguaje de programación creado en 1972 por Dennis M.
Ritchie en los Laboratorios Bell como evolución del anterior lenguaje B,
a su vez basado en BCPL. Al igual que B, es un lenguaje orientado a la
implementación de Sistemas Operativos, concretamente Unix. C es
apreciado por la eficiencia del código que produce y es el lenguaje de
programación más popular para crear software de sistemas, aunque
también se utiliza para crear aplicaciones.
8th
Nov,
1979
LENGUAJE
MODULA-2
es un lenguaje de programación cuyo autor es NiklausWirth, autor
también del lenguaje Pascal. Como novedad respecto a este último
lenguaje, introduce el concepto de módulo, y de encapsulación. Del
código contenido en un módulo, sólo se facilita una interfaz pública
denominada módulo de definición, permaneciendo el resto oculto
(encapsulado) para un desarrollador ajeno, lo que facilita el
mantenimiento de dichas estructuras de programación a la vez que
imposibilita la modificación de las mismas
4th
Jul,
1980
lenguaje
c++
C++ es un lenguaje de programación diseñado a mediados de los años
1980 por BjarneStroustrup. La intención de su creación fue el extender
al exitoso lenguaje de programación C con mecanismos que permitan la
manipulación de objetos. En ese sentido, desde el punto de vista de los
lenguajes orientados a objetos, el C++ es un lenguaje híbrido.
Posteriormente se añadieron facilidades de programación genérica,
que se sumó a los otros dos paradigmas que ya estaban admitidos
(programación estructurada
10th
Jul,
1985
LENGUAJE
CLIPPER
Clipper es un lenguaje de programación procedural e imperativo
creado en 1985 por NantucketCorporation y vendido posteriormente a
ComputerAssociates, la que lo comercializó como CA-Clipper. En un
principio Clipper se creó como un compilador para el sistema gestor
intérprete de bases de datos dBase III (de hecho las versiones
estacionales de Nantucket incluían una etiqueta que lo indicaba así),
pero con el tiempo el producto evolucionó y maduró, convirtiéndose
en un lenguaje compilado.
15th
May,
1990
LENGUAJE
JAVA
Java es un lenguaje de programación orientado a objetos, desarrollado
por Sun Microsystems a principios de los años 90. El lenguaje en sí
mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de
objetos más simple y elimina herramientas de bajo nivel, que suelen
inducir a muchos errores, como la manipulación directa de punteros o
memoria. La memoria es gestionada mediante un recolector de basura.
2nd
Nov,
1993
LENGUAJE
VISUAL C++
Visual C++ (también conocido como MSVC, Microsoft Visual C++) es un
entorno de desarrollo integrado (IDE) para lenguajes de programación
C, C++ y C++/CLI. Esta especialmente diseñado para el desarrollo y
depuración de código escrito para las API's de Microsoft Windows,
DirectX y la tecnología Microsoft .NET Framework. Visual C++ hace uso
extensivo del framework Microsoft FoundationClasses (o simplemente
MFC), el cual es un conjunto de clases C++ para el desarrollo de
aplicaciones en Windows.
7th
Sep,
1995
LENGUAJE
DELPHI
es un entorno de programación visual basado en una versión moderna
del lenguaje de programación Pascal. Como entorno visual, la
programación en Delphi consiste en diseñar las pantallas de que se
compone el programa colocando todos sus componentes (botones,
campos de texto, etc.), asociando después código a ellos. El lenguaje
utilizado por Delphi es una extensión de Pascal denominada Object
Pascal, que básicamente añade al Pascal tradicional soporte para la
programación orientada a objetos.
“HOLA MUNDO” EN DISTINTOS LENGUAJES
En Fortran
PROGRAM HOLA
PRINT *, '¡Hola, mundo!'
END
En LISP
(format t "¡Hola, mundo!")
"¡Hola, mundo!"
En ALGOL
BEGIN
FILE F (KIND=REMOTE);
EBCDIC ARRAY E [0:12];
REPLACE E BY "HOLA MUNDO!";
WHILE TRUE DO
BEGIN
WRITE(F,*, E);
END;
END.
En Basic
print"Hola Mundo";
En Pascal
ProgramHolaMundo;
Begin
Write('¡Hola, Mundo!');
ReadLn;
End.
En Prolog
write('Hola mundo').
EN C
#include<stdio.h>
intmain()
{
printf("¡Hola, mundo!n");
return0;
}
En Modula-2
MODULE Hola;
FROMInOutIMPORTWriteString;
BEGIN
WriteString("Hola Mundo");
END Hola.
EN C++
#include<iostream>
intmain()
{
std::cout<<"Hola
mundon";return0;
}
En Clipper
? "Hola Mundo!"
JAVA
publicclassHolaMundo
{
publicstaticvoidmain(String[]args)
{
System.out.println("Hola Mundo");
}
}
En Delphi
programPHolaMundo;
uses
Dialogs;
begin
MessageDlg('Hola Mundo',mtInformation,[mbOK],0);
end.

Contenu connexe

Tendances

Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosmichaelalta
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacionfranciscocain
 
Programacion Orientada a Objetos (poo)
Programacion Orientada a Objetos (poo) Programacion Orientada a Objetos (poo)
Programacion Orientada a Objetos (poo) Maîck Ddz
 
Trabajo de Programacion Orientada a Objetos.
Trabajo de Programacion Orientada  a Objetos.Trabajo de Programacion Orientada  a Objetos.
Trabajo de Programacion Orientada a Objetos.Vicente Alberca
 
Que es y para que sirve la programacion orientada a objetos
Que es y para que sirve la programacion orientada a objetosQue es y para que sirve la programacion orientada a objetos
Que es y para que sirve la programacion orientada a objetosBeydasanchezhernandez
 
CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOS
CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOSCUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOS
CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOSLuis Miguel Gutierrez
 
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOSLENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOSJonathan Hidalgo Nolasco
 
Clase3 Programación Orientada a Objetos
Clase3 Programación Orientada a ObjetosClase3 Programación Orientada a Objetos
Clase3 Programación Orientada a Objetosdesimartinez
 
Principios fundamentales de la programación orientado a objetos
 Principios fundamentales de la programación orientado a objetos  Principios fundamentales de la programación orientado a objetos
Principios fundamentales de la programación orientado a objetos mellcv
 
U.T. 3.- Programación Orientada a Objetos. Programación JAVA
U.T. 3.- Programación Orientada a Objetos. Programación JAVAU.T. 3.- Programación Orientada a Objetos. Programación JAVA
U.T. 3.- Programación Orientada a Objetos. Programación JAVAiessanjuanbosco
 
Analisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado ObjetosAnalisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado ObjetosEliecer Suarez
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosbrandonhh10
 
Metodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prevMetodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prevjtk1
 
Inroduccion al paradigma de la programación orientada a objetos
Inroduccion al paradigma de la programación orientada a objetosInroduccion al paradigma de la programación orientada a objetos
Inroduccion al paradigma de la programación orientada a objetosJose Angel Rodriguez
 

Tendances (20)

POO
POOPOO
POO
 
Pilares de la POO
Pilares de la POOPilares de la POO
Pilares de la POO
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacion
 
Componentes en-poo
Componentes en-pooComponentes en-poo
Componentes en-poo
 
Programacion orientada a objetos Java
Programacion orientada a objetos JavaProgramacion orientada a objetos Java
Programacion orientada a objetos Java
 
Programacion Orientada a Objetos (poo)
Programacion Orientada a Objetos (poo) Programacion Orientada a Objetos (poo)
Programacion Orientada a Objetos (poo)
 
Trabajo de Programacion Orientada a Objetos.
Trabajo de Programacion Orientada  a Objetos.Trabajo de Programacion Orientada  a Objetos.
Trabajo de Programacion Orientada a Objetos.
 
Que es y para que sirve la programacion orientada a objetos
Que es y para que sirve la programacion orientada a objetosQue es y para que sirve la programacion orientada a objetos
Que es y para que sirve la programacion orientada a objetos
 
CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOS
CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOSCUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOS
CUESTIONARIO SOBRE PROGRAMACIÓN RELACIONADA A OBJETOS
 
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOSLENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
 
Clase3 Programación Orientada a Objetos
Clase3 Programación Orientada a ObjetosClase3 Programación Orientada a Objetos
Clase3 Programación Orientada a Objetos
 
Principios fundamentales de la programación orientado a objetos
 Principios fundamentales de la programación orientado a objetos  Principios fundamentales de la programación orientado a objetos
Principios fundamentales de la programación orientado a objetos
 
U.T. 3.- Programación Orientada a Objetos. Programación JAVA
U.T. 3.- Programación Orientada a Objetos. Programación JAVAU.T. 3.- Programación Orientada a Objetos. Programación JAVA
U.T. 3.- Programación Orientada a Objetos. Programación JAVA
 
Analisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado ObjetosAnalisis Y DiseñO Orientado Objetos
Analisis Y DiseñO Orientado Objetos
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
P.O.O.
P.O.O.P.O.O.
P.O.O.
 
Metodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prevMetodología de la programación orientada a objetos con c++ prev
Metodología de la programación orientada a objetos con c++ prev
 
Inroduccion al paradigma de la programación orientada a objetos
Inroduccion al paradigma de la programación orientada a objetosInroduccion al paradigma de la programación orientada a objetos
Inroduccion al paradigma de la programación orientada a objetos
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
 

En vedette

Métodos contraceptivos. hiv e ds ts
Métodos contraceptivos. hiv e ds tsMétodos contraceptivos. hiv e ds ts
Métodos contraceptivos. hiv e ds tsFernando Xavier
 
20 Alimentos Anti-Envelhecimento
20 Alimentos Anti-Envelhecimento20 Alimentos Anti-Envelhecimento
20 Alimentos Anti-EnvelhecimentoRoberto Singer
 
Relatório reflexão crítica final
Relatório reflexão crítica  finalRelatório reflexão crítica  final
Relatório reflexão crítica finalhelena1957
 
Cap04 trovadorismo
Cap04 trovadorismoCap04 trovadorismo
Cap04 trovadorismowhybells
 
Egídio guanzati e anselmo valli
Egídio guanzati e anselmo valliEgídio guanzati e anselmo valli
Egídio guanzati e anselmo valliJefersonefo
 
Foto.2 (1)trabalho escrito copy pdf
Foto.2 (1)trabalho escrito copy pdfFoto.2 (1)trabalho escrito copy pdf
Foto.2 (1)trabalho escrito copy pdfluci_mar
 
Paafericaomat2ciclo2003
Paafericaomat2ciclo2003Paafericaomat2ciclo2003
Paafericaomat2ciclo2003bibaevst
 
MundodasTribos:Últimas notícias
MundodasTribos:Últimas notíciasMundodasTribos:Últimas notícias
MundodasTribos:Últimas notíciasRaildaSilva2
 
Fotos do Projeto: SAÚDE E BEM ESTAR NO SEU DIA-A-DIA
Fotos do Projeto: SAÚDE E BEM ESTAR NO SEU DIA-A-DIAFotos do Projeto: SAÚDE E BEM ESTAR NO SEU DIA-A-DIA
Fotos do Projeto: SAÚDE E BEM ESTAR NO SEU DIA-A-DIAAntonio José Paniago
 
Sete princípios de suportai bill
Sete  princípios de suportai billSete  princípios de suportai bill
Sete princípios de suportai billiceanapolis
 
Era cenozoica
Era cenozoicaEra cenozoica
Era cenozoicamoises924
 
Cambios tecnológicos
Cambios tecnológicosCambios tecnológicos
Cambios tecnológicosAndHdez
 

En vedette (20)

Métodos contraceptivos. hiv e ds ts
Métodos contraceptivos. hiv e ds tsMétodos contraceptivos. hiv e ds ts
Métodos contraceptivos. hiv e ds ts
 
20 Alimentos Anti-Envelhecimento
20 Alimentos Anti-Envelhecimento20 Alimentos Anti-Envelhecimento
20 Alimentos Anti-Envelhecimento
 
Relatório reflexão crítica final
Relatório reflexão crítica  finalRelatório reflexão crítica  final
Relatório reflexão crítica final
 
Gospelcards
GospelcardsGospelcards
Gospelcards
 
Cap04 trovadorismo
Cap04 trovadorismoCap04 trovadorismo
Cap04 trovadorismo
 
Egídio guanzati e anselmo valli
Egídio guanzati e anselmo valliEgídio guanzati e anselmo valli
Egídio guanzati e anselmo valli
 
Foto.2 (1)trabalho escrito copy pdf
Foto.2 (1)trabalho escrito copy pdfFoto.2 (1)trabalho escrito copy pdf
Foto.2 (1)trabalho escrito copy pdf
 
500 anos do brasil o reino_do_caf
500 anos do brasil o reino_do_caf500 anos do brasil o reino_do_caf
500 anos do brasil o reino_do_caf
 
O governo de José Sarney
O governo de José SarneyO governo de José Sarney
O governo de José Sarney
 
Webquest power point
Webquest power pointWebquest power point
Webquest power point
 
Practica en clases
Practica en clasesPractica en clases
Practica en clases
 
Paafericaomat2ciclo2003
Paafericaomat2ciclo2003Paafericaomat2ciclo2003
Paafericaomat2ciclo2003
 
MundodasTribos:Últimas notícias
MundodasTribos:Últimas notíciasMundodasTribos:Últimas notícias
MundodasTribos:Últimas notícias
 
RESUME PARVINDER YADAV
RESUME PARVINDER YADAVRESUME PARVINDER YADAV
RESUME PARVINDER YADAV
 
Fotos do Projeto: SAÚDE E BEM ESTAR NO SEU DIA-A-DIA
Fotos do Projeto: SAÚDE E BEM ESTAR NO SEU DIA-A-DIAFotos do Projeto: SAÚDE E BEM ESTAR NO SEU DIA-A-DIA
Fotos do Projeto: SAÚDE E BEM ESTAR NO SEU DIA-A-DIA
 
Sete princípios de suportai bill
Sete  princípios de suportai billSete  princípios de suportai bill
Sete princípios de suportai bill
 
Ficha de inscricao rally 2013
Ficha de inscricao rally 2013Ficha de inscricao rally 2013
Ficha de inscricao rally 2013
 
Era cenozoica
Era cenozoicaEra cenozoica
Era cenozoica
 
Cambios tecnológicos
Cambios tecnológicosCambios tecnológicos
Cambios tecnológicos
 
CV. RIKESH
CV. RIKESHCV. RIKESH
CV. RIKESH
 

Similaire à Introduccion a la POO

Similaire à Introduccion a la POO (20)

Introduccion a la poo
Introduccion a la pooIntroduccion a la poo
Introduccion a la poo
 
Tarea 1. traduccion
Tarea 1. traduccionTarea 1. traduccion
Tarea 1. traduccion
 
Poovb
PoovbPoovb
Poovb
 
Poo
PooPoo
Poo
 
Programacion visual
Programacion visualProgramacion visual
Programacion visual
 
Tarea 3
Tarea 3Tarea 3
Tarea 3
 
Introducción poo
Introducción pooIntroducción poo
Introducción poo
 
Tecnología Orientada A Objetos
Tecnología Orientada A ObjetosTecnología Orientada A Objetos
Tecnología Orientada A Objetos
 
Tema nº 1
Tema nº 1Tema nº 1
Tema nº 1
 
Tema nº 1
Tema nº 1Tema nº 1
Tema nº 1
 
Diseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosDiseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetos
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Fundamentos del Enfoque OO
Fundamentos del Enfoque OOFundamentos del Enfoque OO
Fundamentos del Enfoque OO
 
Programacion Orientada a Objetos IE
Programacion Orientada a Objetos IEProgramacion Orientada a Objetos IE
Programacion Orientada a Objetos IE
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
conceptos de la poo
conceptos de la pooconceptos de la poo
conceptos de la poo
 
Compu 1
Compu 1Compu 1
Compu 1
 
Programacion estructurada en objetos
Programacion estructurada en objetosProgramacion estructurada en objetos
Programacion estructurada en objetos
 
Paradigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a ObjetosParadigma de Programación Orientada a Objetos
Paradigma de Programación Orientada a Objetos
 

Dernier

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 

Dernier (15)

Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 

Introduccion a la POO

  • 1. PROGRAMACION VISUAL TRABAJO DE UNIDAD 1 PROGRAMACION ORIENTADA A OBJETOS Minatitlán Ver. 13 de marzo del 2014 PROFESOR: Ing. Guillermina Jiménez Rasgado ENCARGADO DEL GRUPO: Miguel Ángel Tenorio Pérez ALUMNO: Libertad Esmirna Olivares Salazar Ing. Electrónica 4to Semestre Grupo 2 M No. De Control: 12230767
  • 2. TAREA 1: leer la información proporcionada en los archivos anexos, traducir entre todos un artículo de dos hojas q envío en inglés, subrayar los términos nuevos detectados de la POO. ¿Por qué necesitamos para programar? La tecnología es parte de nuestra vida. El mundo está cambiando todos los días y todo lo que se está automatizado. Aprender a programar es la forma creativa que podemos llevar nuestras ideas a un nivel superior y expresar soluciones a la sociedad. Mediante el diseño de programas, nos enteramos de varias habilidades como la lectura crítica, el pensamiento analítico y crear síntesis. El programador define el problema, planea una solución, los códigos del programa , pruebe la propuesta y documenta las características. Pero no podemos programar todas las soluciones con el mismo método, por eso aparece paradigmas de programación. Panorámica de Paradigmas de Programación Según Vasappanavara, un “paradigma de programación es la manera en que se explotan los elementos de programación, tales como funciones, objetos y variables para producir la salida deseada". Es importante entender que paradigmas de programación no son lenguajes de programación. ¿Qué es la programación orientada a objetos (POO) ? El objeto - orientado es un paradigma de programación donde se tejen la lógica y los datos del programa. Como afirmó Phil Ballard, es una forma de conceptualizar los datos de un programa en "cosas" separadas conocidas como objetos, cada uno con sus propias propiedades y métodos. Veamos un ejemplo. Suponga que su amigo es un gerente de banco y él quiere que usted ayude a la mejora de su sistema. El primer objeto que puede diseñar es la Cuenta de propósito general. El objeto de Cuenta tiene propiedades y métodos. Para cada cliente el banco de tu amigo tiene, usted tendría que crear un objeto de cuenta. Características Como se desprende de las características más importantes de la programación orientada a objetos: La encapsulación. Capacidad de ocultar los datos y las instrucciones en el interior de un objeto. Herencia. Capacidad de crear un objeto de otro. El polimorfismo. El diseño de las nuevas clases se basa en una sola clase. Paso de mensajes. Es la forma más objetos se comunican entre sí. GarbageCollection. Gestión de memoria automática, que destruye los objetos que ya no están en uso por el programa. Beneficios: Como sigue algunos de los beneficios de la utilización de la programación orientada a objetos: Reutilización. Usted puede escribir un programa usando un código desarrollado anterior. Código Compartido. Usted es capaz de estandarizar la forma en que tu estás programando con sus colegas. Modelado rápido. Puede crear prototipos de las clases y su interacción a través de un diagrama. Inconvenientes De la siguiente manera las desventajas del uso de la programación orientada a objetos: Tamaño. Son más grandes que otros programas, consumiendo más memoria y espacio en disco. Esfuerzo. Requiere mucho trabajo para crear, incluyendo la creación de diagramas en la fase de planificación y la codificación en la fase de ejecución.
  • 3. Conceptos Básicos Clase: Plantilla básica que especifica las propiedades y el comportamiento de algo (la vida real o abstracta). Objeto: Particular instancia de una clase que responda en consecuencia a los acontecimientos. Atributo: Las características de la clase. A menudo llamado variables de instancia. Método: Algoritmo asociado a una clase que representa una cosa que hace el objeto. Subclase: Clase sobre la base de otra clase. Herencia: Proceso mediante el cual la subclase obtiene los atributos y los métodos de su clase padre. Interfaz: Plantilla específica que hace cumplir ciertos atributos y métodos de una clase. Paquete: Espacio de nombres que organiza un conjunto de clases e interfaces relacionadas. Evento: Alertar a la aplicación cuando hay un cambio de estado del objeto.
  • 4. CONCEPTOS MÁS IMPORTANTES POO: 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. El término de Programación Orientada a Objetos indica más una forma de diseño y una metodología de desarrollo de 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, ObjetoOrientadDesignó), a cualquier tipo de lenguaje de programación. CLASE: Es el molde de un objeto, plantilla, cada objeto se define dentro de una clase y se crean a partir de ésta. Posiblemente se ampliará y utilizará este término mucho más adelante. Por ahora solo lo menciono, se lo podría tomar para simplificar como que es casi lo mismo que un objeto. OBJETOS: Un Botón, un Cuadro de texto, son ejemplos de objetos, son una combinación de códigos y datos que son tratados como un único elemento. Luego, una aplicación completa puede ser un objeto. El trabajar con objetos posee la ventaja de que no hace falta escribir el código del objeto. No hace falta escribir el código de un botón, directamente se lo inserta, se le asigna un método, como ser clic en el ejemplo anterior. Si se necesita se le modifica alguna de sus propiedades y se agrega código. PARADIGMA: Un paradigma de programación provee (y determina) la visión y métodos de un programador en la construcción de un programa o subprograma. Diferentes paradigmas resultan en diferentes estilos de programación y en diferentes formas de pensar la solución de problemas (con la solución de múltiples “problemas” se construye una aplicación). HERENCIA: El mecanismo más utilizado para alcanzar algunos de los objetivos más preciados en el desarrollo de software como lo son la reutilización y la extensibilidad. A través de ella los diseñadores pueden crear nuevas clases partiendo de una clase o de una jerarquía de clases preexistente (ya comprobadas y verificadas) evitando con ello el rediseño, la modificación y verificación de la parte ya implementada. La herencia facilita la creación de objetos a partir de otros ya existentes e implica que una subclase obtiene todo el comportamiento (métodos) y eventualmente los atributos (variables) de su superclase. ATRIBUTO: Los atributos son las características 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. POLIMORFISMO: se refiere a la propiedad por la que es posible enviar mensajes sintácticamente iguales a objetos de tipos distintos. El único requisito que deben cumplir los objetos que se utilizan de manera polimórfica es saber responder al mensaje que se les envía. La apariencia del código puede ser muy diferente dependiendo del lenguaje que se utilice, más allá de las obvias diferencias sintácticas. METODO: Un método es un trozo de código que puede ser llamado o invocado por el programa principal o por otro método para realizar alguna tarea específica. El término método en Java es equivalente al de subprograma, rutina, subrutina, procedimiento o función en otros lenguajes de programación. El método es llamado por su nombre o identificador seguido por una secuencia de parámetros o argumentos (datos utilizados por el propio método para sus cálculos) entre paréntesis. Cuando el método finaliza sus operaciones, devuelve habitualmente un valor simple al programa que lo llama, que utiliza dicho valor de la forma que le convenga.
  • 5. CONSTRUCTOR: El constructor se llama de forma automática cuando se crea un objeto, para situarlo en memoria e inicializar los miembros dato declarado en la clase. El constructor tiene el mismo nombre que la clase. Lo específico del constructor es que no tiene tipo de retorno. El constructor recibe cuatro números que guardan los parámetros x1, y1, w y h, y con ellos inicializa los miembros dato x, y, ancho y alto. Una clase puede tener más de un constructor. ABSTRACCION: La abstracción consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompañan. En programación, el término se refiere al énfasis en el "¿qué hace?" más que en el "¿cómo lo hace?" (Característica de caja negra). El común denominador en la evolución de los lenguajes de programación, desde los clásicos o imperativos hasta los orientados a objetos, ha sido el nivel de abstracción del que cada uno de ellos hace uso. Los lenguajes de programación son las herramientas mediante las cuales los diseñadores de lenguajes pueden implementar los modelos abstractos. La abstracción ofrecida por los lenguajes de programación se puede dividir en dos categorías: abstracción de datos (pertenecientes a los datos) y abstracción de control (perteneciente a las estructuras de control). ENCAPSULACION: Se refiere a la capacidad de agrupar y condensar en un entorno con límites bien- definidos distintos elementos. Cuando hablemos de encapsulación en general siempre nos referiremos, pues, a encapsulación abstracta. De manera informal, primero generalizamos (la abstracción) y luego decimos: la generalización está bien, pero dentro de un cierto orden: hay que poner límites (la encapsulación), y dentro de esos límites vamos a meter, a saco, todo lo relacionado con lo abstraído: no sólo datos, sino también métodos, comportamientos, etc. UML: es un lenguaje visual para especificar, construir y documentar sistemas” (OMG - Objeto Management Grupo) Iniciad (UNIFICADO): El aporte de muchos métodos y notaciones Independiente de implementaciones, plataformas y lenguajes Modeling (MODELADO): Los modelos son utilizados en todas las ingenierías Language (LENGUAJE): Si hay gente, requieren comunicarse. Si se tienen que comunicar, se tienen que entender. Para entenderse necesitan un lenguaje común
  • 6. TAREA 2: Comentar videos en clase TAREA 3: realizar diapositivas o un prezi de los conceptos más importantes de la POO, que aparecen en los documentos y videos proporcionados (POO, clase, objeto, paradigma, herencia, atributo, polimorfismo, método, constructor, abstracción, encapsulación, UML, miembro) TAREA 4: Escribir un concepto diferente relacionado a la POO, una imagen, un ejemplo y deberá anotar su nombre completo 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.
  • 7. TAREA 5: Realizar una investigación de los Lenguajes de programación orientados a objetos,como se llaman, quien los invento. Escribir el ejemplo de hola mundo para cada lenguaje encontrado. *Hacer una línea del tiempo por equipos de 3 pueden hacerlo en Dipity u otro programa red y agregar enlace en el blog 30%* CARACTERÍSTICAS DE LOS LENGUAJES OOP Herencia múltiple Esta característica suele ser común a la mayoría de los lenguajes OOP, aunque introduce un problema al existir la posibilidad de que el objeto sucesor herede el mismo atributo, aunque con distinto tipo y valor, de más de un predecesor. Alguno de los lenguajes de programación soluciona este problema de forma automática, aunque los más populares generan un error en el tiempo de compilación. Recomendamos que se examinen con cuidado las clases para evitar en lo posible estos errores. Eficiencia. Los lenguajes OOP arrastraron en un principio la reputación de ser ineficaces. Esto se debía en gran medida a que los primeros lenguajes (como Smalltalk) eran interpretados y no compilados. La existencia de compiladores permite a los desarrolladores ganar rapidez. Actualmente, usando un buen lenguaje orientado a objetos como C++, Java, etc. Junto con las librerías apropiadas para la realización de un programa, puede que se ejecute más rápidamente que el mismo programa compilado con un lenguaje procedural. Asignación de tipos. Los lenguajes orientados a objetos varían de forma sustancial la forma por la que se aproximan a la asignación de tipos. Por asignación de tipos entendemos que cada variable sea identificada como perteneciente a una clase (asignación fuerte) o sea simplemente un objeto indeterminado (asignación débil). Eiffel y C son dos lenguajes basados en la asignación fuerte, frente a Smalltalk, en el que todas las variables definidas pertenecen a una clase indeterminada. La asignación fuerte sirve a dos propósitos. Por una parte para que el desarrollador pueda identificar a que clase pertenece cada operación. De forma concreta, en aquellos lenguajes donde está implementado el operator overloading (redefinición de operador), el compilador puede reconocer a través de las clases que entran como parámetros en la operación que operación tiene que utilizar. Por otra, este tipo de declaración permite al compilador un mayor grado de optimización, ya que conoce en todo momento el espacio que ha de asignar. Manejo de memoria. Los OOP son lenguajes que utilizan de manera intensiva la memoria de la computadora.Hay dos tipos de aproximación a la gestión de memoria.El sistema en tiempo de ejecución libera la memoria automáticamente a medida que los objetos dejan de utilizarse. El sistema tiene instrucciones concretas para liberar l memoria explícitamente. Este el enfoque adoptado por lenguajes como C++, que aportan dos operadores: crear y destruir. El primero reserva automáticamente memoria, mientras que el segundo la libera. Encapsulación Consiste en separar aquellos atributos del objeto que deben ser conocidos por el resto, de aquel necesario para su funcionamiento propio. No es propio de los lenguajes orientados a objetos, pero la capacidad de éstos
  • 8. para unir las estructuras de datos a los procedimientos que los modifican lo hace más potente que los lenguajes llamados <<Modulares>> HISTORIA DEL LNEGUAJE DE PROGRAMACION 15th May, 1953 LENGUAJE FORTRAN A finales de 1953, John W. Backus sometió una propuesta a sus superiores en IBM para desarrollar una alternativa más práctica al lenguaje ensamblador para programar el computador central IBM 704. El histórico equipo FORTRAN de Backus consistió en los programadores Richard Goldberg, Sheldon F. Best, HarlanHerrick, Peter Sheridan, Roy Nutt, Robert Nelson, Irving Ziller, LoisHaibt y David Sayre. 1st Feb, 1959 LENGUAJE LISP es una familia de lenguajes de programación de computadora de tipo multiparadigma con una larga historia y una sintaxis completamente entre paréntesis. Especificado originalmente en 1958 por John McCarthy y sus colaboradores en el Instituto Tecnológico de Massachusetts, el Lisp es el segundo más viejo lenguaje de programación de alto nivel de extenso uso hoy en día; solamente el FORTRAN es más viejo. Al igual que el FORTRAN, el Lisp ha cambiado mucho desde sus comienzos, y han existido un número 2nd May, 1960 LENGUAJE ALGOL lenguaje de programación. La voz es un acrónimo de las palabras inglesas AlgorithmicLanguage (lenguaje algorítmico). Fue muy popular en las universidades durante los años 60, pero no llegó a cuajar como lenguaje de utilización comercial. Sin embargo, Algol influyó profundamente en varios lenguajes posteriores que sí alcanzaron gran difusión, como Pascal, C y Ada. Hacia 1965 dos corrientes se distinguieron sobre el tema de un sucesor para Algol. Como resultado se definieron los lenguajes A 15th May, 1963 LENGUAJE APL es un interactivo matriz lenguaje orientado y entorno de desarrollo integrado , que está disponible en un número de proveedores comerciales y no comerciales y para la mayoría de las plataformas informáticas. Se trata de basado en una notación matemática desarrollada por Kenneth E. Iverson y sus asociados que cuenta con atributos especiales para el diseño y las especificaciones de los sistemas informáticos digitales, tanto de hardware y de software . 17th Jul, 1965 LENGUAJE BASIC fue diseñado en 1964 por John George Kemeny y Thomas Eugene Kurtz en el DartmouthCollege en New Hampshire, Estados Unidos, como un medio para facilitar programar computadores a estudiantes (y profesores) que no fueran de ciencias. En ese tiempo, casi todo el uso de los computadores requería codificar software hecho a la medida, lo cual era algo bastante restringido a personas con formación como
  • 9. científicos y matemáticos. BASIC originalmente fue desarrollado como una herramienta de enseñanza. 15th May, 1969 LENGUAJE PASCAL Pascal es un lenguaje de programación desarrollado por el profesor suizo NiklausWirth entre los años 1968 y 1969 y publicado en 1970. Su objetivo era crear un lenguaje que facilitara el aprendizaje de programación a sus alumnos, utilizando la programación estructurada y estructuración de datos. Sin embargo con el tiempo su utilización excedió el ámbito académico para convertirse en una herramienta para la creación de aplicaciones de todo tipo. 2nd Jan, 1972 LENGUAJE PROLOG es un lenguaje de programación lógico e interpretado, bastante conocido en el medio de investigación en Inteligencia Artificial. Nació de un proyecto que no tenía como objetivo la implementación de un lenguaje de programación, sino el procesamiento de lenguajes naturales. Alain Colmerauer y Robert Pasero trabajaban en la parte del procesado del lenguaje natural y Jean Trudel y PhilippeRoussel en la parte de deducción e inferencia del sistema. Interesado por el método de resolución SL. 15th May, 1972 LENGUAJE C C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje B, a su vez basado en BCPL. Al igual que B, es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones. 8th Nov, 1979 LENGUAJE MODULA-2 es un lenguaje de programación cuyo autor es NiklausWirth, autor también del lenguaje Pascal. Como novedad respecto a este último lenguaje, introduce el concepto de módulo, y de encapsulación. Del código contenido en un módulo, sólo se facilita una interfaz pública denominada módulo de definición, permaneciendo el resto oculto (encapsulado) para un desarrollador ajeno, lo que facilita el mantenimiento de dichas estructuras de programación a la vez que imposibilita la modificación de las mismas 4th Jul, 1980 lenguaje c++ C++ es un lenguaje de programación diseñado a mediados de los años 1980 por BjarneStroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido. Posteriormente se añadieron facilidades de programación genérica, que se sumó a los otros dos paradigmas que ya estaban admitidos (programación estructurada
  • 10. 10th Jul, 1985 LENGUAJE CLIPPER Clipper es un lenguaje de programación procedural e imperativo creado en 1985 por NantucketCorporation y vendido posteriormente a ComputerAssociates, la que lo comercializó como CA-Clipper. En un principio Clipper se creó como un compilador para el sistema gestor intérprete de bases de datos dBase III (de hecho las versiones estacionales de Nantucket incluían una etiqueta que lo indicaba así), pero con el tiempo el producto evolucionó y maduró, convirtiéndose en un lenguaje compilado. 15th May, 1990 LENGUAJE JAVA Java es un lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a principios de los años 90. El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria. La memoria es gestionada mediante un recolector de basura. 2nd Nov, 1993 LENGUAJE VISUAL C++ Visual C++ (también conocido como MSVC, Microsoft Visual C++) es un entorno de desarrollo integrado (IDE) para lenguajes de programación C, C++ y C++/CLI. Esta especialmente diseñado para el desarrollo y depuración de código escrito para las API's de Microsoft Windows, DirectX y la tecnología Microsoft .NET Framework. Visual C++ hace uso extensivo del framework Microsoft FoundationClasses (o simplemente MFC), el cual es un conjunto de clases C++ para el desarrollo de aplicaciones en Windows. 7th Sep, 1995 LENGUAJE DELPHI es un entorno de programación visual basado en una versión moderna del lenguaje de programación Pascal. Como entorno visual, la programación en Delphi consiste en diseñar las pantallas de que se compone el programa colocando todos sus componentes (botones, campos de texto, etc.), asociando después código a ellos. El lenguaje utilizado por Delphi es una extensión de Pascal denominada Object Pascal, que básicamente añade al Pascal tradicional soporte para la programación orientada a objetos. “HOLA MUNDO” EN DISTINTOS LENGUAJES En Fortran PROGRAM HOLA PRINT *, '¡Hola, mundo!' END En LISP (format t "¡Hola, mundo!") "¡Hola, mundo!"
  • 11. En ALGOL BEGIN FILE F (KIND=REMOTE); EBCDIC ARRAY E [0:12]; REPLACE E BY "HOLA MUNDO!"; WHILE TRUE DO BEGIN WRITE(F,*, E); END; END. En Basic print"Hola Mundo"; En Pascal ProgramHolaMundo; Begin Write('¡Hola, Mundo!'); ReadLn; End. En Prolog write('Hola mundo'). EN C #include<stdio.h> intmain() { printf("¡Hola, mundo!n"); return0; } En Modula-2 MODULE Hola; FROMInOutIMPORTWriteString; BEGIN WriteString("Hola Mundo"); END Hola. EN C++ #include<iostream> intmain() { std::cout<<"Hola mundon";return0; }
  • 12. En Clipper ? "Hola Mundo!" JAVA publicclassHolaMundo { publicstaticvoidmain(String[]args) { System.out.println("Hola Mundo"); } } En Delphi programPHolaMundo; uses Dialogs; begin MessageDlg('Hola Mundo',mtInformation,[mbOK],0); end.