Samenvatting van de concepten



Dovnload 46.35 Kb.
Datum27.08.2016
Grootte46.35 Kb.

Samenvatting van de concepten





Abstracte klasse

Een klasse waar geen instanties van gemaakt worden, dient als superklasse en kunnen abstracte methodes bevatten

Abstracte methode

Methodeargument zonder methodebody

Abstracte subklassen

Subklasse van een abstracte superklasse kan enkel concreet worden als deze implementaties bevat voor alle geërfde abstracte methodes, anders zal ze zelf abstract zijn

Abstractie

Mogelijkheid om informatie van onderdelen te negeren om aandacht te richten op een hoger niveau

Acces Modifiers

Definiëren de zichtbaarheid van een veld/constructor/methode: public/private/protected

Accessor

Retourneren info over toestand

Afhankelijkheid

Onderlinge verbondenheid van klassen, streven naar zwakke afhankelijkheid waarbij elke klasse grotendeels onafhankelijk is

Array

Bevat een onveranderlijk aantal elementen

Assertion

Expressie voor een voorwaarde waarvan we wachten dat ze waar is, als ze niet waar blijkt te zijn, is de assertion mislukt

Bereik

Bereik van variabele: dat deel van de broncode waauit de variabele kan benaderd worden

Bibliotheekdocumentatie

Documentatie bij een standaardklassebib

Boolean expressie

Twee mogelijke waarden: true/false

Broncode

Bepaalt structuur en gedrag van objecten

Cohesie

Hoe goed een stuk code verwijst naar een logische taak of entiteit, streven naar sterke cohesie

Collectie

Kunnen een willekeurig aantal andere objecten bevatten

Commentaar

Leesbaarheid van broncode verhogen

Conditioneel statement

1 van 2 mogelijke acties uitvoeren na een test

Constructor

Object juist instellen bij aanmaak

Debuggen

Oorzaak van een fout opsporen en verhelpen

Debugger

Programmeerfouten opsporen

Design pattern

Omschrijving van een vaak voorkomend automatiseringsprobleem en, een omschrijving van een klein aantal klassen en hun onderlinge relaties waarmee dat probleem opgelost kan worden

Documentatie

Informatie over een klasse en het gebruik ervan

Doorlopen

Broncode regel per regel bekijken en veranderingen in toestand bekijken

Duplicering van code

Kenmerk van slecht ontwerp

Dynamisch type

Het type van het object dat opgeslagen is in een variabele

Externe methodeaanroep

Een methode vanuit een ander object aanroepen

Fixture

Set objecten in een vooraf gedefinieerde toestand die dient als basis voor unittests

Header

Header van een methode bevat nodige info om methode toe te passen

Hergebruik

Met overerving kunnen we eerder geschreven klassen in een nieuwe context opnieuw gebruiken

Herschikken

Structuur van eens bestaand ontwerp aanpassen om een goed ontwerp te houden wanneer de toepassing gewijzigd of uitgebreid wordt

Implementatie

Complete broncode

Inkapseling

Goede inkapseling in klassen zorgt voor verminderde afhankelijkheid en een beter ontwerp

Interface

Beschrijft wat een klasse doet en hoe deze kan worden gebruikt

Interface

Specificatie van een type in de vorm van een typenaam en een stel methodes, dat geen implementatie voor de methodes definieert

Interne methodeaanroep

Een methode vanuit dezelfde klasse oproepen

Iterator

Alle objecten in een collectie opsporen

Java-bibliotheek

Standaardklassebib van Java bevat vele handige klassen

Klasse

Objecten worden gemaakt uit klassen, die de aard van het object beschrijven.

Klassecohesie

Coherente klasse vormt 1 goed omschreven entiteit

Klassediagram

Alle klassen van een toepassing en hun relaties, statisch beeld

Klassen definiëren types

Klassenaam is het type van de objecten van die klasse

Klassevariabelen, static variabelen

= velden, er bestaat exact 1 exemplaar onafhankelijk van het aantal instanties

Levensduur

Hoe lang de variabele zal bestaan voor ze wordt vernietigd

Lokale variabele

Variabele die binnen 1 methode gedeclareerd worden, bereik en levensduur is die van de methode

Lus

Reeks statements opnieuw uitvoeren zonder dupliceren

Map

Verzameling sleutel/waarde-paren

Meervoudige overerving

Wanneer een klasse van meer dan 1 superklasse erft

