Programación



M.C. Jaime Lara Alvarez
Clase 4

– Programación Orientada a Objetos (Repaso)

– Características de la P.O.O.
  • Herencia
     – Aplicación: Persona – Alumno - Profesor



– Arreglos
     – Aplicación: Array_Class
Clase
Una clase es una plantilla
Una clase define un concepto
Herencia
Herencia

• Permite compartir atributos y operaciones entre
  clases tomando como base una relación
  jerárquica.
• Por ejemplo, la herencia de la clase Figura a la
  clase Circulo, es la facilidad mediante la cual la
  clase Circulo hereda en ella cada uno de los
  atributos y operaciones de Figura, como si esos
  atributos y operaciones hubiesen sido definidos
  por la misma Circulo.

• Superclase
• Clase Derivada
Herencia: Ejemplo Profesor - Alumno
Clase Alumno
Clase Profesor
Clase Persona
Ejercicio de Herencia

• Se tiene una clase llamada 'Figura', cada 'Figura' tiene:
  una Área, un color y una posición. Cada 'Figura' puede ser
  dibujada, borrada, movida y coloreada. Además se tienen
  tres clases que heredan de la clase figura, las cuales son:
   – 'Circulo‘ que posee un radio.
   – 'Cuadrado' que posee el atributo lado.
   – 'Triangulo‘ que posee una base y una altura.
• La clase 'Triangulo' ademas cuenta con los métodos
  'VoltearVertical' y 'VoltearHorizontal'.
• Cada una de las tres clases que derivan de la clase 'Figura'
  tienen sobrecargados los métodos 'dibujar' y 'borrar'.
Solución – Ejercicio de Herencia
Arreglos

• Un arreglo es un conjunto de datos (todos del
  mismo tipo) con una organización lineal y con
  acceso a través de sus subíndices.
• Un arreglo se compone de elementos del
  mismo tipo, almacenados linealmente en
  posiciones de memoria consecutiva.
Arreglos

• Las operaciones tradicionales sobre los arreglos incluyen
  la comparación, la asignación, la escritura, etc.
• Índices
   – Todo arreglo se compone de un determinado número de
     elementos. Cada elemento es referenciado por la posición
     que ocupa dentro del arreglo. Dichas posiciones son
     llamadas índices.
   – C# utiliza la Indexación base-cero (0): El primer elemento
     del arreglo será el componente cero ('0') del mismo, es
     decir, tendrá el índice '0'. En consecuencia, si el arreglo tiene
     'n' componentes la última tendrá como índice el valor 'n-1'.
Arreglos
Asignación de valores a un arreglo

• Asignación de valores a un arreglo:
Arreglos
Acceso a los elementos dentro de un Arreglo
Clase para escritura y lectura de un arreglo
Interfaz
                btnAgregar
                             btnMostrar




txtNumero




             listBoxDatos
Programación de la Interface
Referencias

•   Apuntes para el curso de “Estructuras de datos en C/C++” Dr. Abdiel E. Cáceres González. ITESM-CCM. 2 de
    junio de 2005. http://computacion.cs.cinvestav.mx/~acaceres/courses/estDatosCPP/
•   Object Orientation
    http://medialab.di.unipi.it/web/IUM/Programmazione/OO/index.html
•   Lenguajes de programación: conceptos y paradigmas
    http://sisbib.unmsm.edu.pe/Bibvirtual/publicaciones/indata/v04_n1/lenguajes.htm
•   Object-Oriented programming with JavaScript
    http://viralpatel.net/blogs/2009/07/object-oriented-programming-with-javascript.html
•   Paradigma de programación
    http://es.wikipedia.org/wiki/Paradigma_de_programación
•   Programación orientada a objetos
    http://es.wikipedia.org/wiki/Programación_orientada_a_objetos
•   Román Martínez. Elda Quiroga. Estructuras de datos. Referencia práctica con orientación a objetos. Editorial
    Thomson Learning.
•   What is Object Oriented Programming and Why You Need to Use It
    http://www.codercaste.com/2011/01/12/what-is-object-oriented-programming-and-why-you-need-to-use-it/

