Klassen en interface worden gedeclareerd in een andere klasse/interface. Vermeiden Altijd static



Vergelijkbare documenten
Vakgroep CW KAHO Sint-Lieven

INFITT01 - Internettechnologie WEEK 8

SYNTRA-WEST. Initiatiecursus JAVA. Deel

Technisch Ontwerp W e b s i t e W O S I

Zelftest Java concepten

Zelftest Inleiding Programmeren

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET

public Bier ( string N, double P, Brouwerij B) { Naam = N; AlcoholPerc = P; Brouwer = B;

Zelftest Programmeren in Java

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.


VAN HET PROGRAMMEREN. Inleiding

Tentamen Object Georiënteerd Programmeren TI oktober 2014, Afdeling SCT, Faculteit EWI, TU Delft

Programmeren in Java les 3

Sima. Programmeren. 2e graad

VAN HET PROGRAMMEREN. Inleiding. Het spiraalmodel. De programmeertaal. vervolgens de berekening van het totale bedrag, incl. BTW:

Powerpoint presentatie College 5 Gilbert van Lierop & Farshad Salamat

Zelftest XML Concepten

Informatie & Databases

Ontwerp van Informatiesystemen

Programmeren: Visual Basic

Open SQL Server Management Studio en log in als Administator. Je ziet dan wat je in figuur 2.1 ziet.

return an ; } private I L i s t l i j s t ;

Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden.

Het besturingssysteem of operating system, vaak afgekort tot OS is verantwoordelijk voor de communicatie van de software met de hardware.

Object Oriented Programming

Programmeren in Java 3

Voor de database wordt een Access 2000 bestand gebruikt, met voorlopig 1 tabel:

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous

Java. Basissyllabus. Egon Pas

Inleiding Visual Basic en VBA. Karel Nijs 2009/01

Online c++ leren programmeren:

ECTS fiche. Module info. Evaluatie. Gespreide evaluatie OPLEIDING. Handelswetenschappen en bedrijfskunde HBO Informatica

Tentamen Object Georiënteerd Programmeren TI januari 2013, Afdeling SCT, Faculteit EWI, TU Delft

Dynamische webapplicaties in Java

Klassen & objecten, overerving, abstracte klassen, debuggen, interfaces, formulieren, polymorfie, statische methoden, event-handlers

Hoofdstuk 1: Inleiding. Hoofdstuk 2: Klassen en objecten Datahiding: afschermen van implementatiedetails. Naar de buitenwereld toe enkel interfaces.

Dynamiek met VO-Script

eerste voorbeelden in Java

IMP Uitwerking week 13

Software architectuur

Syntra-West. Syntra-West Doorniksesteenweg Kortrijk Tel. 056/ Fax 056/

Technische nota AbiFire Rapporten maken via ODBC

Programmeren in C ++ met wxwidgets les 5

Zelftest Informatica-terminologie

9. MYSQL. Daarin zien we het administratie paneel van mysql.

Wat is een grafische gebruikersinterface (GUI)?

Een stoomcursus door Edgar de Graaf, november 2006

Wat is JAVA? Peter van Rijn

Building rich user interfaces in Java

Technisch ontwerp. Projectteam 6. Project "Web Essentials" 02 april Versie 2.1.0

Portability, Interoperability of toch maar Connectivity Portability, Interoperability of toch maar Connectivity.

Studiewijzer Keuzedeel Verdiepingsoftware (AO)

INHOUDSOPGAVE Het Boekenwinkeltje Registreer.aspx Opgaven... 97

Variabelen en statements in ActionScript

Sparse columns in SQL server 2008

Javascript oefenblad 1

Installatie SQL: Server 2008R2

Copyright IBS Nieuwbouw. Vereenvoudigd en versnelt Java ontwikkeling. Huub Cleutjens

Overerving & Polymorfisme

Tentamen Imperatief en Object-georiënteerd programmeren in Java voor CKI

