Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> Java Programming >> Content
    Hvordan bygge din egen Solar System i Java
    Modellering et solsystem i Java , foruten å være morsomt , er en god øvelse for å illustrere og øve tenke i form av noen grunnleggende begreper i objektorientert design ( OOD ) , spesielt arv og polymorfisme . Du kan lære OOD konsepter med en enkel bygge - din -egen solsystem modell. Du trenger
    Computer
    Java Software Development Kit ( SDK )
    tekst editor eller Java Integrated Development Environment ( IDE )
    Vis flere instruksjoner
    1
    2

    Lag GravityObject abstrakt klasse . Det er lurt å lage din GravityObject som en abstrakt klasse . Å erklære en klasse var abstrakte i Java indikerer til kompilatoren at vi ønsker denne klasse for å tjene som en modell for å bli brukt av andre klasser , men innenfor samme klasse ikke opprettes selv. Dette er fornuftig for solsystemet eksempel : det finnes ikke noe slikt som en " GravityObject " , men det er ting som planeter og stjerner , som er gjenstander som har og er påvirket av tyngdekraft . Du bare skriver programmeringen for det en gang. I objektorientert design , er denne egenskapen som heter Arv

    Type dette inn i din GravityObject fil : en

    public abstract class GravityObject {double xPosition ; dobbel yPosition , dobbelt degreeInOrbit , dobbelt distanceFromParent ;
    .

    GravityObject ( ) { this.distance = 0 ;}

    GravityObject ( dobbel avstand ) { this.distance = avstand ;} }
    p Dette er et enkelt eksempel , så du vil bare bruk av X og Y posisjonene av objektet , sammen med avstanden fra den overordnede og en variabel grad . Du kan senere opprette en abstrakt klasse , 3DGravityObject eller RelativisticGravityObject , og arve det har fra dette objektet . Dette vil tillate deg å legge detaljene for ting som endring.
    3

    opprette OrbitalSystem abstrakt klasse . Denne klassen vil også være abstrakt , men vil være mer sofistikert enn den GravityObject klassen

    import java.util.ArrayList ; .

    Public abstract class OrbitalSystem strekker GravityObject { private ArrayList barn = new ArrayList ( ) ; //objekter i systemet. De vil gå i bane rundt den overordnede

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

    Public void tick ( ) { for ( int x = 0 ; x < children.size (); x + + ) { GravityObject current = children.get ( x ) ; current.degree + = 1current.xPosition = this.xPosition + Math.cos ( degree/180 * Math.PI ) * current.distance , aktuell . yPosition = this.yPosition - Math.sin ( degree/180 * Math.PI ) * current.distance ;} ( se referanser 2 )

    } }

    klassen utvider GravityObject klasse . ArrayList inneholder alle GravityObjects , og erklærte sin variable privat, slik at du kan tvinge andre klasser å bruke funksjonen add , noe som sikrer at bare GravityObjects kan legges til matrisen . Dette illustrerer to andre viktige OOD konsepter i tillegg til arv . Den første er data gjemmer seg : ved å forsegle den bort , har du sørget for at andre deler av programmet ikke kan få tilgang til den og sette ugyldig informasjon inn i den. Den andre er polymorfisme , som tillater oss å referere til et objekt ved hjelp av ikke bare egne navn , men navnene på noen av sine forfedre. Dette gir en stor grad av fleksibilitet i å skrive kode .
    4

    Skriv planet og stjerne klasser . Siden det meste av arbeidet er gjort i det abstrakte OrbitalSystem og GravityObject klasser , vil Planet og Star klassene være enkle

    public class stjerne strekker OrbitalSystem { }; .

    Og selg < p> public class Planet strekker GravityObject { };
    5

    Skriv viktigste klassen . Din viktigste funksjon skal se ut som følgende:

    public static int main ( String [] args ) { stjerne s = new Star ( ), //Opprett en ny star.s.add ( ny Planet ( 20 ) ), //Legg til en planet til stjernens bane system som går i bane i en avstand på 20 units.s.add ( ny Planet ( 66) ), //Legg til en annen planet til stjernens bane system som går i bane i en avstand på 66 enheter .

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

    }
    p Dette vil skape en stjerne og to bane rundt planeter , og vil sette dem i bevegelse < . br >

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan finne et maksimalt antall i Java 
    ·Hvordan Stopp WEBrick på NetBeans 
    ·Forskjellen mellom egendefinerte JSP Tags & Beans 
    ·Hvordan skrive min egen Exception Handler i Java 
    ·Hvordan å matche et String i en Array Bruke Java 
    ·Hvordan bygge en enkel klokke for en Android i Eclipse 
    ·Slik starter en Java applet Med utklippstavlen 
    ·Opplæring for programmering Java API Sound 
    ·Hvordan lage Java Knapper samme størrelse 
    ·Hvordan få Lengde av en boolsk Array i Java 
      Anbefalte artikler
    ·Hvordan initialisert variabler i C 
    ·Slik formaterer å skrive ut i Fôret -Up kolonner i Ja…
    ·Hvordan å kompilere C Prosjekter 
    ·Hvordan åpne en enkel IMAP -tilkobling Med PHP 
    ·Hvordan oppdatere en markør ved hjelp av COBOL 
    ·Hvordan lage en FLV Preloader i AS3 
    ·Hvordan endre GridView Fokus på My Android 
    ·Hvordan sette ListView Headers i et Notepad hjelp VB6 
    ·Hvordan lage en C # Class Library DLL hjelp av Visual S…
    ·. Hvordan du oppgraderer en bane fra VB6 til Net 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/