Subido por Miguel Garcia

CLASE 4

Anuncio
CICLO: II-2019
Miércoles 7:00 am a 9.30 am
Licenciatura En Ciencias De La Computación
MATERIA:
Programación Orientada A Objeto (POO) 1
DOCENTE: Lic. Jorge Alberto Coto Zelaya
EMAIL: [email protected]
UNIDAD II Y INTRODUCCIÓN
UNIDAD III
Conceptos de POO
Y
Lenguaje Unificado de Modelado (UML)
2
CONCEPTO DE POO:
▪ La programación orientada a objetos o POO (OOP según sus siglas en inglés)
Es un paradigma de programación que usa los objetos en sus interacciones, para diseñar
aplicaciones y programas informáticos. Está basado en varias técnicas. Además es una forma de
programar que trata de encontrar una solución a estos problemas. Introduce nuevos
conceptos,
incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y
encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad,
existe variedad de lenguajes de programacion.
3
4
CONCEPTO DE POO:
❖CLASE: Definiciones de las propiedades y comportamiento de un tipo de objeto concreto.
La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas.
Es una descripción de datos y operaciones que describen el comportamiento de cierto tipo de
elementos. Por lo tanto, para que pueda haber objetos, antes deben haberse definido las clases a las
que pertenecerán dichos objetos. No tiene sentido un objeto sin una clase, ya que el objeto tiene los
atributos de la clase a la que pertenece, y recibe mensajes correspondientes a métodos de la clase
a la que pertenece.
▪ Una clase es como un tipo de dato creado por el usuario, que posee dos categorías de miembros:
➢ Atributos (Datos)
 Estado
➢ Métodos (Algoritmos)
 Comportamiento
❖En general, es posible crear una clase a partir de cualquier objeto que esté a nuestro alrededor.
Por ejemplo:
➢ Persona
➢ Automóvil
➢ Mascota
5
❖Una clase se divide en una parte pública y en una parte privada. El nombre de la clase debe
ser único.
▪ Parte pública
Describe a qué operaciones responden los objetos de una clase (cómo se comportan los
objetos). En esta parte de la clase se declaran las cabeceras de los métodos de la clase que
podrán ser "invocados" por los objetos. Es decir, si un método se declara en la parte pública,
podrá ser "invocado" por un objeto de dicha clase, de lo contrario no podrá ser "invocado" por
un objeto. Es la parte "visible" de la clase, la interfaz de la clase.
▪ Parte privada
Describe los datos de la clase y cómo las operaciones manipulan dichos datos. Esta parte de la
clase es donde se oculta (encapsula) la información de la clase: datos e implementación de
métodos declarados o no en la parte pública de la clase. Es una parte "no visible", cada objeto
de una determinada clase tiene sus atributos (datos) y sus métodos.
6
▪ OBJETO:
Instancia de una clase. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o
funcionalidad (métodos), los mismos que consecuentemente reaccionan a eventos. Se corresponden con
los objetos reales del mundo que nos rodea, o con objetos internos del sistema (del programa). Es una instancia a
una clase.
❑ Los objetos son entidades que tratamos en nuestra vida diaria y el centro de la POO.
❑ Se pueden definir como la representación de un objeto del mundo real en un entorno de programación
❑ Es muy fácil identificar en los objetos del mundo real sus características principales, es decir las propie
dades que los hacen diferentes entre si, o las acciones que puede realizar.
❑ Es precisamente esta la labor que se debe realizar en la POO, identificar las características y acciones
de los objetos que formaran la aplicación.
7
▪ OBJETO:
Componentes de un objeto: atributos, identidad, relaciones y métodos.
Identificación de un objeto: un objeto se representa por medio de una tabla o
entidad que esté compuesta por sus atributos y funciones correspondientes.
En comparación con un lenguaje imperativo, una "variable" no es más que un
contenedor interno del atributo del objeto o de un estado interno, así como la
"función" es un procedimiento interno del método del objeto.
 Un objeto (compuesto por atributos y métodos) es la instancia de una clase.
