5
7/25/2019 fb bd2 http://slidepdf.com/reader/full/fb-bd2 1/5 Conceptos básicos de Programación Orientada a Objetos: Objeto: Se trata de un ente abstracto usado en programación que permite separar los diferentes componentes de un programa, simplificando así su elaboración, depuración y posteriores mejoras. Los objetos integran, a diferencia de los métodos procedurales, tanto los procedimientos como las variables y datos referentes al objeto. A los objetos se les otorga ciertas características en la vida real. Cada parte del programa que se desea realiar es tratado como objeto, siendo así estas partes independientes las unas de las otras.Los objetos se componen de ! partes fundamentales" metodos, eventos y atributos. Métodos: Son aquellas funciones que permite efectuar el objeto y que nos rinden alg#n tipo de servicio durante el transcurso del programa. $eterminan a su ve como va a responder el objeto cuando recibe un mensaje. Eventos: Son aquellas acciones mediante las cuales el objeto reconoce que se est% interactuando con él. $e esta forma el objeto se activa y responde al evento seg#n lo programado en su código. Atributos:  Características que aplican al objeto solo en el caso en que el sea visible en pantalla por el usuario& entonces sus atributos son el aspecto que refleja, tanto en color, tama'o, posición, si est% o no (abilitado. Ejemplo de objeto: un coc(e. Se considera un coc(e un objeto, totalmente diferenciado del alquitr%n donde est% aparcado. Sus atributos son su color, marca, modelo, n#mero de matrícula, n#mero de puertas,... Sus eventos todos aquellas acciones por las cuales si el coc(e tuviera vida propia reconocería que le estamos dando un uso, como abrir la puerta, girar el volante, embragar, abrir el capot, .... Los métodos son todo aquello que nos ofrece el coc(e como (acer sonar una bocina cuando tocamos el cla)on *evento+, llevarnos por la carretera, reducir la velocidad al pisar el freno *evento+, ... Mensajes: Aunque los objetos se (an de diferenciar claramente en una aplicación, estos se (an de poder comunicar para poder trabajar en conjunto y construir así aplicaciones. sto se (ace posible a través de lo que se denomina paso de mensajes. Cuando un objeto quiere

fb bd2

Embed Size (px)

Citation preview

Page 1: fb bd2

7/25/2019 fb bd2

http://slidepdf.com/reader/full/fb-bd2 1/5

Conceptos básicos deProgramación Orientada a Objetos:

Objeto: 

Se trata de un ente abstracto usado en programación que permite separar los diferentes componentes de

un programa, simplificando así su elaboración, depuración y posteriores mejoras.

Los objetos integran, a diferencia de los métodos procedurales, tanto los procedimientos como las

variables y datos referentes al objeto.

A los objetos se les otorga ciertas características en la vida real. Cada parte del programa que se desea

realiar es tratado como objeto, siendo así estas partes independientes las unas de las otras.Los objetos

se componen de ! partes fundamentales" metodos, eventos y atributos.

Métodos: 

Son aquellas funciones que permite efectuar el objeto y que nos rinden alg#n tipo de servicio durante el

transcurso del programa.

$eterminan a su ve como va a responder el objeto cuando recibe un mensaje.

Eventos: 

Son aquellas acciones mediante las cuales el objeto reconoce que se est% interactuando con él.

$e esta forma el objeto se activa y responde al evento seg#n lo programado en su código.

Atributos: 

Características que aplican al objeto solo en el caso en que el sea visible en pantalla por el usuario&

entonces sus atributos son el aspecto que refleja, tanto en color, tama'o, posición, si est% o no

