← Tornar a l'índex d'exercicis
Aquesta unitat reuneix tots els fonaments del paradigma orientat a objectes: definició de classes pròpies, atributs, constructors, mètodes, encapsulació, herència amb extends i super, classes abstractes, interfícies i gestió robusta d'excepcions amb try-catch.
Per a definir una classe amb un camp enter, quina és la forma correcta de fer-ho?
Donada la següent classe:
Diges les afirmacions correctes sobre ella:
Point3D p = new Point3D(); crea un objecte d'aquesta classeQuina és la paraula-clau per a crear objectes d'una classe?
Suposa que tens aquesta classe al teu programa:
Hi han diversos objectes d'aquesta classe:
Quin és el valor de h2.rating després d'executar el codi anterior?
Crea una classe anomenada Persona per a representar persones en un sistema informàtic:
Afegeix a la classe tres camps de tipus String: nombre, apellido1 i apellido2.
Afegeix un constructor per inicialitzar els tres camps a partir de paràmetres.
Afegeix mètodes getter i setter per a cadascun dels camps per complir el principi d'encapsulació.
Afegeix un mètode que retorni un String amb el nom complet amb el format: apellido1 apellido2, nombre.
En el programa principal, crea diverses instàncies de Persona, modifica els seus valors i mostra el seu nom complet per consola.
Crea una classe anomenada TextBox que permeti dibuixar capses de text estilitzades en mode caràcter:
Afegeix dos camps de tipus int: ancho i alto, i un camp de tipus String: texto.
Afegeix un constructor que rebi només texto i calculi automàticament dimensions adequades.
Afegeix constructors addicionals per establir el text, l'amplada i l'alçada.
Afegeix mètodes de validació per assegurar que l'amplada i l'alçada siguin majors que 0, l'amplada sigui com a mínim igual a la longitud del text i el text mai no sigui null.
Implementa el mètode toString():
Simulador interactiu de curses de cotxes utilitzant programació orientada a objectes i interacció entre instàncies:
Implementa les classes Coche i Carrera segons el diagrama i simula una cursa pas a pas a la consola.
Implementa la jerarquia de classes d'animals següent demostrant l'ús d'herència multinivell i crides al constructor de la superclasse:
Crea els constructors amb crida a super() i sobreescriu toString() a cada subclasse per reflectir la informació completa de cada animal.
Implementa l'estructura jeràrquica d'empleats d'una organització:
La sortida per consola en recórrer una llista d'empleats ha de reflectir la seva cadena jeràrquica mitjançant el polimorfisme de toString().
Implementa un sistema per a dibuixar figures geomètriques de colors mitjançant polimorfisme i mètodes abstractes:
Fes subclasses per a rectangles, cercles i triangles que retornin la seva instància de java.awt.Shape.
Calculadora Robusta: Demana dos enters a l'usuari i divideix-los. Captura ArithmeticException (divisió per zero) i NumberFormatException (entrada no numèrica) mostrant missatges amigables d'error sense interrompre l'execució del programa.
Excepció Personalitzada d'Edat: Crea una classe d'excepció EdatInvalidaException (que hereti d'Exception) i fes que es llanci (throw) si l'usuari intenta registrar una persona amb una edat menor a 0 o major a 120 anys.
Banc amb SaldoInsuficientException: Modela un compte bancari amb un mètode reintegrar(double quantitat) throws SaldoInsuficientException que impedeixi retirar més diners del saldo disponible.