Francisco Montoya González
Sponsored Links
This presentation is the property of its rightful owner.
1 / 16

Francisco Montoya González Programación PowerPoint PPT Presentation


  • 87 Views
  • Uploaded on
  • Presentation posted in: General

Francisco Montoya González Programación. Programación Orientada a Objetos. Ventajas del paradigma Orientado a Objetos. Gestionar la complejidad. Facilita la reutilización de modelos ya existentes.

Download Presentation

Francisco Montoya González Programación

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Francisco Montoya González

Programación

Programación Orientada a Objetos


Ventajas del paradigma Orientado a Objetos

  • Gestionar la complejidad.

  • Facilita la reutilización de modelos ya existentes.

  • Ofrece mecanismos de abstracción permitiendo modelar un sistema a diferentes niveles y utilizar el mismo formalismo en diferentes etapas del ciclo de vida de este sistema.

  • Producir modelos fáciles de leer y validar autorizando la descripción de interfaces de alto nivel entre componentes.


Desventajas del paradigma Orientado a Objetos

  • La curva de aprendizaje requiere educación y entrenamiento constante.

  • La tecnología está en continua evolución.

  • La gente necesita tiempo para cambiar de paradigma.

  • La gente no desea cambiar porque todavía cree en el paradigma estructurado.


Los tipos abstractos de datos o los TADS. Los tipos de datos

  • Valores: Datos o grupos de datos manipulados en un proceso.

    • Escalares: compuestos por un solo item.

    • Agregados: Compuestos por varios items.

  • Tipo de datos: Conjunto de valores a los que se le asocia una forma especifica de almacenamiento y sobre los cuales se pueden efectuar un conjunto de operaciones.

    • Nativos: Tipos predefinidos en los lenguajes.

    • Definidos por el usuario: los que define en programador.


Abstracción

  • Es un mecanismo de la mente humana fundamentalmente para la comprensión de fenómenos o situaciones que involucran una gran cantidad de detalles.

  • Abstraer es, por lo tanto, un proceso mental que tiene dos aspectos:

    • Destacar los detalles relevantes del objeto en estudio.

    • Ignorar los detalles irrelevantes del objeto. Se entienden irrelevantes en ese nivel de abstracción. Si descendemos de nivel, es probable que algunos de estos detalles pasen a ser relevantes.

  • La abstracción permite representar fenómenos complejos siguiendo un metodo jerárquico, es decir, por sucesivos niveles de detalle.


Tipos abstractos

  • Valor o valores y operaciones asociadas a los mismos que se definen mediante una especificación que es independiente de cualquier representación.

  • El calificativo de abstracto expresa precisamente esta cualidad de independencia de la representación.

  • Para definir un nuevos tipo, el programador debería comenzar por decidir que valores y despues que operaciones le parecen relevantes y útiles para operar con ellos. Es decir, debería comenzar por establecer la interfaz que van a tener los usuarios con dicho tipo.


Las clases

  • Conjunto de objetos que comparten:

    • Las misma propiedades (atributos).

    • El mismo comportamiento (métodos).

    • Las misma relaciones con otros objetos (mensajes).

    • La misma semántica dentro del sistema.

  • Las clases encapsulan los atributos y las operaciones sobre los mismos. Esto trae las siguientes ventajas:

    • Proteccion de los datos de accesos indebidos

    • Disminucion del acoplamiento entre clases

    • Se favorece la modularidad y el mantenimiento

  • Los atributos de una clase no deben ser manipulables directamente por el resto de objetos

  • Una clase es un molde para construir objetos.


Declarando una clase C++

class nombreClase

{

private:

datos o metodos privados

protected:

datos o metodos privados

public:

datos o metodos privados

} instacia

Tenga en cuenta que al momento de crear una clase, la creacion de instancias de la clase es opcional.


Visibilidad de los miembros de una clase

  • Las palabras private, protected y public son opcionales. Por defectos todos los miembros de una clase son privados a menos que se indique lo contrario. Estas declaraciones se pueden colocar en cuaquier orden.

    • Privados (private): Solo pueden ser accedidos por una funcion miembro, de la propia clase.

    • Protegidos (protected): Se pueden acceder por funciones declaradas por esa clase, por cualquier clase que herede de ella.

    • Publicos (public): Permite el acceso a la clase desde funciones externas.


Clases: Notación Gráfica

  • Cada clase se representa en un rectángulo con tres compartimientos:

    • nombre de la clase

    • atributos de la clase

    • operaciones de la clase


Clases: Notación Gráfica

  • Otros ejemplos:

  • Circulo?

  • Cuenta bancaria?

  • Fecha?


Ejemplo. Clase Fecha

class fecha

{private:int mes;int dia;int anho;public:Fecha(int = 7, int = 4, int = 2008);void estFecha(int, int, int);void mostrarFecha(void);

};

Fecha::Fecha(int mm, int dd, int aaaa)

{mes = mm;dia = dd;anho = aaaa;

}

Void Fecha::estFecha(int mm, int dd, int aaaa)

{mes = mm; dia = dd; anho = aaaa;

}

Void Fecha::mostrarFecha(void)

{cout<<“La fecha es ”<< cout<<mes<<“/”<<dia<<“/”<<anho;

}


Objetos

  • Un objeto es la instancia de una clase o categoría y se diferencian entre ellos por los valores de sus atributo (variables).


Bibliografía

  • Bronson, Gary J. C++ para ingeniería y ciencias. Ed. Thomson, 2007.

  • Larma, Craig. UML y patrones: Introducción al análisis y diseño orientado a objetos. Ed. Prentice Hall, 1999.

  • Joyanes Aguilar, Luis. Programación Orientada a Objetos: Concepto, modelado, diseño y condificación en C++. McGraw-Hill. 1996.

  • Rumbaugh, James y otros. Object-Oriented Modeling and Design. Prentice Hall. 1991.

  • Booch, Grady. Análisis y Diseño Orientado a Objetos con Aplicaciones. Addison Wesley. 2 edición. 1996.


  • Login