CONCEPTOS BÁSICOS DE PROGRAMACIÓN ORIENTADA A OBJETOS (POO)
Dentro del perfil de egresado en licenciatura en informática se encuentra que éste debe propiciar proyectos investigativos que contribuyan a la solución de problemas de la comunidad educativa, es ahí donde este módulo proporcionará a los estudiantes tener una visión más amplia en cuanto al tema tecnológico y le permitirán crear proyectos más enriquecedores
2. ¿Qué es un programa?
¿Qué es un compilador?
¿Qué es un
interprete?
¿Para que se utilizan los
tipos de datos?
¿Qué es una constante y una
variable? Que sabes sobre la
programación orientada
a objetos.
Puedes dar el concepto de:
•Clases
•Objetos
•Métodos
•Mensaje.
•Polimorfismo.
•Herencia.
•Encapsulación
3. •Es una serie de órdenes o instrucciones con una finalidad que realizan una
función determinada.
¿Qué es un
programa?
•Programa especifico para un lenguaje de programación, los cuales
transforman el programa directa o indirectamente ejecutable por la máquina
destino.
¿Qué es un
compilador?
• Es un programa informático capaz de analizar y ejecutar otros programas. Los
intérpretes se diferencian de los compiladores o de los ensambladores en que mientras
estos traducen un programa desde su descripción en un lenguaje de programación al
código de máquina del sistema, los intérpretes sólo realizan la traducción a medida que
sea necesaria, típicamente, instrucción por instrucción, y normalmente no guardan el
resultado de dicha traducción.
¿Qué es un
interprete?
4. Los tipos de datos se utilizan generalmente para declarar variables y son necesarios
para que el intérprete o compilador conozca de antemano que tipo de información
va a contener una variable.
Existen cinco tipos de datos atómicos, los cuales son: carácter, entero, coma
flotante, coma flotante doble precisión y sin valor (char, int, float, double y void,
respectivamente). El tamaño y el rango de estos tipos de datos varían con cada
tipo de procesador.
6. Programación Orientada a Objetos (POO)
Object Oriented programming (OOP)
Es un paradigma de programación, el cual utiliza objetos y su comportamiento para resolver problemas y generar
programas y aplicaciones informáticas. (Moreno, 2013, p. 38)
La orientación a objetos puede describirse como el conjunto de disciplinas… que desarrollan y modernizan
sistemas de información que facilita la construcción de sistemas complejos a partir de componentes…
proporciona conceptos y herramientas con las cuales se modela y representa el mundo real tan fielmente como
sea posible. (Joyanes, 1996)
La programación orientada a objetos surge en la historia como un intento para dominar la complejidad que, de
forma innata, posee el software. Tradicionalmente, la forma de enfrentarse a esta complejidad ha sido
empleando lo que llamamos programación estructurada, que consiste en descomponer el problema objeto
de resolución en subproblemas y más subproblemas hasta llegar a acciones muy simples y fáciles de
codificar. (Izquierdo, s.f., p. 2)
7. • son más sencillos de leer y comprender, debido a que permiten ocultar detalles de
implementación dejando visibles sólo aquellos detalles más relevantes
Mantenibilidad
• Los mecanismos de encapsulación de la POO soportan un alto grado de reutilización de
código, sé que incrementa por sus mecanismos de herencia
Reusabilidad
• Facilidad de añadir, suprimir o modificar nuevos objetos permiten hacer modificaciones
de una forma muy sencilla.
Modificabilidad
• Permite a un sistema un crecimiento adaptable manteniendo la calidad y la facilidad de
trabajo continuo y fluido.
Escalabilidad
8. Diferencia con programación estructurada
La programación estructurada fue históricamente la primera manera universalmente aceptada
de organizar un programa que cumpliera con los objetivos de ser fácil y comprender leyendo el
propio código… fácil de depurar(localizar errores del programa)… ser fácil de
mantener(Ampliar con nuevas especificaciones o modificar ya existentes)… permitir trabajo
en equipo sobre un mismo programa. (Martínez y Martin, s.f.)
• La programación estructurada presenta algunas dificultades como.
• Distinta abstracción del mundo
• Dificultad en modificación y actualización
• Dificultad en mantenimiento
La POO enfatiza en los datos e intenta ajustar el lenguaje al problema. Los lenguajes orientados
combinan en una única unidad o módulo, tanto los datos como las funciones que operan sobre
esos datos. Cuando se trata de resolver un problema con orientación a objetos, dicho
problema no se descompone en funciones como en programación estructurada tradicional,
sino en objetos.
9. CLASE
Son modelos de los cuales se generan objetos. Los objetos se
instancian y se generan. Ejemplo:
Felipe será el objeto de la clase pájaro.
Representan un tipo particular de objetos.
• Objetos con características y comportamiento similar
• Categorías de objetos
Cada clase tiene asociado un código (definición de la clase), que
determina
• Los atributos que tienen los objetos de la clase
• Los métodos que pueden ejecutar los objetos de la
clase y cómo lo hacen
10.
11.
12. OBJETO
Conjunto de variables (o datos) y métodos (o funciones) relacionados entre sí. Los
objetos en programación se usan para modelar objetos o entidades del mundo real
(el objeto hijo, madre, o farmacéutica, por ejemplo). Un objeto es, por tanto, la
representación en un programa de un concepto, y contiene toda la información
necesaria para abstraerlo: datos que describen sus atributos y operaciones que pueden
realizarse sobre los mismos. (Izquierdo, s.f.)
13.
14.
15. Los atributos del objeto y lo que el objeto puede hacer (comportamiento) están
expresados por las variables y los métodos que componen el objeto respectivamente.
•Ejemplo.
•Un objeto que modelase una bicicleta en el mundo real tendría variables que indicarían el
estado actual de la bicicleta:
•su velocidad es de 20 km/h
•su cadencia de pedaleo 90 r.p.m.
•su marcha actual es la 5ª.
•Estas variables se conocen formalmente como variables instancia o variables miembro
porque contienen el estado de un objeto bicicleta particular y, en programación
orientada a objetos, un objeto particular se denomina una instancia.
•Además de estas variables, el objeto bicicleta podría tener métodos para frenar, cambiar la
cadencia de pedaleo, y cambiar de marcha. Estos métodos se denominan formalmente
métodos instancia o métodos miembro, ya que cambian el estado de una instancia u objeto
bicicleta particular. La siguiente figura muestra una bicicleta modelada como un objeto.
19. MENSAJE
Petición de un objeto a otro objeto al que le solicita ejecutar uno de sus
métodos. Por convenio, el objeto que envía la petición se denomina
emisor y el objeto que recibe la petición se denomina receptor.
21. ABSTRACCIÓN
Según la RAE abstraer es “separar por medio de
una operación intelectual las cualidades de un
objeto para considerarlas aisladamente o para
considerar el mismo objeto en su pira esencia o
noción”
En POO, lo que se hace es abstraer las
características de los objetos que van a tomar
parte del programa y crear las clases con sus
atributos y sus métodos. (Moreno, 2013, p.41)
22. ENCAPSULAMIENTO
Es una de las propiedades fundamentales de
la POO. Cuando se programa orientado a
objetos, los objetos se ven según su
comportamiento externo. Por ejemplo, en la
clase pájaro se le puede enviar un mensaje
para que cante y el objeto pájaro ejecutará su
método cantar. (Moreno, 2013, p.41)
23. HERENCIA
Todas las clases se estructuran de formando
jerarquías de clases. Las clases pueden tener
superclases y subclases. También existe la
posibilidad que una clase herede da varias
superclases. (Moreno, 2013, p.41)
Ejemplo:
- La clase pájaro tiene superclase animal
- La clase pájaro tiene las subclases loro y
canario.
24. POLIMORFISMO
Permite crear varias formas del mismo
método, de tal manera que un mismo
método ofrezca comportamientos
diferentes. (Moreno, 2013, p.41)
Capacidad que tienen los objetos de una
clase de responder al mismo mensaje o
evento en función de los parámetros
utilizados durante su invocación.
27. Públicas (public)
Las clases declaradas
como públicas son
accesibles desde
cualquier otra clase,
es decir cualquier otra
clase puede crear
objetos de esta clase.
Privadas (private)
Sólo se puede acceder
al elemento desde
métodos de la clase, o
sólo puede invocarse
el método desde otro
método de la clase.
Protegidos (protected):
Este es una
combinación de los
accesos que
proporcionan los
modificadores public y
private, protected
proporciona acceso
público para las clases
derivadas y acceso
privado (prohibido)
para el resto de clases.
Sin modificador
Se puede acceder al
elemento desde
cualquier clase del
paquete donde se
define la clase
29. El método constructor de una clase
• El constructor es un método especial de una clase. El objetivo fundamental
del constructor es inicializar los atributos del objeto que creamos.
• Características
• El constructor es el primer método que se ejecuta cuando se crea un
objeto.
• El constructor se llama automáticamente cuando instanciamos el objeto.
• Luego de que se ejecuta el constructor no puede ser llamado
nuevamente.
• Un constructor no puede retornar dato.
• Un constructor puede recibir parámetros que se utilizan normalmente
para inicializar atributos. El constructor es un método opcional, no es
obligación colocarlo y depende del diseño de la clase y la tarea que se
quiera realizar.
30. Método set
•(establecer, colocar) es
un método que se utiliza
para asignarle valores a
los atributos de la clase
con el modificador de
acceso privado.
Método get
•El método get (obtener)
es un método que se
utiliza para obtener
valores los atributos de
la clase con el
modificador de acceso
privado
32. Es un tipo de diagrama estático que
describe la estructura de un sistema
mostrando sus clases, atributos y las
relaciones entre ellos. Los diagramas de
clases son utilizados durante el proceso
de análisis y diseño de los sistemas,
donde se crea el diseño conceptual de la
información que se manejará en el
sistema, y los componentes que se
encargaran del funcionamiento y la
relación entre uno y otro
34. Tipo de Datos Longitud Descripción
BINARY 1 byte Para consultas sobre tabla adjunta de productos de bases de datos que definen un tipo
de datos Binario.
BIT 1 byte Valores Si/No ó True/False
BYTE 1 byte Un valor entero entre 0 y 255.
COUNTER 4 bytes Un número incrementado automáticamente (de tipo Long)
CURRENCY 8 bytes Un entero escalable entre 922.337.203.685.477,5808 y 922.337.203.685.477,5807.
DATETIME 8 bytes Un valor de fecha u hora entre los años 100 y 9999.
SINGLE 4 bytes Un valor en punto flotante de precisión simple con un rango de - 3.402823*1038 a -
1.401298*10-45 para valores negativos, 1.401298*10- 45 a 3.402823*1038 para valores
positivos, y 0.
DOUBLE 8 bytes Un valor en punto flotante de doble precisión con un rango de - 1.79769313486232*10308
a -4.94065645841247*10-324 para valores negativos, 4.94065645841247*10-324 a
1.79769313486232*10308 para valores positivos, y 0.
SHORT 2 bytes Un entero corto entre -32,768 y 32,767.
LONG 4 bytes Un entero largo entre -2,147,483,648 y 2,147,483,647.
LONGTEXT 1 byte por carácter De cero a un máximo de 1.2 gigabytes.
LONGBINARY Según se necesite De cero 1 gigabyte. Utilizado para objetos OLE.
TEXT 1 byte por carácter De cero a 255 caracteres.
35. Estructuras básicas de control
Permiten modificar el flujo de ejecución de las instrucciones de un programa
36. ESTRUCTURA
DE
SELECCIÓN
ESTRUCTURAS IF
• if (expresión) sentencia; else sentencia;
• Se utiliza para incluir en el programa un
bloque de sentencias que sólo deben
ejecutarse bajo determinadas
condiciones, y si no se cumplen están
condiciones deben ser ignoradas.
SWITCH
• Compara sucesivamente el valor de una
expresión con una lista de constantes
enteras o de caracteres. Cuando se
encuentra una correspondencia, se
ejecuta las sentencias asociadas con la
constante.
• Switch (expresión){
• Case valor1: sentencias1; break;
• Case valor2: sentencias1; break;
• [default: sentenciasdef;]}
37. ESTRUCTURA
DE
REPETICIÓN
BUCLE WHILE
•Se utiliza cuando se tiene que ejecutar un
grupo de sentencias un número
determinado de veces.
•While(boolexp){
•Sentencia;
•}
BUCLE DO WHILE
• La comprobación se hace al final del bucle, con lo
cual siempre se ejecutarán las sentencias al menos
una vez.
• Do{
• Sentencias;
• While(expresión)
BUCLE FOR
• Se utiliza cuando se necesita ejecutar una serie de
sentencias un numero fijo y conocido de veces.
• For(inicializacionM boolexp;incremento){
• Sentencias;
• }