Introducción a la POO

Introducción a la POO JUAN CARLOS CONDE RAMÍREZ INTRODUCTION TO PROGRAMMING La Tecnología Orientada a Objetos •Se ha dicho que la Tecnología Orienta

5 downloads 91 Views 2MB Size

Recommend Stories


POO - Programación Orientada a Objetos
Última modificación: 08-03-2016 230086 - POO - Programación Orientada a Objetos Unidad responsable: 230 - ETSETB - Escuela Técnica Superior de Ingen

UNIDAD I: LA POO Y EL LENGUAJE DE PROGRAMACION JAVA
UNIDAD I: LA POO Y EL LENGUAJE DE PROGRAMACION JAVA 1.1 Introducción a la POO. 1.1.1. Que es programación orientada a objetos (POO). 1.1.2. Historia d

Fernando Poo 5 Madrid (Metro Delicias o Embajadores)
www.academianuevofuturo.com914744569 C/ Fernando Poo 5 Madrid (Metro Delicias o Embajadores). Junio 2013-2014 OPCION A Problema 1: a) Z=3 = Z=18 = =

Fernando Poo 5 Madrid (Metro Delicias o Embajadores)
www.academianuevofuturo.com 914744569 C/ Fernando Poo 5 Madrid (Metro Delicias o Embajadores). SELECTIVIDAD JUNIO 2011 HISTORIA DEL ARTE RESUELTO OPC

Fernando Poo 5 Madrid (Metro Delicias o Embajadores)
www.academianuevofuturo.com 914744569 C/ Fernando Poo 5 Madrid (Metro Delicias o Embajadores). SELECTIVIDAD SEPTIEMBRE 2014 HISTORIA DEL ARTE RESUELT

Fernando Poo 5 Madrid (Metro Delicias o Embajadores)
www.academianuevofuturo.com 914744569 C/ Fernando Poo 5 Madrid (Metro Delicias o Embajadores). SELECTIVIDAD SEPTIEMBRE 2011 HISTORIA DEL ARTE RESUELT

Fernando Poo 5 Madrid (Metro Delicias o Embajadores)
www.academianuevofuturo.com 914744569 C/ Fernando Poo 5 Madrid (Metro Delicias o Embajadores). UNIVERSIDAD COMPLUTENSE DE MADRID PRUEBA DE ACCESO A L

Story Transcript

Introducción a la POO JUAN CARLOS CONDE RAMÍREZ INTRODUCTION TO PROGRAMMING

La Tecnología Orientada a Objetos •Se ha dicho que la Tecnología Orientada a Objetos es una metodología, un paradigma, una tecnología de empaquetamiento, un método de análisis y diseño, y hasta un nuevo lenguaje para datos abstractos. •Planteada como una herramienta para construir modelos funcionales de Sistemas Físicos complejos que pudieran contener varios miles de componentes.

FCC-BUAP

2

Objetivo del curso •Conocer el ambiente de trabajo utilizando los conceptos de la Programación Orientada a Objetos •Familiarizarse con los conceptos de Clase y Objetos. •Aplicar la POO en el desarrollo de aplicaciones.

FCC-BUAP

3

Situación actual •La tecnología orientada a objetos es ya una realidad, sinónimo de calidad y robustez.

•Su impacto aparece en todos los ámbitos del quehacer informático. •Las empresas desarrolladoras de software no solo están creando nuevos productos Orientados a Objetos, están reestructurando sus productos ya existentes, usando Lenguajes Orientados a Objetos. •Obteniendo como resultado flexibilidad, modularidad y reusabilidad, en un esfuerzo por enfrentar la dinámica de cambio y la competencia comercial en tiempos de mercados globalizados.

FCC-BUAP

4

¿Cómo hemos llegado hasta aquí? •Programación modular: invención de la subrutina a principios de los años 50’s •Programación Estructurada: (60’s) descomposición funcional, un programa se descompone en partes componentes, en sub-partes componentes y así sucesivamente.

•Ingeniería de Software Asistida por Computadora (CASE): Automatización de la programación a partir de diagramas. •Lenguajes de Cuarta Generación (4GL’s): conjunto de herramientas para la creación de aplicaciones, incluyendo formas, reportes, etc.

FCC-BUAP

5

Opciones disponibles •Los esfuerzos para mejorar el desarrollo del software, se han enfocado hasta ahora en la modularización de los procedimientos, separando el otro ingrediente de la ecuación de Niklaus Wirth

Algoritmos + Estructuras de Datos = Programas

es decir, la colección de información sobre la que operan los procedimientos.

FCC-BUAP

6

Los Objetos •El concepto de Objetos surgió de la necesidad de modelar los objetos del mundo real en simulaciones por computadora. •Un objeto se define, entonces, como una unidad de software que contiene una colección de datos y procedimientos interrelacionados y que es capaz de recibir mensajes del exterior. •Los datos definen el estado del Objeto en cualquier momento y los procedimientos que definen el comportamiento de un Objeto.

FCC-BUAP

7

