Introducing 

Prezi AI.

Your new presentation assistant.

Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.

Loading…
Transcript

La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas informáticos.

Está basado en varias técnicas, incluyendo

herencia, abstracción, polimorfismo, encapsulamiento

y acoplamiento

Tomó posición como el estilo de programación dominante a mediados de los años ochenta,

en gran parte debido a la influencia de C++ gracias al auge de las Interfaces gráficas de usuario.

Ejemplo de Abstracción C++

REFERENCIAS

Abstracción

Denota las características esenciales de un objeto, donde se capturan sus comportamientos.

Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cómo se implementan estas características.

class Abstracta

{

public:

virtual int metodo() = 0;

};

class ConcretaA : public Abstracta

{

public:

int metodo()

{

//haz algo

return foo () + 2;

}

};

class ConcretaB : public Abstracta

{

public:

int metodo()

{

//otra implementación

return baz () - 5;

}

};

Sastre de la Torre David, (2012). Acoplamiento y Cohesión en Java. Fuente electrónica [en línea]. http://sekthdroid.wordpress.com/2012/12/04/acoplamiento-y-cohesion-en-java/

 

Ciberaula. Encapsulación en Java. Fuente electrónica [en línea]. http://www.ciberaula.com/articulo/encapsulacion_java/

 

Del Teso Liandro. El paradigma orientado a objetos. Monografias.com Programación Fuente electrónica [en línea]. http://www.monografias.com/trabajos14/paradigma/paradigma.shtml

 

Pineda Chavez Cristian. Paradigma orientado a objetos. Apunte y Monografias. Fuente electrónica [en línea]. http://www.taringa.net/posts/apuntes-y-monografias/8287701/Paradigma-orientado-a-objetos.html

 

FA Javier (2009). La Abstracción en POO. Alvenfur. Fuente electrónica [en línea]. http://alvenfur.blogspot.mx/.

 

Curso de Programacion en C#. Programación orientada a objetos. Fuente electrónica [en línea]. http://www.adrformacion.com/cursos/visualc/leccion1/tutorial3.html

 

Izquierdo, L. R. (2007). Luis R. Izquierdo. Recuperado el 19 de Enero de 2014, de http://luis.izqui.org/resources/ProgOrientadaObjetos.pdf

Programación Orientada a Objetos. (20 de 01 de 2014). Obtenido de elmrabet.blogspot.com/2008/01/oop.html

Velthuis, M. P. (2008). Medición y Estimación del software: técnicas y métodos para mejorar la calidad y la productividad. Madrid.

Ejemplo de Encapsulamiento JAVA

Encapsulamiento

Significa reunir todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción.

public class MiClase{

private int tipo;

public void setTipo(int t) {

tipo = t;

}

 

public int getTipo() {

return tipo;

}

}

 

class AccesoIndirecto {

public static void main(String[] args) {

MiClase mc = new MiClase();

mc.setTipo(5);

System.out.println(“El tipo es:” + mc.getTipo());

}

}

PARADIGMAS DE LA PROGRAMACION ORIENTADA A OBJETOS

INTEGRANTES DEL EQUIPO

MARÍA DEL SOCORRO VALDEZ CUEVAS

OSCAR FERREYRA RANGEL

HUGO ANTONIO TORRES GONZALEZ

Modularidad

Ejemplo de acoplamiento JAVA

Ejemplo de cohesión JAVA

Principio de ocultación

Se denomina modularidad a 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.

class BudgetReport{

void connectToRDBMS(){ }

void generateBudgetReport() { }

void saveToFile() { }

void print(){ }

}

Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una interfaz a otros objetos que específica cómo

pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas

class DoTaxes{

float rate;

float doColorado(){

SalesTaxRates str = new SalesTaxRates();

rate = str.salesRate;   // Esto deería ser la llamada a un método

        //rate = str.getSalesRate(CO);

return rate;

}

}

Polimorfismo

10 IDEAS PRINCIPALES

Ejemplo Polimorfismo Java

Comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre; al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando

La programación orientada a objetos es otra forma de ver la programación, basándonos en la perspectiva que tenemos los humanos de nuestro mundo, hecho en base a objetos que se interrelacionan.

Es el modelo más usado actualmente, hasta que se desarrolle uno nuevo que satisfaga de mejor manera los requerimientos de software del futuro.

Con este nuevo paradigma se pueden hacer programas más complejos, pero a la vez más fácil de entender, permitiendo el trabajo en equipo y la reutilización del código, hecho por otra persona.

public interface IAnimal {

int valor=5;

}

public void comunicarse();

}

  • La programación orientada a objetos trata de amoldarse al modo de pensar del hombre y no al de la máquina.
  • Los objetos son entidades que tienen un estado, un comportamiento y una identidad.
  • Un objeto es una encapsulación abstracta de información, junto con los métodos o procedimientos para manipularla.
  • Fomenta la reutilización y extensión del código.
  • Facilita la creación de programas visuales.
  • Un mensaje representa una acción a tomar por un determinado objeto.
  • Una instancia es la construcción de una clase.
  • Lo interesante de la POO es que proporciona conceptos y herramientas con las cuales se modela y representa el mundo real tan fielmente como sea posible.
  • Facilita el mantenimiento del software.
  • Facilita el trabajo en equipo.

Herencia

Las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos here

dan las propiedades y el comportamiento de todas las clases a las que pertenecen.

La herencia organiza y facilita el polimorfismo y el encapsulamiento, permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes.

Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo.

Herencia múltiple C++

Acoplamiento y Cohesión

La cohesión y el acoplamiento, tienen que ver con la calidad del diseño OO (Orientado a objetos). En general, un buen diseño en la Orientación a Objetos conlleva una pérdida del acoplamiento y una gran cohesión.

class Persona {

...

Hablar();

Caminar(); ...

};

class Empleado {

Persona jefe;

int sueldo;

Cobrar();

...

};

class EmpleadoTienda: public Persona, Empleado {

...

AlmacenarStock();

ComprobarExistencias();

...

};

Learn more about creating dynamic, engaging presentations with Prezi