Programmeren in Java/Package: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
DimiC88 (overleg | bijdragen)
k niet juist gekopieerd.
DimiC88 (overleg | bijdragen)
Geen bewerkingssamenvatting
Label: bewerking met nieuwe wikitekstmodus
Regel 1:
{{Programmeren in Java|Deel=Klassen}}
Hoe meer je programmeert, hoe groter je programma wordt en hoe groter je programma wordt hoe meer klassen je schrijft. Na een tijd ga je zien dat je véél klassen hebt en dat het onoverzichtelijk wordt. Grote programma's kunnen honderden of zelfs duizenden klassen hebben. Daarnaast hebben die klassen misschien weinig met elkaar te maken. Je hebt misschien klassen zoals ''Car'' en ''Bus'' die wel gelijkaardig zijn, maar daarnaast heb je misschien ook klassen genaamd ''Animal'', ''Dog'' en ''Cat'' of nog abstractere klassen zoals ''DatabaseConnection'' en die hebben dan weinig met elkaar te maken. Dan wil je graag op één of andere manier overzichtelijk kunnen bijhouden. Dit kun je in java doen, net zoals alle bestanden op je computer, door ze sorteren in mappen. In java worden die mappen echter ''packages'' genoemd.
Een klasse bevindt zich in een package. Zo bevindt Random zich in het package java.util en kan op een van volgende manieren aangegeven worden waar de compiler deze klasse kan vinden.
<syntaxhighlight lang=java>
import java.util.*;
import java.util.Random;
</syntaxhighlight>
 
==Package declareren==
Alle packagenamen worden met kleine letters geschreven en moeten uniek zijn. Bovendien verwacht de compiler dat de onderdelen een afspiegeling zijn van de opslag op het filesysteem. Zo bevindt de map util zich in de directory java. Sommige IDE's, zoals de gratis NetBeans, maken automatisch deze mappen aan.
Stel je hebt volgende klasse ''Car''.
<syntaxhighlight lang=javaJava>
public class Car {
 
// Je programmacode voor een Car.
Soms worden voor packagenamen, die uniek moeten zijn, omgekeerde URL-domeinnamen genomen. bvb. ''org.wikibooks.nl''
}
</syntaxhighlight>
 
Je wilt deze voortaan bewaren in een map specifiek bedoelt voor voertuigen, dan kun je in je project een map ''vehicles'' aanmaken en je bewaard of verplaatst deze klasse in die map. Dan kun je de ''package'' declareren door het sleutelwoord ''package'' te gebruiken bovenaan je klasse en de ''package''-naam te vermelden, de ''package''-naam is de naam van de map die je hebt aangemaakt.
Het CLASSPATH geeft de plaats van de hoofdmap aan. <!-- .; laten staan --> vb. .;C:\programs\java\packages\
* In windows kan je de waarde van deze variabele instellen via: Deze computer/My computer >Eigenschappen/Properties >Geavanceerd/Advanced >Omgevingsvariabelen/Environment variables; meerdere paden kunnen gecombineerd worden door er een puntkomma tussen te plaatsen.
* In Linux bevat het opstartscript of het .cshrc-bestand volgend commando: Setenv classpath '.;pad'
 
<syntaxhighlight lang="dos"Java highlight=1>
===.jar===
package vehicles;
Om zelf een klasse in een samengeperst package, een ''[[w:.jar|java archive]]'' of kortweg ''jar'' te zetten, kunnen we gebruik maken van volgende code (uit te voeren in een DOS-commandoregel):
 
public class Car {
<syntaxhighlight lang="dos">
 
java -jar programma.jar
// Je programmacode voor een Car.
}
</syntaxhighlight>
 
 
De inhoud kan zoals een gewone [[w:.zip|.zip]]-file bekeken worden met bvb. [[w:WinZip|WinZip]], maar kan er niet mee aangemaakt worden, omdat er naast de [[w:.class|.class]]- en [[w:.java|.java]]-bestanden ook nog een bestand met de naam ''[[w:en:Manifest file|MANIFEST.MF]]'' gemaakt wordt.
Als je een goede IDE hebt en je maakt een klasse aan of verplaatst een bestaande klasse in een map, dan zal die zelf de package declareren.
 
==Een klasse van een package importen==
 
==Een package importen met een wildcard==
 
==Meerdere klassen met dezelfde naam importeren en gebruiken==
 
==Naamgeving==
 
{{sub}}
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.