El paradigma de programació orientada a objectes permet desenvolupar aplicacions informàtiques mantenint un codi clar i manipulable.

De la POO hem de destacar que permet un disseny de l’entorn amb independència del llenguatge final de programació. Usa eines UML, llenguatge de modelat unificat, per expresar el disseny en diferents nivells.

UML CRC (diagrama de classes i la relació de col·laboració) on es mostren les classes que participen en una aplicació. Es veuen les classes amb els seus atributs i mètodes i la relació que s’estableix entre ells.

Implementarem usant Javascript, que malgrat en principi no era un llenguatge orientat a objectes, s’està adaptant a n’aquest mètode de programació, també ho han fet o ho fan altres llenguatges, PHP és un d’ells.

Per implementar aplicacions hem de conèixer els elements de javascript que permeten traduir la informació d’un disseny UML. Aquests elements són les classes i els objectes.

Classes

Les classes són plantilles de creació d’un tipus d’objecte. Dins cada classe hi queden declarats els atributs i mètodes que tendrà cada nou objecte del tipus classe que es crei amb una instrucció new durant l’execució de l’aplicació.
Els atributs i mètodes són d’accés públic, privat o protegit. Aquest fet permet controlar la correcta utilització dels objectes creats a partir de les classes.
Les propietats de herència i polimorfisme s’explicaran i aplicaran en la pròxima unitat.

Parts d’una classe. Atributs i mètodes (públics i privats)
  • Atributs: Definiran els possibles estats d’un objecte.
  • Mètodes: Defineixen les operacions que es poden efectuar sobre un objecte. Existeixen uns mètodes essencials per crear una classe.
    • Mètode constructor. És el mètode que ens permetrà inicialitzar els atributs d’un objecte alhora de la seva creació. Pot admetre paràmetres de construcció.
    • Mètodes getters i setters: Són els mètodes que retornen o actualitzen informació dels atributs. Aquests mètodes permeten el que s’anomena encapçulació del programa.
      L’encapçulació de programa permet que el programador pugui usar instruccions d’una capa superior del codi sense saber quines són les intruccions interiors. Aquest fet.
    • Mètodes que implementen accions sobre els objectes. sumaPunt(), escriuNou(), obriCanal(), …
    • La paraula clau this serveix per referirse al propi objecte. Per exemple si ens volem referir a l’atribut nom ho farem amb this.nom./li>

La definició de classes en codi Javascript:
[cc lang=”javascript”]
class Jugador{
constructor(nom){
this.nom=nom;
this.ma=[];
this.joc=[];
}
agafaCarta(carta){this.ma.push(carta); return }
getNom(){return this.nom;}
llistaCartes(){
//per fer el recorregut podem emprar foreach.
//en aquest cas usam un for
let totesCartes=””;
for (var i=0;i“;
}
return totesCartes;
}
mouCarta(i){
//mou una carta de la posicio i a la posicio 0
//de la ma
//this.ma[i]; //agafam la carta dins una variable
//alert (cartaMoure.getDescripcio());
var cartaMoure=this.ma[i].splice(i,1); //borram la carta de la llista
this.ma.shift(cartaMoure); //posam la carta a la primera posicio
actualitza();
}
}
[/cc]

EXERCICIS

Sobre el codi actual del Projecte.

  1. Dibuixa sobre un paper l’estructura del joc de cartes. Anota les diferents llistes i anomenales.
  2. Detecta i elimina l’alert de surt cada vegada que actualitzam la pàgina
  3. Fes que surti el nom del jugador en lloc de jugador. Usa identificadors i canvia el mètode actualitza per fer-ho.
  4. Crea un botó que torni a mesclar les cartes.
  5. Crea un botó que doni tres cartes a cada jugador.
  6. Afegir els atributs punts a la classe Jugador.
    1. Per defecte cada vegada que cream un jugador ha de posar la puntuació a zero.
    2. Els punts han de sortir a un element html amb id puntsJugadors (un per cada jugador). S’ha d’afegir la seva actualització al mètode actualitza().
    3. Afegim un mètode sumaPunt() al jugador que sumarà un punt al jugador.
    4. Cream un botó de proves per sumar punts a un jugador

    Codi actual del projecte

    jocCartes
    [cc lang=”javascript”]


    JOC DE CARTES



    PILA DE CARTES

    JUGADOR 1

    JUGADOR 2


    [/cc]

    admin2on batxilleratEl paradigma de programació orientada a objectes permet desenvolupar aplicacions informàtiques mantenint un codi clar i manipulable. De la POO hem de destacar que permet un disseny de l'entorn amb independència del llenguatge final de programació. Usa eines UML, llenguatge de modelat unificat, per expresar el disseny en diferents nivells....Blog Aula Informàtica Gimnèsia