Programación Orientada a Objetos

Slides:



Advertisements
Presentaciones similares
Conceptos preliminares
Advertisements

Secuencia finita, ordenada y lógica de instrucciones (ó pasos), los cuales permiten realizar una ó varias tareas.
TEMA 3 Parte A Lenguajes de programación. Criterios de clasificación según su nivel de abstracción según la forma de ejecución según el paradigma de programación.
MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
Lenguajes de programación
INSTITUTO TECNOLOGICO DE MINATITLAN
Introducción a la Orientación a Objetos
Introducción a la Programación
Programación Orientada a Objetos (P.O.O.)
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Programación 1 Introducción
PROGRAMACION ORIENTADA
Programas Son una serie o secuencia de instrucciones entendibles por los ordenadores que permiten la realización de las acciones o tareas para las que.
UNIDAD I. INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA.
POO (Programación Orientada a Objetos)
METODOLOGIA DE LA PROGRAMACION
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
UNIVERSIDAD TECNOLÓGICA DE HERMOSILLO T.S.U. EN T.I.C., Área: Sistemas Informáticos Ing. José Padilla Duarte y estudiantes de Sistemas Informáticos Hermosillo,
ALGORITMOS, LENGUAJES Y TECNICAS DE PROGRAMACION
M.C. Meliza Contreras González
Inteligencia artificial
 Fue en el año 1945 cuando el matemático Jhon Von Neumann, fascinado por las posibilidades del ENIAC, demostró que una computadora podía tener una estructura.
Un programa no es nada mas que una serie de instrucciones dadas al ordenador en un lenguaje entendido por el, para decirle exactamente lo que queremos.
 Un programa informático es un conjunto de instrucciones que una vez ejecutadas realizarán una o varias tareas en una computadora. Sin programas, estas.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
PROGRAMACIÓNPROGRAMACIÓN FCC-BUAP. 1. INTRODUCCIÓN A LA PROGRAMACIÓN.
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
Prof. Gabriel Matonte Programación I Prof. Gabriel Matonte
 Un LENGUAJE DE PROGRAMACION es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas al cabo por maquinas como las computadoras.
Alumno: Nelson Domínguez, C.I.: Materia: Intr. A los Lenguajes de Programación Sección: SAIA Profesora: Olgamar Garrido CABUDARE, NOVIEMBRE 2010.
INSTITUTO TECNOLOGICO DE MINATITLAN ASIGNATURA: FUNDAMENTOS DE PROGRAMACION DOCENTE: JOSE ANGEL TOLEDO ALVAREZ ALUMNA: ALEJANDRA OSORIO ARVISU SEMESTRE:
¿Qué son Los Lenguajes de Programación?
PROGRAMACION OOP Ing. Miguel Jaime IBM ACE Certificación.
LENGUAJES DE PROGRAMACION
Lenguajes de programación
Programación Orientada a Objetos (P.O.O.)
Facultad de Ingeniería
PROGRAMAS INFORMATICOS
COLEGIO DE BACHILLERES PLANTEL 13 XOCHIMILCO-TEPEPAN MATERIA:TIC EQUIPO:21 PRESENTACION: BASE DE DATOS ALUMNAS: Adán Millán Sánchez.
Programación Orientada a Objeto
PROGRAMACION ORIENTADA A OBJETOS
Metodología de la programación
ESCUELA NORMAL “PROF. DARÍO RODRÍGUEZ CRUZ” Licenciatura en educación preescolar Alumnas: *Mayra * Monserrat * Idalia *Cinthia Curso: las TIC en la educación.
Prof. Flor Narciso Departamento de Computación
LENGUAJES DE PROGRAMACIÓN 8.1 BREVE HISTORIA. Traducción-Ejecución Bajo nivel o 1º Nivel Se dice que el código binario es de "bajo nivel" o "primer nivel"
Lenguajes de Programación
Lenguaje programación
III. DESARROLLO DE SISTEMAS.. Podemos definir el desarrollo de sistemas informáticos como el proceso mediante el cual el conocimiento humano y el uso.
POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.
Ing. Esp. Ricardo Cujar. Programación Orientada a Objetos  Modelo de desarrollo de software.  Modo de pensar del hombre y no de la máquina.  Abstracción.
Programación orientada a objetos
Unidad TemáticaI. Conceptos Básicos Horas Prácticas10 Horas Teóricas8 Horas Totales18 Objetivo El alumno determinará las entradas, procesos y salidas.
Es un tipo especial de software que nos permite *Crear *Desarrollar *Programar otras aplicaciones. Haciendo uso de sus conocimientos lógicos y lenguajes.
Compilador Es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa.
Programación Java y Desarrollo de Aplicaciones Modulo 1 Arquitectura de ordenadores Tema 3 Programas.
 Panorama General Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