(abilitado.

Ejemplo de objeto: un coc(e.

Se considera un coc(e un objeto, totalmente diferenciado del alquitr%n donde est% aparcado.

Sus atributos son su color, marca, modelo, n#mero de matrícula, n#mero de puertas,...

Sus eventos todos aquellas acciones por las cuales si el coc(e tuviera vida propia reconocería que le

estamos dando un uso, como abrir la puerta, girar el volante, embragar, abrir el capot, ....

Los métodos son todo aquello que nos ofrece el coc(e como (acer sonar una bocina cuando tocamos el

cla)on *evento+, llevarnos por la carretera, reducir la velocidad al pisar el freno *evento+, ...

Mensajes: 

Aunque los objetos se (an de diferenciar claramente en una aplicación, estos se (an de poder

comunicar para poder trabajar en conjunto y construir así aplicaciones.

sto se (ace posible a través de lo que se denomina paso de mensajes. Cuando un objeto quiere

Page 2: fb bd2

7/25/2019 fb bd2

http://slidepdf.com/reader/full/fb-bd2 2/5

comunicarse con otro lo que (ace es enviarle un mensaje con los datos que desea transmitir.

n el simil del coc(e, al apretar el cla)on, el objeto cla)on envía un mensaje a la bocina indic%ndole

que (aga sonar cierto sonido.

La potencia de este sistema radica en que el objeto emisor no necesita saber la forma en que el objeto

receptor va a realiar la acción. Simplemente este la ejecuta y el emisor se desentiende del como& de

(ec(o ni le importa, solo tiene conocimiento de que se est% realiando.-ara que todo esto sea posible es necesario una buena programación de los eventos y de los métodos de

cada objeto.

l conjunto de mensajes a los que un objeto puede responder se denomina protocolo del objeto.

Instancia:

Se llama instancia a todo objeto que derive de alg#n otro. $e esta forma, todos los objetos son

instancias de alg#n otro, menos la clase bject que es la madre de todas.

Clases: $escripción de de objeto. Consta de una serie de métodos y datos que resumen las

características de este objeto. $efinir clases permite trabajar con código reutiliable. -uesto que desdeuna clase se puede crear una instancia y así reutiliar el código escrito para esta si tener que volver a

escribir el código para la instancia. La instancia toma el patrón de la clase padre. Sin embargo, las

variables son idependientes.

Herencia: 

/ecanismo para compartir autom%ticamente métodos y datos entre classes, subclases y objetos.

-ermite crear nuevas clases introduciendo las variaciones con respecto a su clase padre.

 Herencia simple: una subclase puede (erecar datos y métodos de una clase simple así como a'adir o

sustraer ciertos comportamientos.

 Herencia múltiple:posibilidad de adquirir métodos y datos de varias clases simult%neamente.

Encapsulación: 

$efine el comportamiento de una clase u objeto que tiene dentro de él todo tipo de métodos y datos

pero que solo es accesible mediante el paso de mensajes. y los datos a través de los métodos del

objeto0clase.

Polimorismo: 

Los objetos responden a los mensajes que se les envían. 1n mismo mensaje puede ser interpretado o

dar paso a distintas acciones seg#n que objeto es el destinatario.Con este sistema el emisor se desentiende de los detalles de la ejecución *aunque el programador (a de

saber en todo momento cuales son las consecuencias de ese mensaje+.

!iempo real durante el cual el objeto e"iste en memoria: 

Los objetos se crean a medida que estos son requeridos *en ve de todos a la ve, con la consiguiente

pérdida de memoria+ y se eliminan de la misma forma.

Persistencia: 

Page 3: fb bd2

7/25/2019 fb bd2

http://slidepdf.com/reader/full/fb-bd2 3/5

Abstracción: 

#igadura dinámica: 

$lob: 

2inary Large 2ject. tipo de dato util para almacenar grandes datos. Se suelen usar muc(o en bases de

datos .

Herencia

La herencia es un mecanismo que permite la definición de una clase a partir de la

definición de otra ya existente. La herencia permite compartir automáticamente

métodos y datos entre clases, subclases y objetos.

La herencia está fuertemente ligada a la reutilización del código en la P. !sto es, elcódigo de cualquiera de las clases puede ser utilizado sin más que crear una clase

deri"ada de ella, o bien una subclase .

#ay dos tipos de herencia$ #erencia %imple  y #erencia &'ltiple . La primera indica que se

pueden definir nue"as clases solamente a partir de una clase inicial mientras que la

segunda indica que se pueden definir nue"as clases a partir de dos o más clases iniciales.

(a"a sólo permite herencia simple

#erencia %imple La herencia en )** es un mecanismo de abstracción creado para poder

facilitar, y mejorar el dise+o de las clases de un programa. )on ella se pueden crear

nue"as clases a partir de clases ya hechas, siempre y cuando tengan un tipo de relación

especial. !n la herencia, las clases deri"adas heredan- los datos y las funciones miembro

de las clases base, pudiendo las clases deri"adas redefinir estos comportamientos

polimorfismo/ y a+adir comportamientos nue"os propios de las clases deri"adas. Para no

romper el principio de encapsulamiento ocultar datos cuyo conocimiento no es necesario

para el uso de las clases/, se proporciona un nue"o modo de "isibilidad de los

datos0funciones$ protected-. )ualquier cosa que tenga "isibilidad protected se

comportará como p'blica en la clase 1ase y en las que componen la jerarqu2a de herencia,

 y como pri"ada en las clases que 3 sean de la jerarqu2a de la herencia. 4ntes de utilizar

la herencia, nos tenemos que hacer una pregunta, y si tiene sentido, podemos intentar

usar esta jerarqu2a$ %i la frase 5clase16 !%783 5clase46 tiene sentido, entonces estamos

ante un posible caso de herencia donde clase 4 será la clase base y clase 1 la deri"ada.

!jemplo$ clases 1arco, 4corazado, )arguero, etc9 un 4corazado !%783 1arco, un

)arguero !%783 1arco, un :rasatlántico !%783 1arco, etc9 !n este ejemplo tendr2amos

las cosas generales de un 1arco en )**/ class 1arco ;

Page 4: fb bd2

7/25/2019 fb bd2

http://slidepdf.com/reader/full/fb-bd2 4/5

  protected$

  char< nombre=

  float peso=

public$

  00)onstructores y demás funciones básicas de barco

>= y ahora las caracter2sticas de las clases deri"adas, podr2an a la "ez que heredan las de

barco/ a+adir cosas propias del subtipo de barco que "amos a crear, por ejemplo$ )lass

)arguero$ public 1arco ; 00 !sta es la manera de especificar que hereda de 1arco

  pri"ate$

  float carga=

  00!l resto de cosas

>=

)lass 4corazado$ public 1arco ;

  pri"ate$

  int numero4rmas=

  int %oldados=

  00 !lresto de cosas

>= Por 'ltimo, hay que mencionar que existen ? clases de herencia que se diferencian en el

modo de manejar la "isibilidad de los componentes de la clase resultante$ @ #erencia

publica class Aeri"ada$ public 1ase / $ )on este tipo de herencia se respetan los

comportamientos originales de las "isibilidades de la clase 1ase en la clase Aeri"ada. @#erencia pri"ada clase Aeri"ada$ pri"ate 1ase/ $ )on este tipo de herencia todo

componente de la clase 1ase, será pri"ado en la clase Aeri"ada ojoB siempre será pri"ado

aunque ese dato fuese p'blico en la clase 1ase/ @ #erencia protegida clase Aeri"ada$

protected 1ase/ $ )on este tipo de herencia, todo componente publico y protegido de la

clase 1ase, será protegido en la clase Aeri"ada, y los componentes pri"ados, siguen

siendo pri"ados. #erencia &'ltiple La herencia m'ltiple es el mecanismo que permite al

programador hacer clases deri"adas a partir, no de una sola clase base, sino de "arias.

Page 5: fb bd2

7/25/2019 fb bd2

http://slidepdf.com/reader/full/fb-bd2 5/5

Para entender esto mejor, pongamos un ejemplo$ )uando "es a quien te atiende en una

tienda, como persona que es, podrás suponer que puede hablar, comer, andar, pero, por

otro lado, como empleado que es, también podrás suponer que tiene un jefe, que puede

cobrarte dinero por la compra, que puede de"ol"erte el cambio, etc9 %i esto lo

trasladamos a la programación ser2a herencia m'ltiple clase empleadoCtienda/$ class

Persona ;  …

  #ablar/=

  )aminar/=

  …

>=

class !mpleado ;

  Persona jefe=

  int sueldo=

  )obrar/=

  …

>=

class empleadoCtienda$ public Persona, !mpleado ;

  …

  4lmacenar %tocD/=

  )omprobar !xistencias?/=

  …

>= Por tanto, es posible utilizar más de una clase para que otra herede sus

caracter2sticas.