Download - Producto1 amalia
En este documento observaremos lo que es programación
orientada a objetos su introducción ,su desarrollo, su bibliografía ,
ventajas, y lenguajes de programación relacionado con objetos
UNIVERSIDAD TECNICA DE AMABTO
FACULTAD DE CIENCIAS HUMANAS Y
DE LA EDUCACIÓN
DOCENCIA EN INFOMÁTICA
Nombre: Amalia Bonilla
Curso: Cuarto “A”
Fecha: 22/11/2014
Licenciado: Ing. Ándres Morales Fiallos
Programación orientada a objetos
INTRODUCCIÓN ORIENTADO A OBJETOS
a programación orientada a objetos es una de las formas más populares de
programar y viene teniendo gran acogida en el desarrollo de proyectos de
software desde los últimos años. Esta acogida se debe a sus grandes
capacidades y ventajas frente a las antiguas formas de programar.
Tradicionalmente, la programación fue hecha en una manera secuencial o lineal, es
decir una serie de pasos consecutivos con estructuras consecutivas y bifurcaciones.
Hoy en día la tecnología orientada a objetos ya no se aplica solamente a los lenguajes
de programación, además se viene aplicando en el análisis y diseño con mucho éxito, al
igual que en las bases de datos. Es que para hacer una buena programación orientada
a objetos hay que desarrollar todo el sistema aplicando esta tecnología, de ahí la
importancia del análisis y el diseño orientado a objetos.
La POO viene de la evolución de la programación estructurada; básicamente la POO
simplifica la programación con la nueva filosofía y nuevos conceptos que tiene. La
POO se basa en dividir el programa en pequeñas unidades lógicas de código a los que
denominamos se objetos. Es una manera especial de pensar, a veces subjetiva de quien
la programa, de manera que la forma de hacer las cosas puede ser diferente según el
programador. Aunque podamos hacer los programas de formas distintas, no todas ellas
son correctas, lo difícil no es programar orientado a objetos sino programar bien.
Programar bien es importante porque así nos podemos aprovechar de todas las
ventajas de la POO.
L
La programación orientada a objetos se fue convirtiendo en el estilo de programación
dominante a mediados de los años ochenta, en gran parte debido a la influencia de C++,
una extensión del lenguaje de programación C Su dominación fue consolidada gracias al
auge de las Interfaces gráficas de usuario, para las cuales la programación orientada a
objetos está particularmente bien adaptada. En este caso, se habla también
de programación dirigida por eventos.
Las características de orientación a objetos fueron agregadas a muchos lenguajes
existentes durante ese tiempo, incluyendo Ada, BASIC Lisp mas Pascal.
DESARROLLO ORIENTADO A OBJETOS
Es una nueva forma de pensar acerca del software basado sobre abstracciones que
existen en el mundo real.
Antes de empezar a programar con objetos, es necesario entender ciertos conceptos
básicos.
Terminología
El paradigma de Programación Orientada a Objetos utiliza algunos términos básicos que
se explicarán a continuación
Todos los objetos que pertenecen a una clase, contiene todos los elementos comunes a
todos los objeto y no particulariza en los elementos que distinguen a los objetos entre
sí; una clase se define con la instrucción class seguida de un nombre genérico para el
objeto.
Ejemplo,
class Objeto:
pass
class Antena:
pass
class Pelo:
pass
Es una entidad que tiene atributos o propiedades y que presenta un comportamiento.
Puede ser un objeto del mundo real, o una abstracción al mundo informático,como
puede ser un automóvil, una persona, un animal, se la denomina instanciar una clase y
dicha instancia, consiste en asignar la clase, como valor a una variable:
Ejemplo
class Objeto():
color = "verde"
tamanio = "grande"
aspecto = "feo"
antenas = Antena()
ojos = Ojo()
pelos = Pelo()
def flotar(self):
print 12
et = Objeto()
print et.color
print et.tamanio
print et.aspecto
et.color = "rosa"
print et.color
Es una característica asociada a una clase. Ejemplo, todos los autos tienen un color, o
un registro aunque esta propiedad varíe entre objetos, se representan a modo de
variables, Las propiedades se definen de la misma forma que las variables (aplican las
mismas reglas de estilo).
Ejemplo
class Antena():
color = ""
longitud = ""
class Pelo():
color = ""
textura = ""
class Ojo():
forma = ""
color = ""
tamanio = ""
class Objeto():
color = ""
tamanio = ""
aspecto = ""
antenas = Antena() # propiedad compuesta por el objeto objet Antena
ojos = Ojo() # propiedad compuesta por el objeto objet Ojo
pelos = Pelo() # propiedad compuesta por el objeto objet Pelo
Es una características o funciones asociada a una clase. Ejemplo, todos los autos tienen
un color, o un registro aunque esta propiedad varíe entre objetos , y representan
acciones propias que puede realizar el objeto.
Ejemplo:
class Objeto():
color = "verde"
tamanio = "grande"
aspecto = "feo"
antenas = Antena()
ojos = Ojo()
pelos = Pelo()
def flotar(self):
pass
NOTA Notar que el primer parámetro de un método, siempre debe ser self.
MODELO DE LA PROGRAMACIÓN ORIENTADO A OBJETOS
Diferencia entre la programación convencional
Espacio del mundo real
Objetos reales y actividades
Objetos abstractos y operaciones en lenguaje de
programación
Objeto reales (cambio de estado)
Datos e información
ProblemaModelo
Programa
Algorítmo
Resultado
Usuario Representar mediante
abstracción
Programador
Algorítmo del mundo real
Resultado
Espacio del programa
Interpreta
Procedimiento
1
Procedimiento
3
Procedimiento
2
Dato 1
Dato 3
Dato 2
Dato 4
M1
M3
M4 M2DATO 1
M1
M3
M4 M2DATO 3
M1
M3
M4 M2DATO 2
INVOCA 3
INVOCA 4
INVOCA 1
Fig. 2 Sistema convencional
Fig.3 Sistema Orientado por objeto
CARACTERÍSTICAS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS
Encapsulamiento: Cuando conducimos un auto, no es necesario que nos
enteremos de como hace el motor para girar las ruedas del vehículo. Esos
pormenores quedan ocultos al usuario o encapsulados en la estructura del la
clase auto. Cada objeto presenta una interfaz al usuario de métodos y
propiedades con las cuales se interactúa con él. Así se protege el objeto y todos
los miembros de su clase, de alteraciones directas a sus métodos y propiedades.
Polimorfismo: Una vez que aprendemos a conducir un auto, podemos manejar
prácticamente cualquier auto. Esto se debe a que la interfaz que presentan los
objetos auto a los usuarios, es más o menos la misma para cada auto. Todos
tiene métodos para acelerar, y si bien, posiblemente los pormenores de como
acelera cada auto, sean sustancialmente diferentes; el usuario hace referencia a
un mismo método en todos los autos. En términos informáticos, objetos de
clases diferentes; incluso en la misma clase; pueden tener métodos homónimos,
que hagan cosas equivalentes aunque los detalles del como, sean diferentes.
Herencia: La clase auto es una clase muy general; se puede hacer un desglose
más pormenorizado, por ejemplo, si hacemos subclases de autos deportivos,
utilitarios, compactos, manuales, automáticos, de lujo, etc. Cada subclase toma
de su clase base (o superclase, en la jerga informática) las propiedades y
métodos más generales y agrega las propias. Así, como todos los autos, tienen
color y registro, así que éstas estarían contenidas en la superclase auto.
Propiedades como Capacidad en toneladas, sistema estéreo o cantidad de
velocidades, estarían delegadas a las subclases más particulares.
Encadenamiento Dinámico:
Una de las ventajas que promueve el estilo de programación orientada por objeto es la
característica del encadenamiento dinámico, también llamado encadenamiento tardío
VENTAJAS ORIENTADA A OBJETOS
Cuáles son las ventajas de un lenguaje orientado a objetos?
LENGUAJES ORIENTADOS A OBJETOS
Se le llama así a cualquier lenguaje de programación que implemente los conceptos
definidos por la programación orientada a objetos.
Ejemplos de lenguajes orientados a objeto
C++
Objective C
Java
Smalltalk
Eiffel
Lexico (en castellano)
Ruby
Python
OCAML
Object Pascal
CLIPS
Visual .net
Java
Actionscript
COBOL
Perl
C#
Visual Basic.NET
PHP
BIBLIOGRAFÍA
http://www.ciberaula.com/articulo/tecnologia_orientada_objetos/
http://www.luis.izqui.org/resources/ProgOrientadaObjetos.pdf
http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C%2B%2B/Desarrollo_Orient
ado_a_Objetos
http://www.monografias.com/trabajos73/tipos-lenguajes-programacion/tipos-
lenguajes-programacion2.shtml