Programación Orientada a Objetos: CLASES Y OBJETOS
La Programación Orientado a Objetos
Diagrama de Clases.
Harware Software Yuneidy moreno 7-2 Tecnología i. E. devora Arango.
Fundamentos de Programación Unidad I Conceptos Básicos.
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Prof. Manuel B. Sánchez. Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno.
2015-BM5A. Introducción Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos.
:: Prof. Yeniffer Peña Introducción a JAVA Presentación Programación I.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
PROGRAMACION ORIENTADA A OBJETOS
Transcripción de la presentación:

Programación Orientada a Objetos

Introducción e Historia La finalidad de un lenguaje de programación es "decirle" al ordenador qué es lo que tiene que hacer paso a paso. Esta definición da que pensar: no parecen muy listos los ordenadores. Debido a esto es muy frecuente la expresión Los ordenadores son tontos. Desgraciadamente, el ordenador y las personas hablan idiomas diferentes: el ordenador entiende unas determinadas secuencias de ceros y unos, llamado lenguaje o código máquina. El programador debe darle instrucciones en ese formato Además ese código máquina no es el mismo para todos los ordenadores lo que se traduce en que los programas realizados para un tipo de máquina no sirven para el resto.

Combinando correctamente los símbolos será capaz de crear programas ALGORITMO Es el conjunto de pasos necesarios para resolver un problema. El algoritmo es por tanto la "receta" que señala qué se debe hacer en cada momento y bajo que condiciones hacerlo PROGRAMA Conjunto ordenado de instrucciones expresadas en un lenguaje de programación que implementan un algoritmo. LENGUAJE DE PROGRAMACIÓN Al igual que un lenguaje natural, estaría constituido por: Un conjunto de símbolos: letras, símbolos de puntuación, etc. Léxico del lenguaje. Una serie de normas para la correcta combinación del anterior conjunto. Gramática y semántica del lenguaje. Combinando correctamente los símbolos será capaz de crear programas

Breve Historia En la historia de los lenguajes de programación podemos destacar también el hecho de que se han derivado varios tipos de lenguajes a partir de los primeros: 1843: Ada Lovelace desarrolla el primer lenguaje de programación cuando escribió un algoritmo para la máquina analítica de Charles Babbage. 1957 – Fortran: (“The IBM Mathematical Formula Translating System”): Un lenguaje de programación de alto nivel de propósito general. Para cálculo numérico y científico (como alternativa al lenguaje ensamblador). Es el lenguaje de programación más antiguo que se utiliza hoy en día. 1958 – Lisp: (“List Processor”) Utilizado para la notación matemática y temas de ciencias de la computación. 1959 – Cobol: (“Common Business-Oriented Language) Usado principalmente para la informática empresarial. Es el primer lenguaje de programación que se demandan por el Departamento de Defensa de EE.UU.. 1964 – BASIC: (“Beginner’s All-purpose Symbolic Instruction Code”) Diseñado para la simplicidad. Su popularidad explotó a mediados de los años 70 con los computadores personales. 1970 – Pascal: (En honor al matemático/físico francés Blaise Pascal) Utilizado para la enseñanza de la programación estructurada y estructuración de datos.

1972 – Lenguaje C: (Basado en un lenguaje anterior llamado “B”) Creado para sistemas Unix. Muchos de lenguajes de programación más populares del mundo son derivados de el, entre ellos tenemos C#, Java, JavaScript, Perl, PHP y Python. 1980 – Ada: (En honor a Ada Lovelace): Es derivado del Pascal. Contratado por el Departamento de Defensa de los EE.UU. en 1977 para el desarrollo de sistemas de software grandes. 1983 – C++: (“C con clases”; ++ es el operador de incremento en “C”) Es una extensión de lenguaje C, con mejoras tales como clases, funciones virtuales y plantillas. 1983 – Objective-C: (Extensión de “C” orientada a objetos) Ampliación de C, se adiciona la funcionalidad de paso de mensajes basado en el lenguaje Smalltalk. 1987 – Perl: Creado para el procesamiento de informes en sistemas Unix. Hoy en día es conocido por su gran potencia y versatilidad. 1991 – Python: Creado para apoyar una variedad de estilos de programación y hacerlo divertido de usar. 1993 – Ruby: Una lenguaje influenciado por Perl, Ada, Lisp, Smalltalk, etc. Diseñado para la programación productiva y agradable. 1995 – Java: Hecho para un proyecto de televisión interactiva. Funciona multiplataforma. Es el segundo lenguaje más popular (detrás de lenguaje C). 1995 – PHP: (“Personal Home Page”) Usado para la creación de páginas web dinámicas. 1995 – JavaScript: Creado para ampliar la funcionalidad de las páginas web, permite utilizar formularios de presentación/validación, interactividad, animaciones, seguimiento de la actividad del usuario, etc

