Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> Java Programming >> Content
Hoe je je eigen zonnestelsel te bouwen in Java
Modelleren van een zonnestelsel in Java , naast plezier , is een goede oefening om te illustreren en te oefenen denken in termen van een aantal basisbegrippen in Object Oriented Design ( OOD ) , vooral overerving en polymorfisme . U kunt OOD concepten leren met een eenvoudige opbouw - je-eigen zonnestelsel model . Wat je nodig hebt
Computer
Java Software Development Kit ( SDK ) op tekst -editor of Java Integrated Development Environment ( IDE )
Toon Meer Aanwijzingen
1 < br > 2

Maak GravityObject abstracte klasse . U wilt uw GravityObject creëren als een abstracte klasse . Waarbij een klasse abstract te worden in Java geeft aan de compiler dat we willen deze klasse te dienen als een model om te worden gebruikt door andere klassen , maar de klasse mag niet worden gemaakt zelf . Dit is zinvol voor het zonnestelsel voorbeeld : er is niet zoiets als een " GravityObject " , maar er zijn dingen zoals planeten en sterren , die zijn objecten die zijn en worden beïnvloed door de zwaartekracht . Je schrijft alleen de programmering voor het een keer . In Object Oriented Design , wordt deze eigenschap heet Inheritance

Type
dit in uw GravityObject bestand :

openbare abstracte klasse GravityObject
{ double Xposition ; double yPosition ; double degreeInOrbit , dubbele distanceFromParent ;
.

GravityObject ( ) { this.distance = 0 ; }

GravityObject
( dubbele afstand ) { this.distance = afstand ; } }
p Dit is een eenvoudig voorbeeld , dus je zult alleen de x en y posities van het object , met de afstand van zijn ouder en een variabele graad . Je zou een andere abstracte klasse , 3DGravityObject of RelativisticGravityObject later te creëren , en heb het erven van dit object . Dit zal u toelaten om de details toe te voegen voor de dingen die veranderen .
3

Maak de OrbitalSystem abstracte klasse . Deze klasse zal ook abstract , maar zal meer geavanceerd dan de GravityObject klasse

import java.util.ArrayList
; .

Openbare abstracte klasse OrbitalSystem
breidt GravityObject { private ArrayList kinderen = new ArrayList ( ) ; //objecten binnen het systeem . Zij zullen baan om de bovenliggende

public void add
( GravityObject kind ) { children.add ( kind ) ; } .

Public void teek
( ) { for ( int x = 0 ; x < children.size ( ) ; x + + ) { GravityObject stroom = children.get ( x ) ; current.degree + = 1current.xPosition = this.xPosition + Math.cos ( degree/180 * Math.PI ) * current.distance ; huidige . yPosition = this.yPosition - Math.sin ( degree/180 * Math.PI ) * current.distance ; } ( zie referenties 2 ) op

} }

de klasse breidt de GravityObject klasse . De ArrayList bevat alle GravityObjects , en zijn variabele prive verklaard zodat u kunt dwingen andere klassen om de functie toe te voegen gebruiken , zodat alleen GravityObjects kan worden toegevoegd aan de array . Dit illustreert twee andere belangrijke OOD concepten naast erfenis. De eerste is data verbergen : door het afdichten van het weg , heb je ervoor gezorgd dat andere delen van het programma niet kan openen het en zet ongeldige gegevens in. De tweede is polymorfisme , die ons in staat stelt om te verwijzen naar een object met behulp van niet alleen zijn eigen naam , maar de naam van een van de voorouders . Dit zorgt voor een grote mate van flexibiliteit in het schrijven van code .
4

Schrijf planeet en ster klassen . Aangezien het grootste deel van het werk is gedaan in de abstracte OrbitalSystem en GravityObject klassen , zal de Planet en Star lessen zijn eenvoudig

public class Star
breidt OrbitalSystem { } ; .

En verkopen

public class Planet breidt GravityObject { } ;
5

Schrijf hoofdklasse . Uw belangrijkste functie moet er als volgt uitzien :

public static int main ( String [ ] args ) op { Star s = nieuwe Star ( ) ; //Maak een nieuwe star.s.add (nieuw Planet ( 20 ) ) ; //Voeg een planeet om de ster van de orbitale systeem dat draait op een afstand van 20 units.s.add (nieuw Planet ( 66 ) ) ; //Voeg een planeet om de ster van de orbitale systeem dat draait op een afstand van 66 eenheden .

while (true ) { s.tick ( ) ; } }



Dit zal een ster en twee cirkelende planeten te creëren , en zal hen in beweging < . br >

Previous: Next:
  Java Programming
·Wat zijn Applets ? 
·Hoe de som van de gehele getal…
·Hoe te Hours converteren naar …
·Hoe maak je een Gesigneerd App…
·Hoe kan ik items Into een wink…
·Soorten Multitasking in Java T…
·Hoe maak je een woord in een z…
·Hoe maak je een switch gebruik…
·Hoe controleert de Java Runtim…
  Related Articles
Hoe maak je een Combo Box Maak in Visual…
Hoe maak je een Check Box Maak in Visual…
Hoe maak je een tekstvak maken in Visual…
Hoe maak je een optie Box in Visual Basi…
Hoe maak je een schijf keuzelijst in Vis…
Hoe kan ik een keuzelijst maken in Visua…
Hoe kan ik een Picture Box Maak in Visua…
Hoe een bestand keuzelijst Maak in Visua…
Hoe kan ik een afbeelding Box Maak in Vi…
  Programmering Articles
·Hoe maak je een Comma Separated String C…
·Hoe maak je een dropdown lijst met behul…
·Microsoft Visual FoxPro 9.0 Tutorial 
·Hoe je Input Time Into MySQL 
·Hoe maak je een hex- bestand met ANSI Le…
·Hoe maak je een Aanpasbare website 
·Hoe maak je Voeg een Light Show om uw fo…
·Hoe te Ongeldige Class ID Referenties wi…
·Hoe te FileReader Krijg een gids in Java…
Copyright © Computer Kennis http://www.nldit.com