For faster navigation, this Iframe is preloading the Wikiwand page for J Sharp.

J Sharp

J# (uitgesproken als J sharp) is Microsofts implementatie van Suns Java. J# is in feite een kopie van Java, zodat het voor Java-programmeurs eenvoudig is hun bestaande Java-applicaties over te zetten naar het .NET-framework. Dit geldt echter niet voor gebruikte Java-utilityklassen. Het sterke van J# is dat het zowel met Java bytecode (door de compiler gegenereerde code die wordt uitgevoerd door een virtuele machine) als met Java-broncode zelf overweg kan. Dit eerste is een groot voordeel als de originele broncode niet (meer) beschikbaar is.

Er is voor J# minder achtergrondinformatie voorhanden dan voor C# of VB.NET. J# heeft echter toegang tot alle functionaliteit die in de CLR (Common Language Runtime) geboden wordt. Als er slechts Java bytecode hoeft worden uitgevoerd, dan is IKVM.NET (een Java-framework dat boven op het .NET-framework draait) een goed alternatief.

Verschillen tussen J# en Java

[bewerken | brontekst bewerken]

In het algemeen is de syntaxis hetzelfde, maar er zijn in J# bepaalde aanpassingen gedaan om de functionaliteit van .NET te ondersteunen. Standaard ondersteunt Java geen property's; om toch deze functionaliteit te bieden moeten getters en setters in J# aan bepaalde voorwaarden voldoen.

Voorbeeld van een klasse met een setter en een getter:

 public class property
 {
    private String naam;

    /** @property
    */
    public void set_Naam(String naam)
    {
       this.naam = naam;
    }

    /** @property
    */
    public String get_Naam()
    {
       return this.naam;
    }
 }

Zoals hierboven moet een property voorzien zijn van het sleutelwoord property in Javadoc-stijl, dus met een @ ervoor. Verder moeten de functies beginnen met get_ en set_, en moet de variabelenaam zoals die gebruikt wordt in de functie verschillen met de variabele naam zoals die binnen de klasse gedefinieerd is. De namen van de functies die bij dezelfde property horen, moeten hetzelfde zijn om lees- en schrijffunctionaliteit te verkrijgen, maar om een property bijvoorbeeld alleen-lezen te maken kan de setter weggelaten worden.

Een aantal verschillen met Java zijn dat J# niet compileert naar Java-bytecode, dat het ontwikkelen van Java-applets niet wordt ondersteund, en ook niet de mogelijkheid om Java-applets uit te voeren in een webbrowser. Als laatste worden de Java Native Interface en de Raw Native Interface vervangen door P/Invoke, en wordt het gebruik van remote method invocation niet ondersteund.

Indien een priemgetal, geef de delers weer:

private void button1_Click(Object sender, System.EventArgs e)
{
      boolean priem = true;
      String strGetal, delers = "";
      double dblGetal;
      int deler = 2;

      // Inlezen van tekstbox
      textBox1.SelectAll();
      strGetal = textBox1.get_SelectedText();
      dblGetal = System.Convert.ToDouble(strGetal);
	
	// Werkwijze :
	// we delen het getal door een deler.
	// Indien de rest van deze deling 0 is, hebben we niet te
	// maken met een priemgetal en onthouden we de deler.
	// We voeren dit uit voor delers gaande van 2 tot de helft
	// van het deeltal.
	// indien we op het einde nog steeds geen rest = 0 hebben
	// gevonden, is het een priemgetal
      while (deler <= dblGetal / 2) {
      	double rest = dblGetal % deler;
            if (rest == 0) {
            	priem = false;
                delers += System.Convert.ToString(deler) + ", ";
            }
            deler++;
 	}

      if (priem) {
            label2.set_Visible(false);
            label3.set_Visible(true);
            label4.set_Visible(true);
            delers = "De delers zijn 1, " + strGetal;
            label4.set_Text(delers);
      } else {
            label2.set_Visible(true);
            label3.set_Visible(true);
            label4.set_Visible(true);
            delers = "De delers zijn 1, " + delers + strGetal;
      	label4.set_Text(delers);
      }
  }
{{bottomLinkPreText}} {{bottomLinkText}}
J Sharp
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?