Please enable JavaScript.
Coggle requires JavaScript to display documents.
PROGRAMMING II Object Oriented Programming - Coggle Diagram
PROGRAMMING II
Object Oriented Programming
OOP
WEEK 1:
Paradigma OO
Orientacion a Objetos
Clases y Objetos
JAva Constructors
Pilares de la OOP
Pilares de POO
Herencia
La capcidad para heredad, transferir
Para relacionar clases
Herencia | Inheritance
Una clase hereda de otra clase
is-a relationship
Cuando queremos heredar atributos metodos
3 more items...
Mi clase anterior no cubre todo, me gustaria añadir. "Customize" una clase anterior
New class funcionality = Old calss functionallity + extra
2 more items...
Cuando una clase padre
(superclase)
--> hereda atributos y métodos a las clase hija (
subclase
)
JAva
Tipos de herencia
SImple inherit
1 more item...
Multinivel Inherit
Grandchildren
1 more item...
Hierarchy INherit
two
classes
children
1 more item...
Multiple Inherit (NO in java)
2 parents
1 more item...
polimorfismo
Un objeto para tomar diferentes formas o comprotarse de firentes formas decuardo al contexto
EL polimorfismo permite que diferentes objetos respondan de modo diferente al mismo mensjae
SU maxima potencia es cuando se une con HERENCIA
Es posible tener mas de un contructor
Sobrecarga de metodos
Varias funciones con el mismo nombre porque si son diferetes el la firma son diferentes para mi programa
Override
Sobre escritura
Utilizar ocsas que ya estan escritas pero modificarlas a nuestra conveninecia
1 more item...
Iplemntar o mismo que los padres
Un bjeto puede
Abstracción
OCutlar detalles internos y mostrar solo lo esencial
clase abstracta
characteristics
It cannot be instantiated
have abstract and non abstract methods
2 more items...
It can have cosntructors and static methods
It can have final method
Like creating a template, it doesnt develop anything just the template. THe structure and rules no more
DIFERENCIAS CON LA INTERFAZ Y SUPERCLASE
INTERFAZ
Contrato
Define comportamiento (metodos). No se desarrolla
No define atributos
CLASE ABSTRACTA
No se instancia
Puede haber metodos desarrollados o no (metoos abstractos)
SUPER CLASE
Herencia total, no son plantillas sino que implementas todo a sus hijos
encapsular (Proteger)
Ocultar atributos que no queremos que se muestren a todo el programa. Solo pueden ser accedidos dentro de esta clase
Guardar mi código porque ahora quiero que sea privado (Receta secreta Cangry burgers)
Agrupar datos y métodos y asegurar su acceso.
GETTER Y SETTER
Para obtener datos de un lugar PRIVADO
GETTER
OBtain values
SETTER
Establish value
EJEMPLO COMPLETO
modificador de acceso
guardia de los condominios
public
en cualquieer clase sirve
Por default public
private
no deja pasar a nadie excepto el due;o
no existe en otras clases, just in Main
YOur atributes is better to do private
protected
Este metodo lo conocen
todos sus parientes
Elementos de la misma carptea, pero los que es[tan fuera, no
void
No hay control
NO retorna nada, por lo cual non necesita el return
Por defecto haz a las clases void, y solo si quieres guardar el valor le cambias
static
Para no tener que instanciarlo
OOP en Java
OOP
Week 2
OOP - Relaciones
relaciones de clases
Asociaciones
has a (dependencia)
Lo que típicamente pienasa al crear un diagrama ER
COmposicion
todo-parte DEPENDENCIA
pertenece a
Flechita negra
Agregación
todo- parte (whole-part) INDEPENDENCIA
Independencia. Se colaboran pero ambos existen
pilares
Polimorfismo
Herencia
Tiene generalizacion(super-clase) y especialización(sub-clase)
Java: Manejo de Excepciones
excepcionest
tipos
UML
WEEK3
OOP
Interfaces
Encapsulation
Packages
Abstract CLasses
Java: Enumerations
2.
DATA sTRUCTURES
Week 4
Data Structures
Ahora veremos estructuras dinámicos (no estáticos)
Framewroks
Abstract Data TYpes y generics
Java Collections
INterface List
Array List
LinkedList
Ordenamiento y Búsqueda
Week 5
Data Structures
Stack / pila
LIFO
Queue
Deque
COla doble
Set
FIFO, LIFO
hashCOde
equals
Week 6
Data Structures Map
MAPA
Parecidos a los diccionarios
Key Value
HashMap
Principal MEthods
Common Uses
Streams Introduction
No mucho
Mejores practicas
Week 7
Clean Code
Variables
No poner variables que no vas a usar
Variables significativas
Preguntas l[ogicas.-
no hacer preguntas negativas
Code Smells
Refactorization
Que el codigo funcione no significa que este bien.
Best Practices
Week 8
Best Practices
Design Principles
KISS
YAGNI
DRY
SOLID
Grasp & Cupid
principios
Responsabilidad única
Una sola tarea.
Un solo método
Más modular menos propenso a afectar otras partes del código
Cuando tiene muchos y más adelantes queremos modificar, podemos hacer que otros se arruine
DRY No repetir código que ya hayamos escrito
DRY
Comportameinto común agrupalo en uno solo
Principio KISS Keep it simple, stupid
No tanta validación de código, simple
Week 9
Design Patterns
Creacionales
SIngleton
Singleton == Una sola instancia para todo el proyecto
Factory MEthod
Estructurales
Facade
Comportamiento
Strategy