Clases •Una Clase es un tipo definido por el usuario, ya que generaliza el concepto de Estructura y lo reemplaza con ventaja. •Una Clase es un prototipo que define los métodos y datos que serán incluidos en un tipo de objeto particular, así que los objetos son instancias de las clases.

FCC-BUAP

8

Los lenguajes POO •Simula-67 (intento académico prehistórico).

•Los lenguajes Orientados a Objetos más conocidos comercialmente: ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦

Java C++ C# Objective-C Phyton Perl PHP JavaScript

◦ ◦ ◦ ◦ ◦ ◦

Visual Basic Visual Fox Pro Object Pascal Ada Lisp Etc.

FCC-BUAP

9

Objeto Computacional Def. Representación en memoria de una abstracción del mundo real, un ente encapsulado que contiene Datos y Métodos, y que es capaz de recibir mensajes del exterior.

FCC-BUAP

10

Mensajes •La forma en que los Objetos interactúan entre si, es enviando mensajes pidiendo que se active (ejecute) un método específico. •Un mensaje consiste simplemente del nombre del Objeto a quien va dirigido, seguido del nombre del Método que el receptor sabe como ejecutar (usar parámetros en caso de ser necesario).

FCC-BUAP

11

Conceptos Relacionados •El ESTADO de un objeto acompaña todas las propiedades (generalmente estáticas) además de sus valores actuales (generalmente dinámicos) de cada una de esas propiedades. •La CONDUCTA es como un objeto actúa y reacciona, en términos de sus cambios de estado y paso de mensajes. •La IDENTIDAD es la propiedad de un objeto que lo distingue de los otros objetos

FCC-BUAP

12

Abstracción •Una abstracción denota las características esenciales de un objeto para distinguirlo de otro tipo de objetos y así proveer límites conceptuales bien definidos, relativos a la perspectiva del observador.

FCC-BUAP

13

Tipo •El tipo es el reforzamiento de la clase de un objeto, semejante a los objetos de diferentes tipos que no deberían ser intercambiados, o a lo más, deberían ser intercambiados de modo muy restringido.

FCC-BUAP

14

Encapsulamiento •Mecanismo por medio del cual, un objeto esconde sus datos y métodos al mundo exterior. El encapsulamiento permite proteger los datos de transformaciones no deseadas, y sólo bajo autorización del propio objeto. •Encapsulación es el proceso de departamentalizar los elementos de una abstracción que constituye su estructura y conducta; sirve para separar la interfaz de una abstracción de su implementación.

FCC-BUAP

15

Modularidad •Es la propiedad de un sistema que ha sido descompuesto en un conjunto de módulos altamente cohesivos y mínimamente acoplados

FCC-BUAP

16

Jerarquía •La jerarquía es una clasificación u ordenamiento de abstracciones a) b)

Herencia Simple y Múltiple (“es un”) Agregación (“parte de”)

FCC-BUAP

17

Herencia •Es un mecanismo por el cual, una clase de objetos puede expresarse como un caso especial de un clase más general, es decir, incluye automáticamente toda la definición de datos y métodos de la clase general.

“Subclases” y “Superclases”

FCC-BUAP

18

Herencia • Es el proceso por medio del cual, un objeto puede adquirir las propiedades de otro objeto. • La importancia de la herencia se basa en que constituye un mecanismo que soporta la clasificación. • La herencia puede ser simple o múltiple

FCC-BUAP

19

Polimorfismo •Es la posibilidad de que un nombre (identificador), pueda ser usado con diferentes propósitos, aunque relacionados semánticamente (interface y múltiples métodos). ◦

Sobrecarga de Operadores



Sobrecarga de Funciones



Sobrecarga de Constructores



Polimorfismo de Herencia



Funciones Virtuales

FCC-BUAP

20

Concurrencia •La Concurrencia permite a distintos objetos actuar al mismo tiempo.

FCC-BUAP

21

Persistencia •La persistencia es una propiedad de un objeto a través de la cual, su existencia trasciende al tiempo y/o espacio.

•Por ejemplo: ◦ ◦

El objeto continua existiendo después de que su creador deja de existir y/o espacio La locación de un objeto se mueve de un espacio de ubicación del que fue creado.

FCC-BUAP

22

Preliminares •Todo programa en lenguaje C++ debe tener la siguiente extensión: file.c, file.cc

// en UNIX

file.cpp

// en Windows/ MS-DOS

•Comentarios en C++ /* Este es un comentario */ /* Es también es un comentario multilíneas

*/

// comentario unilineal

FCC-BUAP

23

Programa principal •Todos los programas deben tener un main(): ◦ main() es la función llamada por el Sistema Operativo. ◦ main() regresa 0 y significa que termino con éxito. ◦ Las llaves { } denotan el cuerpo del programa. ◦ Toda declaración termina con un punto y coma (“;”)

FCC-BUAP

24

Un primer programa #include

// librería de encabezado

int main()

// función principal

{

// inicio del cuerpo del programa

float a, b, c;

// declaración de variables reales

cin >> a >> b;

// entrada de datos

c = a + b;

// suma

cout

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.