APPLICATIEBOUW 1E COLLEGE: INTRODUCTIE. Onderdeel van SmartProducts

Kleine cursus PHP5. Auteur: Raymond Moesker

1e college Introductie Applicatiebouw. Applicatiebouw{ } Onderdeel van SmartProducts

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

Angular Best Practices Door Alex en Chris van Beek

Capita Selecta Design Patterns voor administratieve applicaties

inhoudsopgave Dankbetuiging 13 Inleiding 15

Programmeren met databanken volgens het lagenmodel in C#

Session Beans.

HBO5 Informatica Netwerkbeheer (90 studiepunten) In deze module leer je projecten op te stellen en te programmeren in de VB.NET-omgeving.

Programmeerstructuren met App Inventor

Selenium IDE Webdriver. Introductie

Inleiding programmeren

i ll take off to the cloud

Formulieren en waarden posten naar een view

6,1. Samenvatting door een scholier 1809 woorden 28 oktober keer beoordeeld. Informatica

Mijn eerste ADO.NET applicatie

Correspondentie inzake overnemen of reproductie kunt u richten aan:

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

APPLICATIEBOUW 1E COLLEGE: INTRODUCTIE. Onderdeel van SmartProducts

Programmeren: Visual Basic

Tentamen Objectgeorienteerd Programmeren IN1205 Voorbeeld

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin:

4 ASP.NET MVC. 4.1 Controllers

Tentamen Inleiding Programmeren (IN1608WI), 2 februari 2012, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.

Programmeren met databanken volgens het lagenmodel in C#

Interactief, real time security management

Opdracht 7a. Applicatiebouw 2014/2015

Nog even snel kleine issues oplossen

1.7 Ontleding van het eerste programma... 14

Beheer van databanken

BEFDSS. Het Belgische uitwisselingsformaat voor onderzoekgegevens afkomstig van visueel rioolonderzoek. 1/12/ / 6

Informatie Systeem Ontwikkeling ISO 2R290

PHP-OPDRACHT SITE BOUWEN

Service Data Objects. Wat is SDO? Dynamic data API

Acht stappen voor JSF

DataFlex 19.0 SQL Server

output management

Java virtuele machine JVM

Transcriptie:

GUI: Overerving: Klassen niet gemeenschappelijke eigenschappen. Deze eigenschappen kinnen in een meer algemene klasse worden geschreven. Vb student, docent persoon Uitbreiding van reeds bestaande klassen. Geneste klassen Klassen en interface worden gedeclareerd in een andere klasse/interface. Vermeiden Altijd static Non static nested classes = innerclass Object van innerclass is altijd geassocieerd met object van omsluitende class Local inner class Anonymous inner class Observer patroon Verschilllende Observer objecten kijken naar wijzigingen/gebeurtenissen in aantal Observerableobjecten. Vb: Temperatuur C /F /K/ Indien het object temperatuur veranderd zullen de Observers mee veranderen. Er is geen actie zolang er geen wijziging is bij de Observerable object. Public void update (observable obj, object arg) obj = object dat wijzigt arg = mogelijkheid iets extra door te gaven van observable naar observers. extends observable = observer functie toevoegen in code implements observable = eigen observer maken te beginnen van de al bestaande observer

AWT Basisklasse component Container bevat component (en is een component) Heavyweight componenten: native code voor op scherm 3 stappen o Widgets, containers & layout o Eventhandlers o Display (automatisch voor applets, start thread voor opvang user interactive) Niet handig door het gebruik van native code, oplossing hiervoor is SWING SWING Voordelen bij: Veel wijzigingen in UI Dezelfde data op verschillende manieren tonen Duur en veel fouten als UI nauw verweven met functionele kern Model View Controller Model: kern data & functionaliteit View: toont informatie aan de gebruiker Controller: handelt user inputs Consistensie tussen model en UI zorgt de change propagation mechanisme.

