Java
Introducció a la P.O.O
Herència
Herència simple, classes abstractes, mètodes abstractes, sobreescriptura
Tots els homes són mortals Sòcrates és un home Per tant, Sòcrates és mortal Recordeu que les classes abstractes es creen precisament per poder ser heretades. No es creeen instàncies de classes abstractes, es creeen instàncies d’objectes de lesclasses derivades. Surten els primers exercicis amb una interfície gràfica senzilla, dos applets per dibuixar. Els applets són classes Java que s’incrusten dintre de pàgines web. Per a què el client pugui veure l’applet és necessari que la seva màquina tingui instal·lada la JVM. Els applets són el primer exemple també de classes que quan s’executen criden al mètode init(), no pas al main().
1.Primer exemple d’utilització de classes i mètodes abstractes. El nostre programa podrà gestionar d’una manera compacta qualsevol tipus d’empleats d’una empresa (aprofitant el polimorfisme dinàmic). Totes les classes estan al paquet mvc.herencia: a) Dintre del paquet mvc.herencia implementeu una classe abstracta Empleat que tingui nom, cognoms, dni, sou, hores que es treballen per setmana. Declareui/o implementeu els següents mètodes: constructor parametritzat public abstract void incrementarSou(); public double getSou() public String toString() b) Implementeu una classe Professor que sigui derivada d’Empleat amb un nou atribut que sigui el crèdit del qual és titular aquell professor. Implementeus els següents mètodes aprofitant al màxim els beneficis de l’herència : constructorparametritzat public void incrementarSou() /* per exemple, ¿Què passa si no afegiu un constructor? ¿Són visibles els atributs de la classe Empleat? c) Implementeu una classe PAS derivada d’Empleat amb un nou atribut que indiqui si treballa en el torn de matí o tarda. Implementeu els següents mètodes aprofitant al màxim els beneficis de l’herència : constructor parametritzat public void incrementarSou() /*per exemple, en un 3.1% */ d) Implementeu una classe ControlEmpleats que emmagatzemi totes les dades dels empleats en forma d’array. Aquesta classe té els següents mètodes: constructor parametritzat public void afegir(Empleat e) public Empleat[] llistar() public double calcularPressupostNomines() public void apujarSou() /* apuja el sou a tots els empleats */ /* nomes apuja el sou als empleats deltipus determinat*/ public void apujarSou(int tipus) 1 IES Jaume Balmes — Departament d’Informàtica en un 3%*/
CFGS.DAI.C6: Programació avançada
Introducció a la P.O.O
e) Implemeteu la classe ProvaEmpleats que tingui un menu per poder fer les operacions abans especificades a la classe ControlEmpleats : afegir empleat, llistar tots els empleats, calcular el pressupost total de lesnòmines, apujar el sou a tots els empleats o només a alguns i sortir de l’aplicació.
2. Examen de desembre de l’any 2005 Paquet « series » Una sèrie, en matemàtiques, es defineix com una suma parcial dels membres d’una succesió. Les sèries poden ser aritmètiques (ex :1+ 3+ 5+ 7+ 9...) o geomètriques (ex :1+ 3+ 9+27+ 81...) classe Serie Aquesta classe té com a atribut el terme inicial de la sèrie detipus enter. Implementa també : a) un constructor que inicialitza el terme inicial amb el valor que se li passa per paràmetre. b) Un mètode abstracte int terme(int n). c) Un mètode int suma (int n) que retorna el valor n de la sèrie. És a dir, retorna la suma dels n primers termes de la sèrie. Les sèries són aritmètiques quan la diferència entre un terme i l’anterior és constant. En l’exemple1+3+5+7+9 a cada element se li suma 2. A les sèries geomètriques cada terme es calcula a partir de l’anterior multiplicat per un valor fixe anomenat factor o raó. En l’exemple 1+3+9+27+81 es multiplica cada element per la raó 3. Crea la classe SèrieAritmètica amb atribut raó, de tipus enter, que implementa el mètode int terme(int n) com us he explicat. Afegiu el constructor adient. Crea la classe...
Regístrate para leer el documento completo.