SlideShare una empresa de Scribd logo
1 de 9
   La POO tiene origen en simula 67.
   Diseñado para hacer simulaciones .
   Creado por Ole Johan y Kristen Nygaard en
    Oslo.
   Refinado en smalltalk.
   Desarrollado en simula en Xerox PARC.
   Tomo posición como el estilo de programación
    dominante a mediados de los años 80.
   FLEXIBILIDAD: Capacidad de adaptarse a nuevas ideas.
   REUSABILIDAD: Respecto a la calidad de un programa,
    la reusabilidad hace referencia a poder volver a usar parte
    de dicho software en otro proyecto.
   MANTENIBILIDAD: “La facilidad con la que un
    sistema o componente software puede ser modificado para
    corregir fallos, mejorar su funcionamiento u otros atributos
    o adaptarse a cambios en el entorno”.
   EXTENSIBILIDAD: gracias a la modularidad y a la
    herencia una aplicación diseñada bajo el
    paradigma de la orientación a objetos puede ser
    fácilmente extensible para cubrir necesidades de
    crecimientos de la aplicación.
   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.
   Encapsulamiento: Significa reunir a todos los elementos que pueden
    considerarse pertenecientes a una misma entidad, al mismo nivel de
    abstracción. Esto permite aumentar la cohesión de los componentes del
    sistema. Algunos autores confunden este concepto con el principio de
    ocultación, principalmente porque se suelen emplear conjuntamente.
   Modularidad: 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.
   Principio de ocultación: El aislamiento protege a las propiedades de un
    objeto contra su modificación por quien no tenga derecho a acceder a
    ellas, solamente los propios métodos internos del objeto pueden acceder a
    su estado.
   POLIMORFISMO: Es la propiedad que tienen los
    objetos de permitir invocar genéricamente un
    comportamiento (método) cuya implementación
    será delegada al objeto correspondiente recién en
    tiempo de ejecución
   HERENCIA
