Vous êtes sur la page 1sur 26

INSTITUTO TECNOLOGICO DE MINATITLAN

ALUMNOS:
-Alvarado Mndez Pedro Eusebio
-Contreras Cruz Christoper
Carrera: Ing. Electrnica
Materia: Programacin Visual
Profesora: Ing. Guillermina Jimnez Rasgado
Tema: Principios de la Programacin Orientada a
Objetos

OBJETIVO

Describir la importancia y los beneficios


del desarrollo de software Orientado a
Objetos
Listar los inconvenientes del desarrollo
de Software Orientado a Objetos
Listar y describir los principios
fundamentales de la Orientacin a
Objetos

INTRODUCCIN

Los problemas suelen tener varias soluciones


posibles.
En programacin existen diversas
metodologas que nos ayudan a enfrentar un
problema.
Cada metodologa tiene diversos lenguajes
que las soportan.
Algunos lenguajes soportan varias
metodologas.

PROGRAMACIN ORIENTADA A OBJETOS (POO)

Es un paradigma de
programacinque usa objetosy
sus interacciones para disear
aplicaciones y programas de
computadora.
Est basado en varias tcnicas,
incluyendo herencia,
modularidad, polimorfismo, y
encapsulamiento
Trata de utilizar una visin real
del mundo dentro de nuestros
programas.

POR QU NECESITAMOS HACER UN PROGRAMAR?

Aprender un programa es un camino creativo nosotros


podemos tomar algunas ideas del siguiente nivel y
expresar soluciones a la sociedad.
Facilita la creacin de software de calidad: potencia
en mantenimiento, la extensin y la reutilizacin.
A travs del proceso de programar, nosotros
aprendemos varias habilidades como lectura de
crtica, anlisis de pensamiento y creacin de sntesis.
Pero nosotros no podemos programar todas las
soluciones con el mismo mtodo eso es porque
aparece la paradigma de la programacin

VENTAJAS DE LA POO

Facilita la reutilizacin del software a travs de la


herencia, la encapsulacin y el polimorfismo que
son las herramientas ms potentes del paradigma
de la POO.

Facilita la construccin de programas portables.

Facilita el mantenimiento.

Provoca que las tareas de anlisis, diseo e


implementacin sean ms intuitivas, ya que se
manejan objetos.

CONCEPTOS
BASICOS

CLASE

Unaclasees una construccin que se utiliza como un


modelo (o plantilla) para crear objetosde ese tipo.
El modelo describe el estado y contiene el
comportamiento que todos los objetos creados a
partir de esa clase tendrn. Un objeto creado a partir
de una determinada clase se denomina una
instanciade esa clase.

Clase
Atributos
Operaciones

OBJETO
Un objeto es algo de lo que hablamos y que
podemos manipular.

Existen en el mundo real (o en nuestro entendimiento del


mismo)
Un objeto puede ser creado instanciandouna clase, como
ocurre en la programacin orientada a objetos, o mediante
escritura directa de cdigo y la replicacin otros objetos,
como ocurre en la programacin basada en prototipos.

Objeto:Clase
Atributo1=valor
Atributo2=valor
...

ABSTRACCIN

Expresa las caractersticas esenciales de un objeto, las


cuales distinguen a los objetos de los dems.

Nos permite trabajar con la complejidad del mundo real

Separaremos el comportamiento de la implementacin


Es ms importante saber qu se hace en lugar de
cmo se hace:

-Un sensor de temperatura


Sabemos que...
mide la temperatura
nos muestra su valor
se puede calibrar...
No sabemos... (no nos importa)
cmo mide la temperatura
de qu est hecho.

COHESIN

Es una medida de la especializacin con la que cuenta un


objeto dentro de un sistema, entre mas alta sea esta, es
mejor.
La cohesin tiene que ver con la forma en la que
agrupamos unidades de software en una unidad mayor. Por
ejemplo, la forma en la que agrupamos funciones en una
librera, o la forma en la que agrupamos mtodos en una
clase, o la forma en la que agrupamos clases en una
librera, etc...
Se suele decir que cuanto ms cohesionados estn los
elementos agrupados, mejor.

OCULTAMIENTO DE
INFORMACIN
(ENCAPSULAMIENTO)

Son los datos miembro de un objeto de manera que slo se pueda


cambiar mediante las operaciones definidas para ese objeto.
Ninguna parte de un sistema complejo debe depender de los detalles
internos de otra.
Complementa a la abstraccin
Se consigue:
Separando la interfaz de su implementacin
Ocultando la informacin interna de un objeto
Escondiendo la estructura e implementacin de los mtodos
(algoritmos).
Exponiendo solo la forma de interactuar con el objeto

EJEMPLO:
Objeto
Objeto 1
1

Objeto
Objeto 2
2

Objeto
Objeto 3
3

Objeto2.sumar
Objeto2.sumar
(a,b)
(a,b)
Objeto3.sumar
Objeto3.sumar
(a,b,c)
(a,b,c)

function
function Sumar
Sumar
(a,b)
(a,b)
Sumar
Sumar =
=a
a+
+b
b
End
End Function
Function

function
function Sumar
Sumar
(a,b,c)
(a,b,c)
Sumar
Sumar =
=a
a+
+b
b
+
c
+c
End
End Function
Function

