Introducción a la programación orientada a objetos

Description

Mind Map on Introducción a la programación orientada a objetos, created by Miguel Guarin on 09/08/2016.
Miguel Guarin
Mind Map by Miguel Guarin, updated more than 1 year ago
Miguel Guarin
Created by Miguel Guarin over 9 years ago
7
0

Resource summary

Introducción a la programación orientada a objetos
  1. programación procedual
    1. es un tipo de programacion que se centra en realizar varios procedimientos para realizar tareas especificas
      1. fue la primera forma de programar con lenguajes de programacion de alto nivel, que supondrian una ventaja muy grande ya que permitian al programador realizar procesos sin necesidad de conocer las caracteristicas de la maquina
        1. sin embargo, este tipo de programacion era muy desorganizado, dificil de comprender, era muy tedioso probar los programas y ademas limitaba mucho la abstraccion de un evento de la vida real a la computadora
    2. programación estructurada
      1. es un tipo de programacion en el cual se utilizan procedimientos pero ademas de esto vienen distintas estructuras, las cuales supondrian una gran ventaja sobre la programacion procedual
        1. ademas de las estructuras, la programacion estructurada ofrece unas herramientas, las cuales llevarian a que los programas fueran mas faciles de desarrollar organizar, probar y que fueran mas confiables
          1. modulos
            1. funciones
              1. son bloques de procedimientos, estructuras y datos que ayudan a simplificar los programas, realizar tareas especificas y poderlas reciclar fácilmente
              2. la modulacion es una tecnica de programacion que consiste en separar un programa completo en pequeñas sub-tareas que estaban relacionadas
                1. esta tecnica permitia que las funciones se organizaran mejor y que ademas se pudiera encapsular la informacion y los procesos
                  1. sin embargo esta tecnica era limitada ya que por ejemplo para editarse un programa, si se cambiaba un dato en una funcion este tambien se debia cambiar las funciones donde el dato se usara o apareciera
            2. tipos de estructuras
              1. secuenciales
                1. son estructuras que comprenden una serie de procedimientos que se realizan de manera ordenada, mas específicamente por orden de escritura de los mismos
                2. seleccion
                  1. son aquellas estructuras en donde se desarrollan ciertos procedimientos si se cumplen ciertas condiciones
                    1. if/else
                      1. son estructuras las cuales entran a ejecutar los procedimientos si se cumplen o no se cumplen ciertas condiciones
                      2. switch
                        1. son estructuras que pueden ejecutar distintos procedimientos dependiendo de varias condiciones
                    2. ciclicas
                      1. son aquellas estructuras donde se desarrolan procedimientos si se cumplen unas condiciones pero ademas de ello se repiten dependiendo de las mismas
                        1. while/ do while
                          1. son estructuras que se iran repitiendo a medida que la condicion a la cual esta en juicio se siga cumpliendo
                          2. for
                            1. estas estructuras tendran un valor de inicio y este valor ira cambiando a medida que se repite la serie de procedimientos y esto hasta que la condicion que cambia de valor llegue a uno definido
                    3. la programacion estructurada es muy util, pero muy limitada ya que presenta cierta dificultad trabajar con ella y ademas imposibilita la abstraccion de muchas cosas de la vida real, lo que tambien hace que sea dificil automatizar ciertas tareas
                    4. abstraccion
                      1. en la programacion este terminoes muy importante ya que la abstraccion consiste en coger un objeto, analizar sus propiedades relevantes y sus caracteristicas importantes, extraerlas y llevarlas a la programacion donde el computador entendera estos comportampientos
                      2. paradigma
                        1. se refiere a un modelo de algo o un concepto el cual se puede seguir, en la programacion es un termino escencial ya que esta misma posee diferentes modelos o metodologias las cuales son diversas y de las cuales se pueden tomar como modelo
                        2. programacion orientada a objetos
                          1. la programacion orientada a objetos es una herramienta muy poderosa en la programacion, ya que esta se acerca mucho mas a lo que es la realidad. lo que permite que la abstraccion de objetos reales se lleven a la programacion de manera mas facil y logica
                            1. los objetos en la programacion son una abstraccion de algo lo cual tiene unas caracteristicas abstractas llamadas clases
                              1. las clases son tipos abstractos de dato los cuales contienen atributos y metodos los cuales se les puede asignar a infinidad de objetos y a otras clases gracias a la herencia
                                1. podriamos suponer que tenemos una clase llamada motor, la cual contiene llantas, chasis, motor, exhosto, etc. podriamos asignarle un valor de motor a un carro o a una moto, ya que tienen similares caracteristicas aunque por ejemplo, el carro tiene 4 llantas y la moto 2, el motor del carro es mas grande y el exhosto probablemente sea mas pequeño, este ejemplo puede ilustrar a lo que se refiere el paradigma orientado a objetos
                                2. propiedades importantes
                                  1. abstraccion
                                    1. encapsulamiento
                                      1. modularidad
                                        1. jerarquia
                                          1. polimorfismo
                                          2. una caracteristica muy importante de la programacion orientada a objetos es la reutilizacion de codigo para realizar otros programas
                                            1. lenguajes de programación orientados a objetos
                                              1. tipos de lenguajes
                                                1. basado en objetos
                                                  1. es un lenguaje que permite en su sintaxis, el uso de objetos
                                                    1. algunos de estos lenguajes son: Ada-83, Actor y Clipper 5.x
                                                  2. basado en clases
                                                    1. es un lenguaje que ademas de soportar objetos, en su sintaxis permite el uso de clases
                                                      1. Uno de ellos es Clu
                                                    2. orientado a objetos
                                                      1. es el que ademas de objetos y clases, permite la herencia entre clases
                                                        1. algunos de ellos son: C++, Eiffel, Simula, Smalltalk, Turbo Borland Pascal, Delphi, Visual Object, Object COBOL, Ada-95
                                                2. encapsulamiento
                                                  1. es la capacidad de poderse ocultar la informacion al exterior de un modulo y permitir que solo sea el modulo mismo el que pueda manipular la informacion
                                                  2. jerarquia
                                                    1. es el orden que llevan ciertos tipos de datos abstractos dependiendo de varios factores
                                                    2. polimorfismo
                                                      1. es la capacidad de varias instancias de distintas clases realizar las mismas acciones pero de diferentes maneras
                                                      2. factores importantes de un software
                                                        1. eficiencia
                                                          1. portabilidad
                                                            1. verificabilidad
                                                              1. integridad
                                                                1. facilidad
                                                                  1. correccion
                                                                    1. robustez
                                                                      1. extensibilidad
                                                                        1. reutilizacion
                                                                          1. compatibilidad
                                                                          2. Ciclo de vida de un software
                                                                            1. Herencia
                                                                              1. La herencia es uno de los mecanismos de los lenguajes de programación orientada a objetos basados en clases, por medio del cual una clase se deriva de otra de manera que extiende su funcionalidad.
                                                                              2. Karen Milena Romero Romero 20161005065 Miguel Felipe Guarin Ramos 20161005071
                                                                                Show full summary Hide full summary

                                                                                Similar