Es una relación entre clases en la cual una clase
comparte la estructura y comportamiento definido en
otra clase. Cada clase que hereda de otra posee:
Los atributos de la clase base además de los propios.
Soporta todos o algunos de los métodos de la clase
base.
Recolección de basura: la recolección de basura o
garbage collector es la técnica por la cual el entorno de
objetos se encarga de destruir automáticamente, y por
tanto desvincular la memoria asociada, los objetos
que hayan quedado sin ninguna referencia a ellos.
   .- Estructura básica de un programa
   C# es un lenguaje orientado a objetos puro, esto es, sólo puede manejar
    aplicaciones creadas con el modelo de objetos ( a diferencia del lenguaje
    C++ que permite crear aplicaciones con el modelo de objetos y
    aplicaciones con el modelo procedimental). Debido a esto, toda aplicación
    de C# debe constar de, al menos, una clase que contenga al método
    Main().
    Ejemplo:
    saludo.cs
    // Mi primer programa en C#
    class HolaMundo{
    public static void Main( ){
    System.Console.WriteLine("¡ Hola, Mundo !");
    }
    }
    Una aplicación puede definir tantas clases como sea necesario y también
    utilizar clases predefinidas. La única condición es que una de las clases
    contenga al método Main( ).
    El código del método Main( ) marca el inicio para la ejecución de toda
    aplicación.
   cabeceras (#include <iostream> ....)
    macros (#define )
    constantes (const int max = 10)
    tipos de datos (typedef)
    definición de los atributos de la clase y los metodos:
    class NombreClase {
    ...private:
    ...........int atributo;
    ...public:
    .......... NombreClase (parametros); //constructor
    .......... ~NombreClase(void); //destructor
    ......... void metodo1 (void);
    ......... int metodo2 (void) const;
    };
    Implementacion de los metodos de la clase:
    int NombreClase::metodo2 (void) const
    {
    .....return atributo;
    }

    Funcion Principal

Más contenido relacionado

Similar a Origen y principios POO

Similar a Origen y principios POO (20)

Asignación 1 astrid c.
Asignación 1 astrid c.Asignación 1 astrid c.
Asignación 1 astrid c.
 
fundamentos-de-poo.ppt 2.ppt
fundamentos-de-poo.ppt 2.pptfundamentos-de-poo.ppt 2.ppt
fundamentos-de-poo.ppt 2.ppt
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Mapa mconceptual (1)
Mapa mconceptual (1)Mapa mconceptual (1)
Mapa mconceptual (1)
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacion
 
Poo
PooPoo
Poo
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacion
 
Programacion orientada a_objetos
Programacion orientada a_objetosProgramacion orientada a_objetos
Programacion orientada a_objetos
 
Miko
MikoMiko
Miko
 
Programacion visual
Programacion visualProgramacion visual
Programacion visual
 
Definiciones taller 8 agost
Definiciones taller 8 agostDefiniciones taller 8 agost
Definiciones taller 8 agost
 
Poo y visual
Poo y visualPoo y visual
Poo y visual
 
Paradigma de Programación Orientado a Objetos
Paradigma de Programación Orientado a ObjetosParadigma de Programación Orientado a Objetos
Paradigma de Programación Orientado a Objetos
 
Entorno
EntornoEntorno
Entorno
 
Unidad 1. Introducción. Conceptos fundamentales de la POO
Unidad 1. Introducción. Conceptos fundamentales de la POOUnidad 1. Introducción. Conceptos fundamentales de la POO
Unidad 1. Introducción. Conceptos fundamentales de la POO
 
Patron de diseño
Patron de diseñoPatron de diseño
Patron de diseño
 
Curso de Java Intermedio
Curso de Java IntermedioCurso de Java Intermedio
Curso de Java Intermedio
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Cspr
CsprCspr
Cspr
 
Cspr
CsprCspr
Cspr
 

Origen y principios POO

  • 1.
  • 2.
  • 3. La POO tiene origen en simula 67.  Diseñado para hacer simulaciones .  Creado por Ole Johan y Kristen Nygaard en Oslo.  Refinado en smalltalk.  Desarrollado en simula en Xerox PARC.  Tomo posición como el estilo de programación dominante a mediados de los años 80.
  • 4. FLEXIBILIDAD: Capacidad de adaptarse a nuevas ideas.  REUSABILIDAD: Respecto a la calidad de un programa, la reusabilidad hace referencia a poder volver a usar parte de dicho software en otro proyecto.  MANTENIBILIDAD: “La facilidad con la que un sistema o componente software puede ser modificado para corregir fallos, mejorar su funcionamiento u otros atributos o adaptarse a cambios en el entorno”.  EXTENSIBILIDAD: gracias a la modularidad y a la herencia una aplicación diseñada bajo el paradigma de la orientación a objetos puede ser fácilmente extensible para cubrir necesidades de crecimientos de la aplicación.
  • 5. 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.  Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultación, principalmente porque se suelen emplear conjuntamente.  Modularidad: 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.  Principio de ocultación: El aislamiento protege a las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas, solamente los propios métodos internos del objeto pueden acceder a su estado.
  • 6. POLIMORFISMO: Es la propiedad que tienen los objetos de permitir invocar genéricamente un comportamiento (método) cuya implementación será delegada al objeto correspondiente recién en tiempo de ejecución  HERENCIA Es una relación entre clases en la cual una clase comparte la estructura y comportamiento definido en otra clase. Cada clase que hereda de otra posee: Los atributos de la clase base además de los propios. Soporta todos o algunos de los métodos de la clase base. Recolección de basura: la recolección de basura o garbage collector es la técnica por la cual el entorno de objetos se encarga de destruir automáticamente, y por tanto desvincular la memoria asociada, los objetos que hayan quedado sin ninguna referencia a ellos.
  • 7.
  • 8. .- Estructura básica de un programa  C# es un lenguaje orientado a objetos puro, esto es, sólo puede manejar aplicaciones creadas con el modelo de objetos ( a diferencia del lenguaje C++ que permite crear aplicaciones con el modelo de objetos y aplicaciones con el modelo procedimental). Debido a esto, toda aplicación de C# debe constar de, al menos, una clase que contenga al método Main(). Ejemplo: saludo.cs // Mi primer programa en C# class HolaMundo{ public static void Main( ){ System.Console.WriteLine("¡ Hola, Mundo !"); } } Una aplicación puede definir tantas clases como sea necesario y también utilizar clases predefinidas. La única condición es que una de las clases contenga al método Main( ). El código del método Main( ) marca el inicio para la ejecución de toda aplicación.
  • 9. cabeceras (#include <iostream> ....) macros (#define ) constantes (const int max = 10) tipos de datos (typedef) definición de los atributos de la clase y los metodos: class NombreClase { ...private: ...........int atributo; ...public: .......... NombreClase (parametros); //constructor .......... ~NombreClase(void); //destructor ......... void metodo1 (void); ......... int metodo2 (void) const; }; Implementacion de los metodos de la clase: int NombreClase::metodo2 (void) const { .....return atributo; } Funcion Principal