Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Programación Orientada a Objetos (O.O)

No description

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Programación Orientada a Objetos (O.O)

ABSTRACCIÓN
Programación Orientada a Objetos (P
OO
)

Programación
Orientada a Objetos POO
Pilares de la Programación O.O.
Existe 4 técnicas en la programación orientada a objetos que permiten optimizar, reutilizar y proteger la codificación desarrollada por el ingeniero. Son las siguientes:
Pilares de la Programación O.O.
CLASES
Elementos
Juan Sebastián Gutiérrez Escobar
S4AN

Una Clase es una Plantilla mediante la cual se crean los diferentes objetos requeridos para la solución del problema, definiendo sus
atributos
y
procedimientos
. Los Objetos son instancias de las clases. Es decir, como una colección o conjunto de objetos que comparten características comunes entre si.
Es un para
digma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe una gran variedad de lenguajes de programación que soportan la orientación a objetos.
CLASES
Programación Orientada a Objetos (P
OO
)
Se define como una clase dependiente de una más grande, la cual hereda sus atributos y métodos. Pero esta adiciona otras características según las instancias de objetos contenidas en esta SubClase.
SubClases
Programación Orientada a Objetos (P
OO
)
* Ejemplo: Clases
Atributos
Métodos()
* Ejemplo: SubClases
Se puede decir que un objeto es todo aquello que puede ser identificable dentro de una especificación de requerimientos o problema y tenga características como las siguientes:

*
Posee comportamientos asociados (
Correr, Saltar, volar, etc.
)
*
Capaces de interactuar o comunicarse con otros objetos por medio de sus métodos
OBJETOS
Programación Orientada a Objetos (P
OO
)
* Ejemplo: Objetos
Créditos
ENCAPSULAMIENTO
HERENCIA
POLIMORFISMO
La abstracción se usa al modelar objetos de la vida real, o no, es un mecanismo en el cual al momento de modelar el objeto en si, tomas solo las características y comportamientos mas indispensables, por Ej.: todos sabemos usar un televisor y no sabemos como funciona por dentro, para usarlo te abstraes del comportamiento que no creas necesario.
ABSTRACCIÓN
Se define como la acción de poner dentro de un objeto sus atributos y métodos, mostrando luego una interfaz común para el uso posterior del mismo, con esto, ganas que los objetos puedan comunicarse entre ellos y que nadie se meta con la implementación del otro.
ENCAPSULAMIENTO
* Ejemplo: Abstracción
* Ejemplo: Encapsulamiento
Profundización
[Temas de la POO]

[Juan Sebastián Gutiérrez Escobar]

[Programacion II]
[Docente. Germán Morales]

[Tecnología en Sistemas de Información S4AN]
[FCECEP]
[Noviembre 02 de 2014]
Herencia, al igual que la vida real es el mecanismo con el cual una clase hereda (obtiene) de su ancestro atributos y métodos públicos y protegidos, y lo que se gana con esto es la reutilización de código, aunque su poder se produce al utilizar el polimorfismo.
HERENCIA
* Ejemplo: Herencia
Es la capacidad que tienen las referencias de "
referenciar
" a objetos de distintos tipos, pero herederos de un mismo padre, y poder realizar en tiempo de ejecución (ligamento tardío), la llamada al método correspondiente.
POLIMORFISMO
[1]
Estructuras
[2]
Tipos de Clases
[3]
Métodos externos e internos de las clases
[4]
Visibilidad de las Clases
[5]
ATRIBUTOS
Los atributos distinguen un objeto de los restantes (tamaño, posición, color, ...)
OPERACIONES
Un método es un procedimiento o función que altera el estado de un objeto o hace que el objeto envíe un mensaje, es decir, que devuelva valores.
Elementos de la Clase
Estos atributos permiten almacenar los datos particulares de un objeto. Se denominan de instancia por que se estructuran con el objeto cuando este se crea.
* De la Instancia:
* De la Clase:
Estos atributos permiten almacenar datos que van a ser compartidos por muchos objetos. Estos atributos, no se instancian con el objeto cuando este es creado.
Estos atributos representan valores constantes de los objetos.
* Constantes:
Estas operaciones se encargan de inicializar los atributos de un objeto cuando este se está creando:
Tiene el mismo nombre de la clase
No retornan valor (no se le especifican tipoDevuelto)
Se llaman automáticamente cuando el objeto se crea (llamado implícito)
* Constructoras:
* Analizadoras:
Estas operaciones se encargan de tomar el valor o dato que se encuentra en un atributo particular de un objeto y regresarlo (return).
Estas operaciones se encargan de asignar un valor a un atributo específico de un objeto.
* Modificadoras:
Estructura de la Clase
Los elementos básicos de una clase se estructuran de la siguiente forma (más abajo definiremos cada elemento):