El
El objeto
objeto 1
1 invoca
invoca a
a2
2 mtodos
mtodos que
que
llevan
el
mismo
nombre
pero
llevan el mismo nombre pero
funcionan
funcionan diferente
diferente en
en cada
cada objeto.
objeto.

(( ))
r
e
r
r
C
orrre
Co

(( ))
r
r
e
rrrre
o
o
C
C

objeto
objeto

HERENCIA

Es una propiedad que permite que los objetos


sean creados a partir de otros ya existentes,
obteniendo caractersticas (mtodos y atributos)
similares a los ya existentes.
Relacin caracterstica de la OOP!
Evita definir repetidas veces
las caractersticas comunes a
varias clases
Una de las clases comparte la estructura y/o el
comportamiento de otra(s) clase(s).
Tambin se denomina relacin es un/a (is a)

HERENCIA (VOCABULARIO)
Clase base o superclase: clase de la cual se hereda
Clase derivada o subclase: clase que hereda
Herencia simple: Hereda de una sola clase
Herencia mltiple: Hereda de varias clases

Java solo la soporta parcialmente


Presenta diversos problemas (qu hacer cuando se hereda ms
de una vez de la misma clase?)

Clase abstracta: La que no lleva, ni puede llevar,


ningn objeto asociado
Polimorfismo: Posibilidad de usar indistintamente todos
los objetos de un clase y derivadas.

CLASES
ABSTRACTAS

Son clases especiales que no se pueden instanciar, es


decir que no se puede volver en objetos, pero puede
heredar y las clases hijas sern las encargadas de
agregar la funcionalidad a cada uno de los mtodos
abstractos, ya sean mtodos que no tienen cuerpo ni
siquiera vaco, en su lugar deber tener comillas ,.
Solo las clases abstractas y las interfaces pueden
tener mtodos abstractos, si los tienen eso quiere
decir que debe tener el modificador abstract1.

EJEMPLO

Como ejemplo tomaremos dos figuras


geomtricas, el Rectngulo y el Triangulo
rectngulo, para el ejemplo slo
consideraremos dos caractersticas
similares: el ancho y el alto, por lo que
podemos crear una sper clase Figura
geomtrica con estas dos caractersticas
y sus mtodos correspondientes,
adems del mtodos getArea() que
devolver el rea de la Figura. Pero, se
presenta un problema, el clculo del
rea del Rectngulo es diferente al
clculo del rea del Triangulo. rea del
Rectngulo = ancho X alto rea del
Triangulo = (ancho X alto)/2 Por lo tanto,
el mtodo getArea() deber ser
abstracto, por lo cual, la clase Figura
tambin deber ser abstracta.

INTERFACES

Es un conjunto de mtodos
que indican que una clase
tiene un comportamiento
particular adems del que
hereda de sus superclases.
Se definen un conjunto de
mtodos sin especificar su
implementacin. Cuando una
clase implementa una interfaz
debe especificar todos los
mtodos contenidos en ella.
Para definir una clase que
implementa una interfaz hay
que usar la palabra
claveclass*

POLIMORFISMO

Es la capacidad de tener mtodos


con el mismo nombre, con
comportamientos diferentes,
conocido como la sobre-escritura
de mtodos y la sobrecarga de
operadores.
En ella expresa la posibilidad de
que el mismo mensaje, enviado a
objetos distintos, ejecute
mtodos distintos.
Esto significa que podemos
definir dentro de dos clases
distintas dos operaciones con el
mismo nombre y aspecto
externo, pero con distintas
implementaciones para cada
clase.

ACOPLAMIENTO:

Es la medida con la que un objeto


depende de otro para funcionar, entre
menor sea esta, es mejor. La
informacin fluye a travs de
mensajes.
Ejemplo:

ASOCIACIONES DE
OBJETOS:

El momento en que dos objetos se unen para


trabajar juntos y as, alcanzar una meta.
Un punto a tomar muy en cuenta es que ambos
objetos son independientes entre s, veremos un
poco ms adelante qu implicacin tiene esto.
Para validar la asociacin, la fraseUsa un .

UML (UNIFIED MODELING LANGUAGE)

UML es un lenguaje de modelado para especificar el


anlisis y diseo de sistemas orientados a objetos.

Permite diagramas los requerimientos funcionales


del sistemas : Diagrama de Casos de Uso.

Permite abstraer mediante diagramas especficos las


diferentes clases y objetos con sus respectivos
atributos y mtodos logrando especificar claramente
las correspondientes relaciones o envi de mensajes
entre objetos. Diagramas de Clases, Objetos y
de Secuencia.

EJEMPLO:
Sistema de Gestion de Proyectos
(SGP)

Administrador
proyectos

Validar Acceso

Sistema de Gestion de Proyectos


(SGP)

Crear Proyecto
Administrador
proyectos
Asignar insumo

Asignar integrante

BIBLIOGRAFAS

http://www.cristalab.com/tutoriales/pr
ogramacion-orientada-a-objetos-asociac
ion-vs-composicion-c89337l
/
http://
es.wikipedia.org/wiki/Programaci%C3%
B3n_orientada_a_objetos
http://algonzalezpoo.wordpress.com/qu
e-es-poo
/

Vous aimerez peut-être aussi