Clase 4

  • 1.
  • 2.
    Clase 4 – ProgramaciónOrientada a Objetos (Repaso) – Características de la P.O.O. • Herencia – Aplicación: Persona – Alumno - Profesor – Arreglos – Aplicación: Array_Class
  • 3.
  • 4.
    Una clase esuna plantilla
  • 5.
    Una clase defineun concepto
  • 7.
  • 8.
    Herencia • Permite compartiratributos y operaciones entre clases tomando como base una relación jerárquica. • Por ejemplo, la herencia de la clase Figura a la clase Circulo, es la facilidad mediante la cual la clase Circulo hereda en ella cada uno de los atributos y operaciones de Figura, como si esos atributos y operaciones hubiesen sido definidos por la misma Circulo. • Superclase • Clase Derivada
  • 9.
  • 12.
  • 13.
  • 14.
  • 15.
    Ejercicio de Herencia •Se tiene una clase llamada 'Figura', cada 'Figura' tiene: una Área, un color y una posición. Cada 'Figura' puede ser dibujada, borrada, movida y coloreada. Además se tienen tres clases que heredan de la clase figura, las cuales son: – 'Circulo‘ que posee un radio. – 'Cuadrado' que posee el atributo lado. – 'Triangulo‘ que posee una base y una altura. • La clase 'Triangulo' ademas cuenta con los métodos 'VoltearVertical' y 'VoltearHorizontal'. • Cada una de las tres clases que derivan de la clase 'Figura' tienen sobrecargados los métodos 'dibujar' y 'borrar'.
  • 16.
  • 17.
    Arreglos • Un arregloes un conjunto de datos (todos del mismo tipo) con una organización lineal y con acceso a través de sus subíndices. • Un arreglo se compone de elementos del mismo tipo, almacenados linealmente en posiciones de memoria consecutiva.
  • 18.
    Arreglos • Las operacionestradicionales sobre los arreglos incluyen la comparación, la asignación, la escritura, etc. • Índices – Todo arreglo se compone de un determinado número de elementos. Cada elemento es referenciado por la posición que ocupa dentro del arreglo. Dichas posiciones son llamadas índices. – C# utiliza la Indexación base-cero (0): El primer elemento del arreglo será el componente cero ('0') del mismo, es decir, tendrá el índice '0'. En consecuencia, si el arreglo tiene 'n' componentes la última tendrá como índice el valor 'n-1'.
  • 19.
  • 20.
    Asignación de valoresa un arreglo • Asignación de valores a un arreglo:
  • 21.
  • 22.
    Acceso a loselementos dentro de un Arreglo
  • 23.
    Clase para escrituray lectura de un arreglo
  • 24.
    Interfaz btnAgregar btnMostrar txtNumero listBoxDatos
  • 25.
  • 26.
    Referencias • Apuntes para el curso de “Estructuras de datos en C/C++” Dr. Abdiel E. Cáceres González. ITESM-CCM. 2 de junio de 2005. http://computacion.cs.cinvestav.mx/~acaceres/courses/estDatosCPP/ • Object Orientation http://medialab.di.unipi.it/web/IUM/Programmazione/OO/index.html • Lenguajes de programación: conceptos y paradigmas http://sisbib.unmsm.edu.pe/Bibvirtual/publicaciones/indata/v04_n1/lenguajes.htm • Object-Oriented programming with JavaScript http://viralpatel.net/blogs/2009/07/object-oriented-programming-with-javascript.html • Paradigma de programación http://es.wikipedia.org/wiki/Paradigma_de_programación • Programación orientada a objetos http://es.wikipedia.org/wiki/Programación_orientada_a_objetos • Román Martínez. Elda Quiroga. Estructuras de datos. Referencia práctica con orientación a objetos. Editorial Thomson Learning. • What is Object Oriented Programming and Why You Need to Use It http://www.codercaste.com/2011/01/12/what-is-object-oriented-programming-and-why-you-need-to-use-it/