Programació orientada a objectes

Programació orientada a objectes

  • Author: Arnedo Moreno, Joan; Riera i Terrén, Daniel
  • Publisher: Universitat Oberta de Catalunya
  • ISBN: 9788497885829
  • eISBN Pdf: 9788490293997
  • Place of publication:  Barcelona , Spain
  • Year of publication: 2007
  • Year of digital publication: 2012
  • Month: November
  • Pages: 218
  • Language: Catalan
Aquest llibre té un doble propòsit. Primer de tot, és una introducció als principis teòrics de l'orientació a objectes. En segon lloc, treballa l'assoliment de les competències més pràctiques, recolzant-se en el llenguatge de modelització UML i el llenguatge de programació Java.
  • Cover
  • Title page
  • Copyright page
  • Autor
  • Índex
  • Capítol I. Introducció
    • 1. Els inconvenients de la programació clàssica
    • 2. L’orientació a objectes
      • 2.1. El naixement d’una manera nova de construir aplicacions
      • 2.2. Reutilització del codi
    • 3. Llenguatges de programació orientada a objectes
      • 3.1. Evolució històrica dels llenguatges de programació
      • 3.2. Evolució dels llenguatges de programació orientada a objectes
      • 3.3. Característiques bàsiques dels llenguatges de programació orientada a objectes
  • Capítol II. Classes i objectes
    • 1. Criteris de qualitat
      • 1.1. Factors de qualitat interns
      • 1.2. Factors de qualitat externs
        • 1.2.1. Reutilització de codi
        • 1.2.2. Escalabilitat de l’aplicació
        • 1.2.3. Portabilitat del codi
        • 1.2.4. Usabilitat
        • 1.2.5. Funcionalitat
      • 1.3. Altres factors de qualitat
        • 1.3.1. Precisió
        • 1.3.2. Robustesa
        • 1.3.3. Compatibilitat
        • 1.3.4. Rendiment
        • 1.3.5. Oportunitat
      • 1.4. El paper de l’orientació a objectes
    • 2. El principi de modularitat
      • 2.1. Requeriments de modularitat
        • 2.1.1. Descomposició
        • 2.1.2. Composició
        • 2.1.3. Comprensió
        • 2.1.4. Continuïtat
        • 2.1.5. Protecció
      • 2.2. Regles de modularitat
        • 2.2.1. Mapatge directe
        • 2.2.2. Limitació del nombre d’interfícies
        • 2.2.3. Limitació de la mida de les interfícies
        • 2.2.4. Facilitat de reconeixement de les interfícies
        • 2.2.5. Ocultació de la informació
    • 3. Classes i objectes
      • 3.1. Els papers de la classe i de l’objecte
      • 3.2. La classe com a estructura estàtica
        • 3.2.1. Atributs
        • 3.2.2. Mètodes o operacions
        • 3.2.3. Visibilitat dels atributs i mètodes
        • 3.2.4. La classe com a estructura modular
        • 3.2.5. Representació d’una classe amb UML
      • 3.3. L’objecte com a estructura dinàmica
      • 3.4. Extensió dels atributs i dels mètodes d’una classe
      • 3.5. Sobrecàrrega
      • 3.6. Altres aspectes sobre els llenguatges de programació orientada a objectes
  • Capítol III. Abstracció i classificació
    • 1. Complexitat i abstracció
      • 1.1. La complexitat inherent al programari
      • 1.2. L’abstracció en el desenvolupament de programari
    • 2. Els principis de la classificació
      • 2.1. Modelitzar pensant en els objectes
      • 2.2. Modelitzar pensant en les classes
      • 2.3. Identificació de les operacions
    • 3. Relacions entre classes
      • 3.1. Propietats de les associacions
        • 3.1.1. Cardinalitat
        • 3.1.2. Navegabilitat
        • 3.1.3. Rols
      • 3.2. Tipus d’associacions
        • 3.2.1. Associacions reflexives
        • 3.2.2. Associacions d’agregació
        • 3.2.3. Associacions de composició
      • 3.3. El concepte de classe associativa
      • 3.4. Relació de generalització/especialització
    • 4. Tècnica simple per a identificar classes
      • 4.1. Descripció de la tècnica
      • 4.2. Exemple pràctic
    • 5. Tipus de classes
      • 5.1. Classes abstractes
      • 5.2. Classes parametritzades
      • 5.3. Classes finals
  • Capítol IV. Estructures d'objectes
    • 1. Instanciació
      • 1.1. La gestió de la memòria
    • 2. Recorreguts
      • 2.1. Matrius i llistes
      • 2.2. Objectes i estructures de dades
      • 2.3. Recursivitat
    • 3. Delegació
  • Capítol V. Herència i polimorfisme
    • 1. Definició d’herència
      • 1.1. Herència per especialització
      • 1.2. Herència per generalització
      • 1.3. Herència múltiple
    • 2. Consideracions sobre l’herència
      • 2.1. Afegir mètodes nous
      • 2.2. Implementar mètodes abstractes
      • 2.3. Sobreescriptura de mètodes
      • 2.4. Concepte de ‘casting’
    • 3. Errors de l’herència
      • 3.1. Creació de superclasses poc generals
      • 3.2. Ús de subclasses en comptes d’una superclasse
    • 4. Polimorfisme
    • 5. Implementació de l’herència i el polimorfisme amb Java
      • 5.1. Implementació de l’herència
        • 5.1.1. Interfícies i herència múltiple
      • 5.2. Implementació del polimorfisme
  • Capítol VI. Un exemple pràctic
    • 1. Enunciat
    • 2. Resolució
      • 2.1. Identificació de les classes
      • 2.2. Creació de diagrames parcials de classes
      • 2.3. Creació del diagrama de classes
      • 2.4. Assignació d’atributs i mètodes
        • 2.4.1. Classe Persona
        • 2.4.2. Classe Estudiant
        • 2.4.3. Classe Pregunta
        • 2.4.4. Classe PreguntaTextual
        • 2.4.5. Classe PreguntaMultiopció
        • 2.4.6. Classe Opció
        • 2.4.7. Classe Test
        • 2.4.8. Classe TestContestat
        • 2.4.9. Classe PreguntaContestada
        • 2.4.10. Classe Aplicació
      • 2.5. Construcció del diagrama complet
      • 2.6. Inclusió de la navegabilitat en el diagrama de classes
      • 2.7. Codificació
  • Capítol VII. El llenguatge de programació Java
    • BLOC I: Java com a llenguatge de programació estructurada
      • 1. Introducció
        • 1.1. Origen del llenguatge
        • 1.2. Característiques del llenguatge
        • 1.3. Paraules reservades
        • 1.4. Convencions en el nom de variables i funcions
        • 1.5. El primer programa en Java
      • 2. Tipus de dades
        • 2.1. Nombres
          • 2.1.1. Nombres enters
          • 2.1.2. Nombres en coma flotant
        • 2.2. Caràcters
        • 2.3. Tipus enumerats
        • 2.4. Constants
        • 2.5. El tipus booleà
      • 3. Operadors
        • 3.1. Operador d’assignació
        • 3.2. Operadors aritmètics
        • 3.3. Operadors relacionals
        • 3.4. Operadors lògics
        • 3.5. Operadors a nivell de bit
        • 3.6. Operadors equivalents
        • 3.7. Operador condicional
        • 3.8. Precedència d’operadors
      • 4. Matrius
      • 5. Blocs d'instruccions
        • 5.1. Blocs condicionals
          • 5.1.1. Bloc if-else
          • 5.1.2. Bloc else if
          • 5.1.3. Bloc switch
        • 5.2. Blocs iteratius
          • 5.2.1. Bloc while
          • 5.2.2. Bloc do-while
          • 5.2.3. Bloc for
        • 5.3. Sentència break
        • 5.4. Sentència continue
      • 6. Funcions
        • 6.1. La definició de funcions
        • 6.2. Els paràmetres d’entrada
        • 6.3. El valor de retorn
        • 6.4. Un exemple de funció
        • 6.5. La invocació de funcions
      • 7. Visibilitat de variables
        • 7.1. Variables locals
        • 7.2. Variables globals
    • BLOC II: Java com a llenguatge de programació orientada a l’objecte
      • 1. Definició de classes
        • 1.1. La classe
        • 1.2. Els atributs d’una classe
        • 1.3. Mètodes d’una classe
          • 1.3.1. El mètode constructor
          • 1.3.2. El mètode destructor
          • 1.3.3. La resta de mètodes
        • 1.4. Ús de la paraula reservada ‘this’
        • 1.5. Mètodes estàtics
        • 1.6. Sobrecàrrega de mètodes
      • 2. Les relacions entre classes
        • 2.1. Cardinalitat
        • 2.2. Nombre exacte
        • 2.3. Rang de valors
        • 2.4. Valors indefinits
        • 2.5. Navegabilitat
        • 2.6. Rols
      • 3. Llibreria de classes
        • 3.1. La classe String
        • 3.2. La classe ArrayList
      • 4. Les excepcions
        • 4.1. Creació d’una excepció
        • 4.2. Llençament d’excepcions
        • 4.3. Tractament d’excepcions
  • Glossari
  • BIbliografia

SUBSCRIBE TO OUR NEWSLETTER

By subscribing, you accept our Privacy Policy