Eventhandling AWT Even opvangen door methodes te overschrijven Voordeel Snelheid door gebruik van native code Goede browser ondersteuning Beste OS integratie Nadeel compabiliteti (native code) veel kleinere componenten set Swing Event is object en grijpt plaats in object Meerdere eventklasses (Action, Mouse,..) Handling wordt gedelegeerd naar ander object (= listener) Bij event wordt listeners gewaarschuwd Kan op elk platform Groot bereik van de componenten set Ja kan de GUI zelf configureren OS onafhankelijk extra plug in voor de browser trager, pure java lijkt niet op de native GUI van het OS C# Delegate Is een object dat een referentuie naar een methode kan bevatten Methode kan opgeroepen worden door deze referentie Analoog aan functiepointer in C/C++ Declaratie: delegate returntype delegatename(parameterlijst) Event = automatische melding dat een actie heeft plaatsgegrepen Werking: o Object dat interesse heeft in gebeurtenis registreert eventhandler o Als event optreedt: alle geregisteerde handelers worden opgeroepen o Evenhandlers worden voorgesteld door delegaties

C Variabelen en constanten Inhoud kan wijzigen tijdens het uitvoeren van het programma. Naam voor een stukje geheugen. Primitieve datatypes Int, double, char, Declaraties van variabelen en constanten #define PI 3.14159 Enumeration constant: constante weergeven door middel van nummer; lente=0 zomer=1 Operatoren Rekenkundige: ++, +, * Vergelijkings: <, <=,==,!= Logische:! (not), && (and) Toekenning: =, +=, *= Eenvoudige in/output Output: printf( getal = %d,q) met %d plaats van de integer opgeslagen in variable q Input: scanf( %d,q) Controle structuren Selectie o If o Switch o Conditionele operator Array s Herhaling o For o While o Do ( while) Groeperen van gegevens van eenzelfde datatype Elk element wordt benaderd via index In C elk element na elkaar in geheugen volgens oplopende index Eenmaal array gedeclareerd grootte niet meer aan te passen

Introspectie Mogelijkheid om bij runtime het type van het object te achterhalen. Reflectie Het process waarbij een programma zijn eigen stuctuur en gedrag kan bekijken en aanpassen. Database toegang vanuit programma s De connectie kan op verschillende manieren gebeuren: Microsoft: ODBC Java: JDBC C# (+ andere): ADO.net Object Relational Mapping (ORM) ODBC Open DataBase Connectivity, ontwikkeld door SQL. Heeft als doel om toegang te maken tot gelijk welke data tot gelijk welke toepassing. Onafhankelijk van het Database Management System (DBMS) De database driver vertaalt de dataqueries afkomstig uitde applicatie naar commando s verstaanbaar voor het DBMS. Laat programma s toe om SQL te gebruiken zonder de interface naar de databank te kennen. Nadeel: databank moet geregistreerd zijn (windows niveau)

Java & JDBC Java DataBase Connectivity Databanken toegankelijk vanuit Java. 4 mogelijkheden: JDBC ODBC bridge Java en native driver Java en middelware puur Java Voordelen JDBC: Eenvoudig Ook via netwerk, enkel URL nodig Toegang tot metadata (info over data, vb type van een kolom)

ADO.net Multi tier: gemakkelijk code op verschillende lagen van toepassing te gebruiken Nadeel: Enkel tijdelijke connecties met de databank XML based Schaalbaar Snel zeker ism SQLserver niet mogelijk wijzig dataprovider zonder code te wijzigen Native dataproviders maar voor beperkt aantal databanken beschikbaar. Dataset: Kan meer dan 1 datatable bevatten Wijzigingen worden bijgehouden Ondervragen ook mogelijk zonder databank Converteerbaar naar XML Datareader: snel ophalen van data, enkel voorwaarts doorlopen van een resultaatset Data adapter: Brug tussen dataset en databron Gebruikt commando s voor aanpassen databron als dataset wijzigd. ORM Object Relational Mapping Programma: objecten (class persoon met lijst van telefoonummers) Databank: relationeel (tabellen met enkelvoudige data) Techniek waarbij gegevens uit databases gekoppeld worden aan object georiënteerde programmatalen. Hierdoor ontstaat een soort van virtuele database die kan benaderd worden door programmeertalen. Voordeel: Nadeel: Niet bezig houden met data uit resultset te halen en in objecten te plaatsen, of bijvoorbeeld de data in de objecten in de databank te bewaren. Traag, door het automatiseert toevoegen van code is deze niet afgestemd op je databank en is er overhead.

