ed-b1 instalación y uso de entornos
UT 4: el lenguaje java
11. LA POO
eugeniaperez.es


UT 4: EL LENGUAJE JAVA

11. La POO
programación estructurada vs. poo
Programación estructurada -> No existen objetos, todo en ficheros de gran extensión.

eugeniaperez.es
Programación Orientada a Objetos -> define clases, son plantillas para crear varios objetos. Estas tienen:
- Propiedades o características
- Métodos


UT 4: EL LENGUAJE JAVA

11. La POO
programación estructurada vs. poo
Programación estructurada
-> C, Pascal
Programación Orientada a Objetos
-> C#, Java, PHP...

eugeniaperez.es







UT 4: EL LENGUAJE JAVA

11. La POO
programación orientada a objetos
¡Divide y vencerás!

eugeniaperez.es
Más ordenado, estructurado, fácil de mantener

UT 4: EL LENGUAJE JAVA

11. La POO
programación estructurada
Código espagueti

eugeniaperez.es
Difícil de mantener, más errores de programación

UT 4: EL LENGUAJE JAVA

11. La POO
Según la página the coding love: esto sucede cuando tienes que arreglar un error en una pila de código espagueti...

eugeniaperez.es

UT 4: EL LENGUAJE JAVA

11. La POO
programación orientada a objetos
Dividimos en conceptos -> en clases
Esas clases interactúan entre sí para resolver problemas.

eugeniaperez.es

UT 4: EL LENGUAJE JAVA

11. La POO
programación orientada a objetos
¡3 principios básicos!
- Encapsulación
- Herencia
- Polimorfismo

eugeniaperez.es
UT 4: EL LENGUAJE JAVA

11. La POO
poo -> 3 principios básicos:
- Encapsulación: clases que funcionan como cajas negras. Las otras clases no tienen por qué conocer todos los detalles del resto. Se ocultan...

eugeniaperez.es

UT 4: EL LENGUAJE JAVA

11. La POO
poo -> 3 principios básicos:

eugeniaperez.es

Time time = new Time();
time.hour = "15";
time.minute = "30";
time.second= "15";
Time time = new Time();
time.setHour("15");
time.setMinute("30");
time.setSecond("15");
System.out.println("Hora: "+time.hour);
System.out.println("Minuto: "+time.minute);
System.out.println("Segundo: "+time.second);
time.getHour();
time.getMinute();
time.getSecond();
UT 4: EL LENGUAJE JAVA

11. La POO
MODIFICADORES DE ACCESO
- Son public, private, protected y default.
- Se aplican tanto a clases como atributos y métodos.

eugeniaperez.es
UT 4: EL LENGUAJE JAVA

11. La POO
MODIFICADORES DE ACCESO
- public: todo atributo o método es accesible desde cualquier otra clase.

eugeniaperez.es
- private: todo atributo o método NO es accesible desde cualquier otra clase. Solo desde dentro de la clase.
- protected: todo atributo o método es accesible desde clases que estén en el mismo paquete.
- default: si no se indica nada. Es como protected.
Crearemos el proyecto org.cuatrovientos.java.ut4poo
UT 4: EL LENGUAJE JAVA

11. La POO
herencia
- Mediante este mecanismo una clase hereda de otra todos sus miembros (atributos y métodos) públicos y protegidos.

eugeniaperez.es
¡Los atributos o métodos privados NO se heredan!
UT 4: EL LENGUAJE JAVA

11. La POO
herencia
¿Para qué...?
Para permite ahorrar y extender código y, por tanto, facilitar enormemente el desarrollo y mantenimiento de los proyectos.

eugeniaperez.es
UT 4: EL LENGUAJE JAVA

11. La POO
herencia
Para representar la herencia en Java se utiliza extends.
La forma de referirnos es la clase base: padre o superclase.
La clase hija: subclase o extendida.

eugeniaperez.es
UT 4: EL LENGUAJE JAVA

11. La POO
herencia
Todas las clases deben tener al menos un constructor.
En caso de no hacerlo de forma específica, Java añade un constructor vacío.

eugeniaperez.es
UT 4: EL LENGUAJE JAVA

11. La POO
herencia
Un constructor en Java puede hacer:
- Si una clase hereda de otra, se debe llamar a un constructor de una clase padre de la que hereda con super(), también con argumentos si es necesario.
- La llamada super() debe ser la primera instrucción.
- Si no existe llamada al super(), Java lo introduce.

eugeniaperez.es
UT 4: EL LENGUAJE JAVA

11. La POO
ejemplo de personas (INHERITANCE)

eugeniaperez.es

UT 4: lenguaje java

Herencia

eugeniaperez.es
DESCARGA En BITBUCKET:
Proyecto ED.UT4.ClientInheritance:
https://eugenia_perez@bitbucket.org/eugenia_perez/ed.ut4.clientinheritance.git
Usuario: entornos_desarrollo
Password: Entornos
UT11. POO
By eugenia_perez
UT11. POO
- 1,415