Conceptos POO
Conceptos POO
TEMA # 1
F.IN.I. CONCEPTOS Y
CARACTERISTICAS DE
LA PROGRAMACION
ORIENTADA A OBJETOS
Tipos de Clases
Propiedades y Métodos
Clases e instancias
Constructores y tipos de
constructores
Introducción
La programación orientada a objetos es
un enfoque de programación de los más
populares y viene teniendo gran
aceptación en el desarrollo de proyectos
de software.
Concepto de CLASE
Son las 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.
Concepto de OBJETO
En P.O.O. es una entidad provista de un
conjunto de propiedades o atributos
(datos) y de comportamiento o
funcionalidad (métodos). Corresponden a
los objetos reales del mundo que nos
rodea, o a objetos internos del sistema
(del programa). Es una instancia a una
clase.
Objeto y Clase
Un objeto es algo de lo Una clase describe los
que hablamos y que objetos del mismo tipo
podemos manipular • Todos los objetos son instancias de una
clase
• Existen en el mundo real (o en nuestro
entendimiento del mismo) • Describe las propiedades y el
comportamiento de un tipo de objetos
Objeto:Clase Clase
Atributo1=valor Atributos
Atributo2=valor
... Operaciones
Atributos
• Son los datos que caracterizan a los objetos de una
clase y determinan el estado de un objeto;
Marca
Año
Color
Patente, etc.
Métodos
• Representan todas aquellas acciones que se pueden
realizar sobre un objeto de cierta clase
Ejemplo: Un paralelogramo
• Class. Final: Son las que terminan la cadena de herencia. Útiles por
motivos de seguridad y eficiencia de un programa, ya que no permiten
crear más sub-divisiones por debajo de esta clase.
• Class. Synchronizable: Especifica que sus métodos son
sincronizados, de forma que estos no pueden empezar a correr un
método si no ha acabado el otro.
EJEMPLO TIPOS DE CLASES
CARACTERISTICAS FUNDAMENTALES
•Nombre de la clase. Sirve para identificar a todos los objetos que tengan
unas determinadas características.
•Conjunto de atributos. Datos miembros. El valor de los atributos
representan el estado de cada objeto.
•Conjunto de métodos. Funciones miembro. Permite que los objetos
cambien de estado, dependiendo del estado anterior que tuviera el objeto.
•Niveles de acceso para proteger ciertos miembros de la clase.
Normalmente, se definirán como ocultos (privados) los atributos y visibles
(públicos) los métodos.
PROPIEDADES Y METODOS
Objetos ¿Qué es una propiedad?
Hemos hablado antes brevemente del concepto de Una propiedad es un atributo de un objeto o un aspecto de su
objeto, al ver los distintos tipos de variables y datos. comportamiento. Por ejemplo, en las propiedades de un
Documento se incluyen el nombre, el contenido y el estado con
Lo definíamos como una especie de modelo con el
que se guarda, así como si está activado el control de cambios.
que representamos una cosa o un concepto de la vida
Para cambiar las características de un objeto, se cambian los
real. valores de sus propiedades.
¿Qué es un método?
Un método es una acción que puede realizar un objeto. Por
ejemplo, dado que los documentos pueden imprimirse, el
objeto Documento tiene un método PrintOut. Con frecuencia,
los métodos tienen argumentos que califican cómo se realiza la
acción.
PROPIEDADES DE LOS OBJETOS
Cuando definimos un objeto en programación,
solo elegimos las propiedades que nos interesan
Propiedades de los objetos para el tipo de proceso o tarea que estamos
Podemos definir variables y asociarlas a un objeto. A intentando gestionar o resolver. Por ejemplo, en el
esas variables las denominamos propiedades (también contexto de un Taller, puede interesar saber el
se les suele llamar atributos) y son características número de kilómetros que tiene el coche o cuándo
propias de ese objeto. ha sido su última reparación o mantenimiento, y
Por ejemplo, en un coche, podían ser la marca, el por tanto tener definidas propiedades/variables
modelo, potencia del motor, numero de puertas, etc. para almacenar esos datos, mientras que esa
información no es necesaria o útil si el contexto es
otro, como por ejemplo si gestionamos
un concesionario de venta de vehículos nuevos.
METODOS DE LOS OBJETOS
Métodos de los objetos
Además de propiedades, a los objetos podemos definirle una
serie de métodos, que son instrucciones que pueden cambiar los
valores que hemos asignado a esas propiedades. En el caso del
Taller podrían ser métodos como ‘realizar revisión periódica’ o
‘arreglar avería’, que podrían cambiar las fechas de la última En la mayoría de los casos, los
revisión y de la última reparación respectivamente. métodos son acciones y las
propiedades cualidades. Si se utiliza
JavaScript es un lenguaje basado en objetos. De hecho la
mayoría de elementos son objetos, o pueden ser tratados como
un método, la acción recae sobre el
tales. Esto incluye a los tipos de datos ‘string’ o ‘number’ o a los objeto, mientras que si se usa una
‘arrays’ propiedad, se devuelve información
acerca del objeto o se cambia una de
sus cualidades.
CLASES E INSTANCIAS
Clases:
Descripción de objeto. Consta de una
serie de métodos y datos que
resumen las características de este
objeto. Definir clases permite Instancia:
trabajar con código reutilizable. Se llama instancia a todo objeto que derive
Puesto que desde una clase se puede de algún otro. De esta forma, todos los
crear una instancia y así reutilizar el objetos son instancias de algún otro, menos
código escrito para esta sin tener que la clase Object que es la madre de todas.
volver a escribir el código para la
instancia. La instancia toma el patrón
de la clase padre. Sin embargo, las
variables son independientes.
CLASES E INSTANCIAS
INSTANCIA DE CLASE
Una instancia (en inglés, instance) es la particularización, realización
específica u ocurrencia de una determinada clase, entidad (modelo entidad-
relación) o prototipo. En general, cuando se ejecuta un programa en un
computador, se dice que éste se instancia. En los lenguajes de programación
orientada a objetos un objeto es una instancia de una clase. Esto es, un
miembro de una clase que tiene atributos en lugar de variables. En un
contexto del mundo real, podríamos pensar en “Casa” como una clase y en un
chalet como una instancia de esta e incluso otro chalet u otro tipo de casa
como puede ser un apartamento como otra instancia. En este caso no importa
el tipo de casa, si fuese de nuestro interés modelarlo y especificarlo,
diferenciaríamos entre un chalet y un apartamento con dos clases, entidades
o prototipos diferentes.
EJEMPLO CLASE E INSTANCIA
CONSTRUCTORES Y TIPOS DE
CONSTRUCTORES
CONSTRUCTOR
En programación orientada a objetos (POO), un
constructor es una subrutina cuya misión es
inicializar un objeto de una clase. En el constructor
se asignan los valores iniciales del nuevo objeto. Se
utiliza para crear tablas de clases virtuales y poder
así desarrollar el polimorfismo, una de las
herramientas de la programación orientada a
objetos. Al utilizar un constructor, el compilador
determina cuál de los objetos va a responder al
mensaje (virtual) que hemos creado. Tiene un tipo
de acceso, un nombre y un paréntesis.
IDENTIFICADORES
Un identificador es un conjunto de caracteres
alfanuméricos de cualquier longitud que sirve para
identificar las entidades del programa (clases,
funciones, variables, tipos compuestos) Los
identificadores pueden ser combinaciones de letras y
números. Cada lenguaje tiene sus propias reglas que
definen como pueden estar construidos. Cuando un
identificador se asocia a una entidad concreta,
entonces es el “nombre” de dicha entidad, y en
adelante la representa en el programa. Nombrar las
entidades hace posible referirse a las mismas, lo cual
es esencial para cualquier tipo de procesamiento
simbólico. En muchos lenguajes algunas secuencias
tienen la forma léxica de un identificador pero son
conocidos como palabras clave (o palabras
reservadas). Lo habitual es que si un identificador se
corresponde con una palabra clave o reservada, éste
ya no pueda utilizarse para referirse a otro tipo de
entidades como variables o constantes.
EJEMPLO IDENTIFICADOR