Methode

Om objecten te manipuleren

Methode

Twee delen: header en body

Methodeaanroepen

Communicatie tussen objecten

Methodecohesie

Coherente methode is verantwoordelijk voor exact 1 welbepaalde taak

Modularisatie

Een probleem in goed gedefinieerde delen opsplitsen die afzonderlijk kunnen ontwikkeld en bekeken worden

Mutator

Wijzigen toestand

Negatief testen

Testen van gevallen die volgens verwachting niet moeten werken

Null

= ‘geen object’

Object

Java-objecten ~ elementen waarin een probleem kan worden opgesplitst

Object

Alle klassen zonder expliciete superklasse hebben de klasse ‘Object’ als superklasse

Objectdiagram

Objecten en onderlinge relaties op een bepaald moment in de uitvoering, dynamisch beeld

Objecten maken

Objecten kunnen andere objecten maken mbv ‘new’

Objectverwijzingen

Variabelen van objecttypes slaan verwijzingen op naar objecten

Ontwerpen op basis van verantwoordelijkheden

Klassen gedefinieerd met afgebakende verantwoordelijkheid

Onveranderlijk

Object : onveranderlijk als de toestand niet veranderd kan worden na aanmaak

Overerving

Een klasse wordt gedefinieerd als uitbreiding van een andere klasse

Overervinghiërarchie

Klassen die door overerving met elkaar verbonden zijn

Overladen

Een klasse kan verschillende constructors/methodes met dezelfde naam bevatten zolang ze maar andere parametertypes hebben

Overschrijven

Subklasse kan de implementatie van een methode van de superklasse overschrijven als de methode dezelfde header heeft als die in de superklasse maar een ander body, deze nieuwe methode heeft een hogere prioriteit

Parameter

Aanvullende informatie over een bepaalde taak

Polymorfisme van methodes

Methodeaanroepen zijn polymorf omdat dezelfde methodeaanroep op verschillende tijdstippen (en verschillende toestand) verschillende methodes aanroepen afhankelijk van het dynamische type van de gebruikte variabele

Positief testen

Testen van gevallen die volgens verwachting wel moeten werken

Primitieve types

Alle types die geen objecttype zijn, hebben geen methodes

Println

System.out.println(“”) drukt param, af naar tekstvenster

Prototypes

Versie van een systeem waarin sommige functies van de toepassing nog niet volledig zijn een daarom gesimuleerd worden. Dit om in een vroeg stadium inzicht te krijgen in de werking

Resultaat

Info retourneren

Scenario’s = use cases

Gebruikt om interacties in een systeem inzichtelijk te maken

Set

Collectie waarin elk element 1 keer kan voorkomen, geen bepaalde volgorde

Statisch type

Het type van een variabele zoals dat is gedeclareerd in de broncode in het declaratiestatement van de variabele

Subklasse

De klasse die een superklasse uitbreidt. De subklasse erft alle velden en methodes van de superklasse

Substitutie

Subtypeobjecten kunnen gebruikt worden wanneer er objecten van een supertype verwacht worden

Subtypes

Type dat door subklasse gedefinieerd wordt is een subtype van het type van de superklasse

Superklasse

De klasse die uitgebreid wordt met een andere klasse

Superklasseconstructors

Consturctor van een subklasse moet altijd de constructor van de superklasse als eerste statement aanroepen

Testen

Controleren of een stuk code het bedoelde gedrag vertoont

Toekenning

Waarde aan de rechterkant van het statement opslaan in de variabele aan de linkerkant

Toestand

Toestand van een object, gekenmerkt door waarden in een veld op te slaan

toString

Elk object heeft een methode toString om een stringrepresentatie te retourneren

Type

Parameters hebben een type, de soorten waarden die de parameter kan aannemen

Variabelen en subtypes

Variabelen kunnen objecten van hun gedeclareerde type bevatten, of van een subtype van het gedeclareerde type

Veld

= instantievariabelen. Bevatten gegevens van een object

Verbergen van informatie

Belangrijk voor modularisatie

Verschillende Instanties

Verschillende gelijksoortige objecten van 1 klasse

Wijzigingen traceren

Goed klasseontwerp -> makkelijk wijzigingen traceren: elke wijziging heeft minimaal effect op andere klassen




De database wordt beschermd door het auteursrecht ©opleid.info 2019
stuur bericht

    Hoofdpagina