1.
Paquete al que pertenece la clase (package – sólo en AS3, en AS2 se incluye en la Definición de la Clase).
2.
Definición de la Clase (class – En AS2, si la clase está incluida en un paquete, se usa la sintaxis paquete.clase).
3.
Variables Internas (Son de uso interno de la clase, por lo que se restringe su uso fuera de ellas con la palabra clave private, así la variable miVar, de tipo numérico, podría definirse así:
private
var miVar:Number = 0;
4.
Constructor de la Clase (excepto en el caso de las clases estáticas, pero de eso hablaremos en otro post).
5.
Propiedades, Métodos y Eventos de la Clase (no necesariamente en ese orden, pero es una buena forma de organizarlo).

Por supuesto, una clase bien hecha contiene además comentarios con información sobre la clase, la forma de usarla, su autor, etc. En este caso lo omitimos para concentrarnos en lo básico y no enredarnos más de lo estrictamente necesario.

Tipos de Clases
Class Public
Son muy comunes, accesibles desde cualquier otra clase en la misma librería (de otro modo hay que importarlas).

Un ejemplo de uso de una clase public sería:
Class Abstract
Aquellas que tienen por lo menos un método abstracto. No implementan sus métodos, sino que dan las bases para que sean implementados en la herencia.
Pueden ser a la vez clases “
public
”. Aquí un ejemplo de una clase:
Class Final
Son las que terminan la cadena de herencia. Útiles por motivos de seguridad y eficiencia de un programa, ya que no permiten crear más sub-divisiones por debajo de esta clase.

Ejemplo de una class con final.



Ejemplo de una Class con final y public.
Class Synchronizable
Especifica que sus métodos son sincronizados,evitando problemas con los thread, de forma que estos no pueden empezar a correr un método si no a acabado el otro. Un thread es un flujo de control para controlar la ejecución de un programa.

Nota:
Si no se utiliza alguno de los modificadores al momento de crear una clase, pordefecto, Java asume que la clase es:

No final
No abstracta
Subclase de la clase Object
No implementa interfaz alguno
Métodos (Ext - Int)
* Internos:
Es aquella llamada a un método ubicado en la misma clase en que se produce la llamada. La sintaxis es: nombreDelMétodo (parámetros si los hay)

Ejempo:

calcularCoste()
;
* Externos:
cuando una clase usa objetos de otra clase y se hacen llamadas a métodos de ese objeto (métodos definidos en otra clase) decimos que se llama a un método externo.
La sintaxis es:



Ejemplo:

deposito1.calcularCoste();
nombreDelObjeto.nombreDelMétodo (parámetros si los hay);
public
class Box extends GraphObj
{ ... }

Podemos hacer un resumen de los atributos que pueden tener campos, métodos o clases:

Campo
: {private | public | protected} {final} {static}
Método
: {private | public | protected} {final | abstract} {static}
Clase
: {public} {final | abstract}

Sólo se puede especificar uno de los atributos puestos en la misma llave.
Visibilidad de las Clases
Al declarar una clase se puede especificar que es pública usando el atributo public. De este modo la clase podrá ser usada por cualquier otra clase. Si la clase no es pública entonces la clase sólo puede ser usada dentro del paquete que la contiene.
Full transcript