Inleiding Informatica - PowerPoint PPT Presentation

inleiding informatica n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Inleiding Informatica PowerPoint Presentation
Download Presentation
Inleiding Informatica

play fullscreen
1 / 87
Inleiding Informatica
150 Views
Download Presentation
sacha-vazquez
Download Presentation

Inleiding Informatica

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Inleiding Informatica Prof. Dr. Olga De Troyer

  2. Hoofdstuk I: Kennismaking met Java

  3. Computer • Snelle “reken” machine • Voert enkel “reken”opdrachten uit • “Alles” wordt (uiteindelijk) herleid tot getallen (0 en 1)

  4. Programma • Tekst die een computer een taak laat uitvoeren • De tekst is een reeks opdrachten na elkaar, code genoemd • Geschreven in een speciale taal, een programmeertaal

  5. Doel van de cursus • Aanleren van het lezen en schrijven van programma’s in de programmeertaal Java • Java is een recente object georiënteerde programmeertaal

  6. Basiselementen van Java • Objecten • Zijn weerspiegelingen van “dingen” uit de werkelijkheid

  7. object abstractie mijn_auto object abstractie Jan’s_fiets Werkelijkheid Modellen Objecten

  8. Model abstractie Attributen Methoden Objecten Object Toestand Kleur: blauw Merk: Opel Nummerplaat:ARJ775 • Gedrag • Rijden • Remmen • Toeteren

  9. Berichten Hallo, ik ben mr. Peters van de boekhouding. En u ben? Aangenaan, ik ben mevr Segers Objecten communiceren

  10. Graag, lunch voor 3 personen Berichten sturen om taken uit te voeren

  11. Remmen Een bericht activeert de overeenkomstige methode Object … • Gedrag • Rijden • Remmen • Toeteren

  12. Een Object Georiënteerd programma • Een programma is een opeenvolging opdrachten/instructies • Een OO programma is een opeenvolging van berichten

  13. Klassen Klasse Auto Toestand Kleur Merk Nummerplaat Gedrag Rijden Remmen Toeteren • Gelijksoortige objecten met hetzelfde gedrag en gelijksoortige attributen worden gedefinieerd door een klasse

  14. Klasse Auto Toestand Kleur Merk Nummerplaat Gedrag Rijden Remmen Toeteren Klasse Instanties Object Toestand Kleur: blauw Merk: Opel Nummerplaat: ARJ775 Gedrag Rijden Remmen Toeteren Object Toestand Kleur: rood Merk: VW Nummerplaat: BXR824 Gedrag Rijden Remmen Toeteren Object Toestand Kleur: zwart Merk: Ford Nummerplaat: CVX779 Gedrag Rijden Remmen Toeteren Instanties van een klasse

  15. Referenties naar objecten Jan’sAuto MijnAuto Opa’sAuto Object Toestand Kleur: blauw Merk: Opel Nummerplaat: ARJ775 Gedrag Rijden Remmen Toeteren Object Toestand Kleur: rood Merk: VW Nummerplaat: BXR824 Gedrag Rijden Remmen Toeteren Object Toestand Kleur: zwart Merk: Ford Nummerplaat: CVX779 Gedrag Rijden Remmen Toeteren Refereren naar objecten Laat toe om het object te identificeren: MijnAuto.Toeteren Opa’sAuto.Remmen

  16. Berichten met argumenten Voorbeeld: MijnAuto.Rijden • Maar hoe hard rijden? • Argumenten voor berichten: MijnAuto.Rijden(90) • Dus ook voor de corresponderen methode Klasse Auto Toestand Kleur Merk Nummerplaat Gedrag Rijden(snelheid) Remmen Toeteren

  17. Vooraf gedefinieerde klassen en objecten • De meest gebruikelijke klassen en objecten zijn reeds vooraf gedefinieerd in Java. • Deze kunnen eenvoudigweg gebruikt worden.

  18. Referentie naar een voor gedefinieerd object van de voorgedefinieerde klasse “PrintStream” Boodschap naar object “System.out” Refereert naar het scherm Een voorbeeld • Via Java willen we “Welkom iedereen” op de monitor van de computer laten verschijnen. System.out .println(“Welkom iedereen”)

  19. Java Statements • Een boodschap naar een object sturen is een actie. • De computer voert de acties uit wanneer het programma uitgevoerd wordt • In Java noemt men acties “statements” • Statements eindigen met een “;” System.out.println(“Welkom iedereen”);

  20. Een Java programma • Een opeenvolging van statements System.out.println(“Dit is mijn eerste Java programma”); System.out.println(“maar niet mijn laatste.”);

  21. Een Java programma (2) • Elke programma heeft een naam nodig en bijkomende informatie import java.io.*; classProgramma1{ public static void main(String[] arg) { System.out.println(“Dit is mijn eerste Java programma”); System.out.println(“maar niet mijn laatste.”); } }

  22. Syntax regels • Regels die zeggen wat mag en niet mag in een Java programma • Vergelijkbaar met de grammatica regels van Nederlands, Engels, ...

  23. Identifiers • Elke klasse moet een naam hebben; namen worden ook wel identifiers genoemd • Bvb: Programma1, PrintStream • Hoofdletters en kleine letters zijn verschillend • Bvb: System en system

  24. Sleutelwoorden • Woorden met een speciale vast gelegde betekenis noemt men sleutelwoorden (keyword) • Bvb: import, class, public, static, void • Tegen-vb: PrintStream

  25. Regel: Twee opeenvolgende identifiers of sleutelwoorden zijn gescheiden door minstens één blanko. classProgramma1 • Goed: class Programma1

  26. De volgorde van de statements • Statements worden uitgevoerd in volgorde van voorkomen. System.out.println(“Een Twee”); System.out.println(“Drie Vier.”); Resultaat is verschillend van System.out.println(“Drie Vier.”); System.out.println(“Een Twee”);

  27. Leesbare programma’s • Advies • Zet elk statement op een aparte lijn • Indien te lang, breek op en spring in vanaf de 2de lijn • Gebruik TAB om in te springen, geen spaties

  28. import java.io.*; class Programma1 {public static void main(String[] arg) { System.out.println(“Dit is mijn eerste Java programma”); System.out.println(“dit een een nieuwe lijn.”) } } • import java.io.*; • class Programma1 { • public static void main(String[] arg) { System.out.println(“Dit is mijn eerste Java programma”); • System.out.println • (“dit een een zeeeeeeeeeeeeeeeeeeer lange lijn”); • } • }

  29. Commentaar • Tekst in het programma om het programma (of delen ervan) te verklaren • Wordt door de computer genegeerd /* dit is commentaar en mag over verschillende lijnen lopen */ // duidt aan dat de rest van de lijn commentaar is

  30. import java.io.*; /* * Programma1 schrijft mijn naam en e-mail op het scherm */ class Programma1 { public static void main(String[] arg) { System.out.println(“Prof. Dr. Olga De Troyer”); // mijn naam System.out.println(“e-mail: Olga.DeTroyer@vub.ac.be”); // mijn e-mail } }

  31. Hoe een programma laten uitvoeren? 1. Programma invoeren in de computer 2. Programma vertalen naar een vorm die de computer kan uitvoeren 3. Instructie geven aan de computer om het programma uit te voeren

  32. Stap 1: Programma invoeren Door middel van een bestand (file) • Bestand • Collectie van informatie • Heeft een naam • Kan opgeslagen worden op de harde schijf van de computer • Bepaalde software laat toe om bestanden aan te maken, bvb: tekst-processors Bestanden voor programma’s worden aangemaakt door editors.

  33. Output Bestand met programma Editor • Vergelijkbaar met een tekst processor • Laat toe om tekst in te voeren • Laat toe om de tekst te bewaren in een bestand • Kent geen tekst formattering zoals tekst processor Editor

  34. Java programma bestanden • Regel: • Naam van bestand van een programma is naam-programma.java Bvb: Programma1.java

  35. Stap 2: Programma vertalen • Computer kan alleen primitieve instructies uitvoeren, instructies uit de machinetaal • Machinetaal afhankelijk van soort computer • Dus vertaalslag nodig van Java naar machinetaal

  36. Input Output Programma Machine Code Vertalen van programma’s • Compiler • vertaalt programma naar machinetaal instructies (machine code) Compiler

  37. Input Output Programma “De programma uitvoer” Vb. Hallo iedereen Vertalen van programma’s (2) • Interpreter • Voert de programma instructies uit door middel van machinetaal instructies Interpreter

  38. Java bytecode bestand Java Programma bestand Vertalen van Java programma’s • Combinatie van compiler en interpreter • Java compiler vertaalt Java programma niet naar machinetaal maar naar een “neutrale” soort van machinetaal, Java byte code genoemd Java Compiler

  39. Java bytecode bestand “De programma uitvoer” Vb. Hallo iedereen Stap 3: Vertaling uitvoeren • Java byte code kan niet direct uitgevoerd worden • Interpreter nodig Java byte code Interpreter

  40. Java Bestand X.java Het programma invoeren Java bytecode Bestand X.class Het programma compileren Het programma uitvoeren “De programma uitvoer” Dus alles samen Java Editor Java Compiler Java byte code Interpreter

  41. Voordelen • Java byte code is niet machine afhankelijk • Dus compiler niet machine afhankelijk • Java byte code interpreters eenvoudiger dan Java interpreters

  42. Hoofdstuk 2: Objecten nader bekeken

  43. Referentie naar een object Object MijnAuto Object Toestand Kleur: blauw Merk: Opel Nummerplaat: ARJ775 Gedrag Rijden Remmen Toeteren Referenties en objecten “Het object MijnAuto” is eigenlijk een afkorting van “het object waarnaar MijnAuto refereert”

  44. Identifiers • Naam van een klasse start met een hoofdletter, bvb. PrintStream • Naam van methode start met kleine letter, bvb. println • Alle andere letters zijn kleine letters, behalve indien naam bestaat uit meerdere woorden, bvb. printStream

  45. methodenaam argument Formaat van methoden • methodenaam(argument-1, argument-2, ...) • methodenaam(argument) • methodenaam() println(“Java”)

  46. Methode print Methode print voor de klasse PrintStream • Geen nieuwe lijn na afdrukken van het argument: System.out.print(“Ja”) System.out.print(“va”)

  47. Object: instance van de klasse String “hello” “hello” Strings • Een string is een opeenvolging van karakters (letters, cijfers, leestekens, …) Bvb. “Welkom iedereen” • In Java wordt de string zelf gebruikt om naar een string object te refereren.Dit zijn String Constanten

  48. De klasse String • Methoden van String • Wijzigen de ontvanger (object) niet • Geven steeds een referentie naar een nieuw String object terug Bvb:toUpperCase() • Geen argumenten • Bvb: “ibm”.toUpperCase() ; • “IBM” reference naar nieuw String object • System.out.println(“ibm”.toUpperCase());

  49. Signatuur en prototype • Signatuur van een methode • Naam methode en beschrijving van de argumenten • vb: klasse PrintStream methode println argumenten: referentie naar String object

  50. Signatuur en prototype (2) • Prototype van een methode • Signatuur en beschrijving van de “return” waarde • vb1: klasse PrintStream methode println argumenten: referentie naar String object return waarde: geen • vb2: klasse String methode toUpperCase argumenten: geen return waarde: referentie naar String object