- El señor Pérez es un objeto de la clase Persona.
 Un objeto es simplemente una colección de información relacionada con cierta funcionalidad.
 Un objeto puede ser:
- algo que tenga una manifestación o correspondencia en el mundo real (tal como un objeto
empleado),
- algo que tenga algún significado virtual (tal como una ventana en la
pantalla), o
- alguna abstracción adecuada dentro de un programa (una lista de
trabajos a realizar)
8
❖Herencia:
▪ La herencia es un mecanismo exigido a cualquier lenguaje que pretenda ser orientado a objetos.
Consideraremos la herencia como la transmisión de los métodos y atributos de una clase a otra.
Gracias a la herencia se pueden establecer jerarquías entre clases. Establecer una jerarquía es
un proceso subjetivo, que depende del programador y de los matices de apreciación de cada uno.
▪ (por ejemplo, herencia de la clase C a la clase D) es la facilidad mediante la cual la clase D hereda
en ella cada uno de los atributos y operaciones de C, como si esos atributos y operaciones
hubiesen sido definidos por la misma D. Por lo tanto, puede usar los mismos métodos y variables
publicas declaradas en C. Los componentes registrados como "privados" (private) también se
heredan, pero como no pertenecen a la clase, se mantienen escondidos al programador y sólo
pueden ser accedidos a través de otros métodos públicos. Esto es así para mantener hegemónico
el ideal de POO.
▪ La herencia nos permite definir una jerarquía en la que existirán clases padre y clases hijo,
pudiéndo ser una clase padre de otra clase, e hijo de otra clase a la vez. No deben definirse
jerarquías de herencia en la que una clase sea padre e hijo de la misma clase. Existen 2 tipos de
herencia: La herencia simple y la herencia múltiple. En la herencia simple una clase sólo puede
tener una clase padre, en la herencia múltiple, una clase puede tener más de una clase padre. Por
9
ejemplo:
10
❖METODO:
▪ Representan todas aquellas acciones que se pueden realizar sobre un
objeto de cierta clase
▪ En la implementación, estos métodos son segmentos de código en la
forma de funciones
▪ La clase Vehículo puede incluir los métodos:
➢ Encender
➢ Acelerar
➢ Virar
➢ Frenar
11
❖METODO:
Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se
desencadena tras la recepción de un "mensaje". Desde el punto de vista del
comportamiento, es lo que el objeto puede hacer. Un método puede producir un
cambio en las propiedades del objeto, o la generación de un "evento" con un nuevo
mensaje para otro objeto del sistema.
12
❖ EVENTO:
Es un suceso en el sistema (tal como una interacción del usuario con la máquina, o un mensaje enviado
por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente.
También se puede definir como evento la reacción que puede desencadenar un objeto; es decir, la
acción que genera.
▪ ATRIBUTOS: características que tiene la clase.
▪ Son los datos que caracterizan a los objetos de una clase y determinan el estado de un objeto
➢ Marca
➢ Año
➢ Color
➢ Patente, etc.
▪ PROPIEDAD O ATRIBUTO: contenedor de un tipo de datos asociados a un objeto (o a una clase de
objetos), que hace los datos visibles desde fuera del objeto y esto se define como sus características
predeterminadas, y cuyo valor puede ser alterado por la ejecución de algún método.
▪ MENSAJE: una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con
ciertos parámetros asociados al evento que lo generó.
▪ ESTADO INTERNO: es una variable que se declara privada, que puede ser únicamente accedida y
alterada por un método del objeto, y que se utiliza para indicar distintas situaciones posibles para el
objeto (o clase de objetos). No es visible al programador que maneja una instancia de la clase.
13
INVESTIGACION INDIVIDUAL
1.
2.
3.
4.
5.
6.
POLIMORFISMO
ENCAPSULAMIENTO
ABSTRACCIÓN
PRINCIPIO DE OCULTACIÓN
RECOLECCIÓN DE BASURA
MODULARIDAD
14
15
Descargar