Please enable JavaScript.
Coggle requires JavaScript to display documents.
T27: Programación orientada a objetos. Objetos. Clases. Herencia.…
T27: Programación orientada a objetos. Objetos. Clases. Herencia. Polimorfismo. Lenguajes.
POO
FUNDAMENTOS
Def programación y POO
Prog estructurada vs POO
CARACTERÍSTICAS
Nuevos conceptos
Abstracción
Encapsulamiento
Comunicación
Herencia y Polimorfismo
OBJETOS
Dif clase vs obj
Abstracción vs espacio/tiempo
Poseen
Estado
Comportamiento
Identidad
Clase a la que pertenecen
CLASES
MIEMBROS Y
VISILIBILIDAD
3 Niveles acceso
+Package+friend
Sintaxis
declaración
TIPOS DE
MÉTODOS
Getters y setters
Internos/externos
Constructores
Por defecto
De oficio
De copia
Destructores
Garbage Collector
CARACTERÍSTICAS
1 clase muchos objetos
No usables, crean instancias
Métodos en clase, atrib en obj
Def:
plantilla
crear obj. Sustantivos
Molde. Instanciar
Componentes (id+atrib+mét)
HERENCIA
TIPOS
Simple: árbol
Múltiple
Dif funcionalidades obj real
1Prob: métodos repetidos
2Probl: jerarquía repetida
De interfaz
Sol Java: interfaces
Sol C++: clases abstractas
ACCESO A
VAR Y MÉT
Problema -> Sol: protected
Restringir +. Modificadores
Def
Nuevo concepto OO para
reutilización
Crear clases a partir de existentes
Genética = adquirir
Estructura
jerárquica
Clase base/padre/super -- derivada/hija/sub
Árbol de herencias = jerarquía de clases
Utilidad: super se
particularizan
(especialización)
Clases abstractas no instanciadas
POLIMORFISMO
Capacidad tomar formas distintas
Capacidad llamar funciones iguales (sintax)
Ejemplo Collection Java, todos obj
iterator()
Actuar sobre obj dif jerarquía
tEjecución. Vinculación dinámica/tardía
LENGUAJES
Puros
Simula-Smalltalk,Ruby,Eiffel,Scala
Híbridos
Elem procedimentales
C++: recursos bajo nivel
Java: tipos primitivos. JVM
Python: tipado dinámico. GC
Históricamente procedim: Fortran,Matlab,PHP
PROGRAMACIÓN
BASADA EN PROTOTIPOS
OO. No usa clases. Reutiliza obj ->
Classless, basado en
instancias
Idea nace en herencia. Aquí es base de la metodología
Dif: Proto cambian en tEjecución. Dif mét/atrib
JavaScript. Críticas. Potencial no explotado