Clasificación Según su proximidad al lenguaje máquina: Clasificaciones de los lenguajes de programación en función de diferentes criterios: Según su proximidad al lenguaje máquina: Lenguajes de bajo nivel: Son distintos para cada procesador: cada tipo de ordenador posee el suyo. Controlan directamente los recursos hardware de la máquina. Como ejemplos tenemos el lenguaje máquina o el lenguaje ensamblador (Assembly). Lenguajes de medio nivel: Tal y como refleja su nombre este grupo alberga aquellos lenguajes que tienen algunas características de los de bajo nivel y otras de los de alto nivel. El ejemplo más representativo es el lenguaje C. Lenguajes de alto nivel: Son independientes del procesador. Son más sencillos y legibles pero generan un código mucho menos eficiente (velocidad y tamaño) que los de bajo nivel. Para poder ser ejecutados necesitan un procesador que bien trata una vez el código y genera un programa ejecutable por un procesador (compiladores) o bien lo interpretan línea por línea cada vez que son ejecutados (intérpretes). Ejemplos: Pascal, php, Java, etc.

Según el propósito del lenguaje: Lenguajes de propósito general: como el Pascal, el C o incluso el Java aunque este último se relaciona mucho con las aplicaciones empresariales. Lenguajes de propósito específico: php orientado al desarrollo de aplicaciones Web, LISP orientado a la inteligencia artificial, etc. Según su orientación: Lenguajes orientados al procedimiento: son lenguajes imperativos como Pascal en los que se describen los pasos que han de darse para resolver un determinado problema. Se explica como resolver un problema. Lenguajes orientados al problema: como por ejemplo Prolog. En estos lenguajes lo que se describe es el problema en sí; son de tipo declarativo. Lenguajes orientados a objeto: son lenguajes en los que se modela la realidad centrándose en la elementos que la componen.

Entornos de programación Un entorno de programación es un programa o conjunto de programas que engloban todas las tareas necesarias para el desarrollo de un programa o aplicación. Estas tareas son básicamente las siguientes: Edición del programa. Compilación y enlazado. Ejecución. Depuración. Editor del programa El primer elemento necesario para el desarrollo de un programa es un editor de texto. Un editor es un programa que nos permite escribir (editar) las instrucciones del programa y posteriormente guardar el programa en un fichero en un soporte de almacenamiento.

Compilador Enlazadores Depuradores Es un programa cuyo cometido es realizar la conversión de un programa escrito en un lenguaje de programación a su correspondiente equivalente en lenguaje máquina. El resultado que devuelve un compilador es un programa que ya puede ser ejecutado por el ordenador destino sin la necesidad de que el compilador esté presente. Por ejemplo, el lenguaje Pascal o el lenguaje C son lenguajes de programación que necesitan ser compilados. Cuando la conversión se realiza entre el lenguaje ensamblador (Assembly) y el código máquina, el compilador recibe el nombre específico de Ensamblador (Assembler). Enlazadores Por simplificación y para facilitar la comprensión de los conceptos anteriores se ha señalado que los compiladores y los ensambladores (caso particular de compilador) generan código máquina que puede ser ejecutado por el ordenador. Sin embargo esto no es totalmente cierto ya que hay una etapa de enlazado que debe ser realizada por otro programa denominado enlazador (linker). Depuradores Los depuradores (debuggers) son capaces de ejecutar el programa paso a paso incluyendo además un conjunto de facilidades que permiten observar el valor de las variables y estructuras de datos permitiendo así una mejor localización de errores no evidentes

Programación OO.  Define una serie de conceptos y técnicas de programación para representar acciones o cosas de la vida real basada en objetos, a diferencia de otras formas de programación como por ejemplo la estructurada, con la POO trabajamos de manera distinta vinculando diferentes conceptos tales como clases, objetos, métodos, propiedades, estados, herencia, encapsulación entre otros, generando cada vez interrelaciones en nuestro desarrollo en pro del funcionamiento del sistema principal, definiendo el programa como un conjunto de estos objetos relacionados entre si.

