Definicion Formal de Objeto segun RUMBANGH
Un objeto es un objeto, obstraccion o cosa con un significado y limites claros en el problema en cuestion.
———————————————————————————————–
Objeto
- Debe tener estado
(Lo que se sabe del objeto a traves de sus “ATRIBUTOS”(ej. Silla = Patas, respaldo, asiento))
- Debe tener comportamiento
(Lo que el objeto puede hacer se denominan “METODOS”(ej. Auto = Sentarse, pararse arriba, manejarlo))
- Debe tener una identidad
(Lo definido del Objeto, esta definida por los atributos, la identidad modifica los atributos(ej. Silla = 3 patas, 2 respaldos))
———————————————————————————————–
Clase = Descripcion de un grupo de objetos
- Debe tener Atributos
- Debe tener Metodos
- Debe tener Relaciones: Solo son de 1 a 1 no 1 a muchos.
Una clase es una abstraccion que enfatiza las caracteristicas relevantes y suprime otras caracteristicas.
———————————————————————————————–
Un objeto es una instancia de una clase
———————————————————————————————–
Modificadores de Acceso
Un modificador de objeto permite definir el nivel de acceso de los miembros de una clase
Acceso = Visibilidad
- Debe tener Miembros
- Debe tener Atributos
- Debe tener Metodos
* Modificadores de Acceso Privado = Visible solo para la clase en particular
* Modificadores de Acceso Publico = Visible solo para todas las clases
———————————————————————————————–
Pilares de la O.O.
- Herencia: Es una relacion entre clases en la cual una clase comparte la estructura y comportamiento definido en otra clase. Cada clase hereda lo siguiente, los atributos tanto publicos como privados y los metodos.
Clase hereda metodos y atributos y permite añadir (ej. Silla — a –>> Pupitre, se añade apoya libros).
- Encapsulamiento: Establece que los atributos propios de un objeto no deben ser visibles desde otros objetos, es decir, debe ser declarados como privados. Ademas permite exponer el estado del objeto a traves de su comportamiento. Esto es util pues permite dar seguridad a los objetos, validandolos y teniendo un control total de ellos; con esto se obtiene una mejor respuesta a los cambios.
- Abstraccion: Nos ayuda a trabajar son cosas complejas, pues se enfoca en los importante y simplifica lo irrelevante.
- Relaciones: Los objetos constribuyen en el comportamiento de un sistema colaborando entre si. Los tipos de relaciones son de asociacion y agregacion. Una asociacion es una relacion de objetos que poseen una cardinalidad(ej. Auto(1) = Dueño(1) / 1 auto = 1 Dueño, la relacion se establece entre objetos diferentes). Una agregacion es una asociacion donde todo un objeto se relaciona con sus propios atributos(ej. Auto(1) = Puerta(~) / 1 Auto = Muchas puertas, la relacion se crea dentro del mismo objeto).
———————————————————————————————–
Polimorfismo
Es la propiedad que tienen los objetos de permitir invocar un comportamiento(METODO) cuya implementacion sera delegada al objeto correspondiente, esto ocurre solo en RUNTIME. El polimorfismo aparece en su mayoria en las clases heredadas.