Professional Documents
Culture Documents
TEMA 8:
PROGRAMACIN ORIENTADA A OBJETOS.
OBJETOS.
CLASES.
HERENCIA.
POLIMORFISMO.
LENGUAJES.
1 de 11
F.PR.
2 de 11
F.PR.
TEMA 8
Programacin orientada a objetos.
Objetos. Clases. Herencia. Polimorfismo. Lenguajes
1- Programacin orientada a objetos.
1.1 definicin
Esta programacin se basa en la programacin estructurada a lo
que le aade el concepto de objeto. Un objeto es un conjunto de
datos junto a los funciones para manejar esos datos.
1.2 Evolucin histrica
a) En Una primera etapa se programaba a bajo nivel, con
lenguaje maquina y ensamblador.
b) Surgen los lenguajes estructurados y la programacin modular.
Se crean lenguajes de alto nivel.
c) Surgen los conceptos de abstraccin de datos y de
encapsulamiento.
d) Surgen los primeros lenguajes orientados a objetos, como
smaltalk.
1.3 Elementos y caractersticas principales.
a) El programador crea tantas clasificaciones como necesite
b) A partir de las clases se crean objetos, que consisten en datos
unidos a las funciones para manejarlos.
c) Entre las clases se pueden transmitir caractersticas usando la
herencia.
1.4 Ventajas de la P.O.O.
- Proteccin de la informacin: los datos que forman los objetos
estn protegidos y no puede acceder cualquiera a ellos.
- Rpido desarrollos. Se puede llamar a clases que se encuentran
en libreras y de este modo no hay que volver a escribir su
cdigo.
- Fcil mantenimiento: solo hay que modificar la clase que me
interese y el resto de clases no se ven afectadas, o bien crean
clases nuevas.
3 de 11
F.PR.
2- Objetos
2.1 Definicin
Consisten en un conjunto de datos (variables,) junto con un
conjunto de funciones que manejan solo a esos datos. Los objetos
son entes dinmicos que solo existen en la memoria del ordenador
mientras el programa se est ejecutando.
2.2 Estructura
Funciones
Procedimientos
Mtodos
Interfaz
DATOS
(VARIABLES,
ETC)
PROPIEDADES
CAMPOS
estado
2.3 Propiedades
- Encapsulacin de informacin: Consiste en agrupas datos y las
funciones que manejan esos datos bajo un mismo nombre y
que solo accedan a los datos a aquellos a los que el
programador se lo permita.
- Polimorfismo: Consiste en utilizar el mismo nombre de
funcin o procedimiento para hacer tareas diferentes. Cuando
esta caracterstica se aplica a operadores se llama sobre carga
de operadores.
- Herencia: Esta se aplica solo a clases y consiste en crear
nuevas clases utilizando caractersticas de otras clases que ya
existen.
- Ligadura dinmica: Consiste en que hasta el tiempo de
ejecucin no se asocia la llamada a la funcin con el cdigo
que se va a ejecutar.
4 de 11
F.PR.
2.4 Encapsulacin
Encapsular consiste en agrupar bajo un mismo nombre datos junto a
sus mtodos.
2.5 Envo de mensajes
Un mensaje es la manera de pedir a un objeto que ejecute uno de sus
mtodos.
Objetos accin < objeto>
Aclaracin de objeto entre <> : <objetos como parmetro>
Ejemplo v1.CompareTo(v2)
3 + 4
El objeto al que se le manda el mensaje ejecuta la accin
correspondiente y como resultado obtiene un valor. Comprueba si el
que le a mandado el mensaje tiene permiso para acceder al valor
correspondiente, si es as se lo manda y si no se as le enva un
mensaje de error.
5 de 11
F.PR.
3 Clases
3.1 Definicin
Una clase es un molde o plantilla que nos sirve para crear las
instrucciones, que son los objetos.
Las clases equivaldran a los tipos de datos y los objetos a
variables pertenecientes a esos tipos.
La clase est formada por cdigo escrito en el programa
fuente. Los objetos son entes dinmicos que solo existen
durante la ejecucin del programa.
3.2 Principios bsicos
a) las clases son plantillas a partir de los que puedo crear
tantos objetos como desee.
b) Todos los objetos de la misma clase tienen los mismos
mtodos y variables, pero con valores diferentes.
c) Las clases no son utilidades directamente sino que son solo
los moldes para construir los objetos.
3.3 Caractersticas
a) - Identificador
b) - Datos (variables, ctes, etc) ! propiedades, campos
- Funciones, procedimientos! mtodos
c) - Niveles de acceso
Private: a estos elementos solo acceden los miembros que
pertenecen a su misma clase.
Protected: a estos elementos acceden, adems de los de su
misma clase, los de las clases que heredan de l.
Public: a estos elementos se pueden acceder desde
cualquier parte.
6 de 11
F.PR.
4 Polimorfismo
Consiste en un mismo nombre de funcin que lo utilizamos para
funciones que hacen cosas diferentes, si se le aplican a los
operadores se les llama sobrecarga de operadores.
Ejemplo:
Int funcion (int a)
{
- - - -- }
int funcion (string a)
{
-- - --- - - }
int funcion ()
{
---- -- - - }
Ejemplo 2:
+ ! 2+3 = 5
2.0 + 3.0 = 5.0
buenos + dias = buenos dias
7 de 11
F.PR.
5 La herencia
5.1 Definicin
La herencia consiste en crear una nueva clase cogiendo
caractersticas de otras clases que ya existen.
5.2 Tipos de Herencia
Hay 3 formas de crear nuevas clase a partir de otras existentes:
- Imitacin: Consiste en crear nuevas clases a partir de
otras existentes.
- Refinamiento: Consiste en a partir de de una clase
padre coger de esta los datos que me interesen y
centrndome en las caractersticas de la nueva clase.
- Combinacin: Consiste en coger cosas de otras clases,
las mezclo y con todos ellas formo una nueva clase.
8 de 11
F.PR.
9 de 11
F.PR.
10 de 11
En este caso lo
resuelve al llamar
a la funcin; como
tiene iguales
mtodos la llama
por el nombre de
la clase
(que ha tenido que
crear un objeto de
la clase xq no
puede llamar
directamente a la
clase
F.PR.
7 Eventos
Es un hecho que ocurre y el sistema es capaz de reconocerlo. Si el
programador ha puesto cdigo a ese evento, entonces cuando ocurra
el evento ese cdigo se ejecutara, si no ocurre un evento ese cdigo
no se ejecuta.
8 Lenguajes
8.1 Lenguajes puros orientados a objetos
Vienen de un lenguaje anterior llamado Simula y a partir de el
surgieron otros que si se utilizan como Smalltalk, Eiffel, Java.
Smalltalk fue el primer lenguaje totalmente orientado a objetos
Eiffel es totalmente orientado a objetos y tienes muchas cosas
compatibles con C.
Java es muy utilizado por que es un lenguaje que con l,
adems de todo lo que hacen los dems, hace apples para
ejecutarlos en paginas web.
8.2 Lenguajes derivados de otros lenguajes
En principio no eran orientados a objetos pero se le acoplaron
cosas para que fueran orientados a objetos.
Ada, Mdula, C++.
Caractersticas de c++ y c#
1) Para crear objetos utilizan constructor y destructor.
2) Las clases tienen que estar encapsuladas y tienen niveles de
acceso.
3) Utilizan el polimorfismo y sobrecarga de operadores.
4) Ligadura dinmica.
5) Herencia simple para C# y mltiple para C++.
6) Utilizacin de excepciones para controlar los errores.
11 de 11