Conceptos Clases Las clases son uno de los principales componentes de un lenguaje de programación, pues en ellas ocurren todos los procesos lógicos requeridos para un sistema, en si podemos definirlas como estructuras que representan objetos del mundo real, tomando como objetos a personas, lugares o cosas, en general las clases poseen propiedades, comportamientos y relaciones con otras clases del sistema Nombre : Contiene el Nombre de la Clase. Atributos : Representan las propiedades que caracterizan la clase. Métodos : Representan el comportamiento u operaciones, la forma como interactúa la clase con su entorno.

Objetos Los objetos representan una entidad concreta o abstracta del mundo real, en programación básicamente se le conoce como la instancia de una clase en si es lo que da el sentido a estas. Al igual que las clases se componen de tres partes fundamentales: Estado: Representa los atributos o características con valores concretos del objeto. Comportamiento : Se define por los métodos u operaciones que se pueden realizar con el. Identidad : Es la propiedad única que representa al objeto y lo diferencia del resto. En la imagen, los moldes representan las clases, mientras que las galletas obtenidas de estos moldes representan los objetos instancias de estas clases, por ejemplo atributos del objeto galleta podría ser sabor, color, tamaño etc.

Atributo Son los datos o variables que caracterizan al objeto y cuyos valores en un momento dado indican su estado. Un atributo es una característica de un objeto. Mediante los atributos se define información oculta dentro de un objeto, la cual es manipulada solamente por los métodos definidos sobre dicho objeto Un atributo consta de un nombre y un valor. Cada atributo está asociado a un tipo de dato, que puede ser simple (entero, real, lógico, carácter, string) o estructurado (arreglo, registro, archivo, lista, etc.) Los modos de acceso son: Público: Atributos (o Métodos) que son accesibles fuera de la clase. Pueden ser llamados por cualquier clase, aun si no está relacionada con ella. Este modo de acceso también se puede representar con el símbolo +. Privado: Atributos (o Métodos) que sólo son accesibles dentro de la implementación de la clase. También se puede representar con el símbolo –. Protegido: Atributos (o Métodos) que son accesibles para la propia clase y sus clases hijas (subclases). También se puede representar con el símbolo #.

Método Son las operaciones (acciones o funciones) que se aplican sobre los objetos y que permiten crearlos, cambiar su estado o consultar el valor de sus atributos. Los métodos constituyen la secuencia de acciones que implementan las operaciones sobre los objetos. La implementación de los métodos no es visible fuera de objeto.

El Enfoque Orientado a Objeto Se basa en cuatro principios que constituyen la base de todo desarrollo orientado a objetos. Estos principios son: la Abstracción, el Encapsulamiento, la Modularidad y la Herencia.

Abstracción La abstracción permite resaltar la parte mas representativa de algo, ignorando detalles para centrarse en lo principal.  La imagen es muy fácil de identificar, con base a ella podemos crear una clase persona, o la clase hombre, humano entre otras, pero obviamente vemos que la imagen no tiene elementos como ojos, nariz, boca, rostro en general, ni dedos, pies, manos o cuello....... pero entonces porque decimos que es una persona?.........Precisamente aquí estamos aplicando el concepto de abstracción, ya que nos fijamos en lo mas representativo de algo, en este caso vemos que se tiene una cabeza, tronco, brazos y pies, con esto es suficiente para saber que es una persona sin fijarnos en los detalles mencionados anteriormente. Las clases abstractas permiten crear métodos generales con un comportamiento común para otras clases concretas sin importar sus características ni el comportamiento que usen para dichos métodos.

Modularidad Es la propiedad que permite tener independencia entre las diferentes partes de un sistema. La modularidad consiste en dividir un programa en módulos o partes, que pueden ser compilados separadamente, pero que tienen conexiones con otros módulos. En un mismo módulo se suele colocar clases y objetos que guarden una estrecha relación. El sentido de modularidad está muy relacionado con el ocultamiento de información Herencia. La herencia en java representa lo que conocemos de herencia en el mundo real, básicamente mediante esta obtenemos las características o rasgos comunes de nuestros padres o abuelos, en java es el mismo enfoque permitiendo la creación de nuevas clases basadas en clases ya existentes, con las cuales podemos obtener las características de las clases padres, heredando campos, atributos, métodos o funcionalidades.

Se representa por 3 niveles : Encapsulamiento.   Este concepto es uno de los mas importantes en términos de seguridad dentro de nuestra aplicación, la encapsulación es la forma de proteger nuestros datos dentro del sistema, estableciendo básicamente los permisos o niveles de visibilidad o acceso de nuestros datos. Se representa por 3 niveles : Público: Se puede acceder a todos los atributos o métodos de la clase. Protegido: Se puede acceder a los atributos o métodos solo en la misma jerarquía de herencia. Privado: Solo se puede acceder a los atributos o métodos de la clase en la que se encuentran.