Compileren en decompileren Compileren: Programmacode naar een formaat dat de computer verstaat. Bij java.java(tekstueel) compilen.class (binair) Interpreten: Instructies in broncode worden via parser vertaalt Voordeel: Testen gaat sneller Nadeel: programma uitvoeren trager omdat instructies telkens opnieuw worden omgezet JVM zal de.class files eerst interpreteren. Worden ze veel gebruikt dan worden ze ook omgezet. Decompileren Van binaire code (.class) java (.java) Nadeel: iedereen kan je programma dan lezen. Obfuscators; deze verduisteren de.class Indien je PC geen JVM bezit kan je ook gebruik maken van programma s die rechtstreeks omzetten naar native code. Debuggen Programma onderzoeken op fouten. Debuggen door zelf de variabelen op het scherm te plaatsen door printf of door een build in programma die de variabelen in de gaten houdt. Met breekpunten laat je je debugger de code doorlopen tot op een bepaald punt. Loggen: wordt tussen de code geplaatst. Kan je indelen in verschillende graden van belangrijkheid om zo slechte de output tot een minimum te herleiden. Wordt gebruikt om fouten op te sporen aan de hand van de handelingen door de gebruiker.

XML Wat? Markuptaal (zoals html), het toevoegen van symbolen om zo aan te geven hoe de tekst eruit ziet. Ontwikkeld om data te beschrijven en te structureren XML tags, zelf te definiëren, sommige toepassingen standaard XML <> HTML HTML toont de data terwijl XML de data beschrijft, XML daarom geen vervanger voor HTML. Waarom? Creëren/bewaren/verzenden van elektronische informatie beperkt en gecontroleerd door de gebruikte applicatie. Vb Word, excell, XML laat toe meer controle zelf uit te voeren. Voordelen: Gemakkelijke implementatie en compatibel met SGML/HTML Geleerd uit ervaringen met HTML XML is corss platform, soft hardware onafhankelijk middel voor het bewaren en versturen van informatie Bruikbaar met bestaande webprotocols (http) en mechanismes (URL) Meerdere toepassingen mogelijk (HTML te speciefiek) Gemakkelijk te verwerken door programma s (java, javascript, C++, ) Formele en korte specificatie XML documenten gemakkelijk te verstaan en te maken. Uitgebreid link mechanisme Unicode Data oriented, niet human oriented (gemakkelijk door computers te behandelen)

Validatie DTD Document Type Definition Validatie = kijken of XML document voldoen aan de beschrijvingen (=regels) volgens DTD. Doel: Well formed: conform de XML syntax Valid: Well formed + conform regels DTD. Definieren van legale bouwblokken voor XML documenten Bij het uitwissel van XML documenten tussen applicaties is er een beschrijving nodig DTD Alles wat niet specifiek is goedgekeurd wordt niet toegstaan Nadeel: te weinig datatypes Xschema Voordelen tov DTD: DTD te weinig datatyperingen DTD niet schaalbaar en uitbreidbaar Moeilijk om onafhankelijke DTD s te combineren DTD niet goed samen met namespaces XML documenten zijn Xschema s Relatie Xlink Verwijzing naar 1 of meerdere documenten via URI Xpath Taal om informatie in XML documenten te vinden en te navigeren dor de elementen en de attributen. Werkt met knopen; parent, child, broer Xpointer Verwijzing naar deel in een document (Bij HTML eerst echt nodig ankers te plaatsen) Xquery Taal om XML documenten te ondervragen. Maakt gebruik van xpath.